; LLVM IR from ERGO-Code/HiGHS :: src/test/KktCh2.ll (ZN8presolve13dev_kkt_check9KktChStep9addChangeEiiiddd)

; 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::vector.6" = type { %"struct.std::_Vector_base.7" }
%"struct.std::_Vector_base.7" = type { %"struct.std::_Vector_base<std::pair<int, double>, std::allocator<std::pair<int, double>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::pair<int, double>, std::allocator<std::pair<int, double>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::pair<int, double>, std::allocator<std::pair<int, double>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::pair<int, double>, std::allocator<std::pair<int, double>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.presolve::dev_kkt_check::KktChStep" = type { ptr, %"class.std::vector", %"class.std::vector", %"class.std::vector", %"class.std::vector", %"class.std::vector", i32, %"class.std::stack", %"class.std::stack", %"class.std::stack", %"class.std::stack", %"class.std::stack" }
%"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.std::stack" = type { %"class.std::deque" }
%"class.std::deque" = type { %"class.std::_Deque_base" }
%"class.std::_Deque_base" = type { %"struct.std::_Deque_base<std::vector<std::pair<int, double>>, std::allocator<std::vector<std::pair<int, double>>>>::_Deque_impl" }
%"struct.std::_Deque_base<std::vector<std::pair<int, double>>, std::allocator<std::vector<std::pair<int, double>>>>::_Deque_impl" = type { %"struct.std::_Deque_base<std::vector<std::pair<int, double>>, std::allocator<std::vector<std::pair<int, double>>>>::_Deque_impl_data" }
%"struct.std::_Deque_base<std::vector<std::pair<int, double>>, std::allocator<std::vector<std::pair<int, double>>>>::_Deque_impl_data" = type { ptr, i64, %"struct.std::_Deque_iterator", %"struct.std::_Deque_iterator" }
%"struct.std::_Deque_iterator" = type { ptr, ptr, ptr, ptr }

; 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 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
define dso_local void @_ZN8presolve13dev_kkt_check9KktChStep9addChangeEiiiddd(ptr noundef nonnull align 8 dereferenceable(536) %0, i32 noundef %1, i32 noundef %2, i32 noundef %3, double noundef %4, double noundef %5, double noundef %6) #2 align 2 personality ptr @__gxx_personality_v0 {
  %8 = alloca ptr, align 8
  %9 = alloca i32, align 4
  %10 = alloca i32, align 4
  %11 = alloca i32, align 4
  %12 = alloca double, align 8
  %13 = alloca double, align 8
  %14 = alloca double, align 8
  %15 = alloca %"class.std::vector.6", align 8
  %16 = alloca ptr, align 8
  %17 = alloca i32, align 4
  %18 = alloca i64, align 8
  %19 = alloca i32, align 4
  %20 = alloca i64, align 8
  %21 = alloca i32, align 4
  %22 = alloca i64, align 8
  %23 = alloca i32, align 4
  %24 = alloca i64, align 8
  %25 = alloca i32, align 4
  %26 = alloca i64, align 8
  %27 = alloca i32, align 4
  %28 = alloca i64, align 8
  %29 = alloca i32, align 4
  %30 = alloca i64, align 8
  %31 = alloca i32, align 4
  %32 = alloca i64, align 8
  %33 = alloca i32, align 4
  %34 = alloca i64, align 8
  %35 = alloca i32, align 4
  %36 = alloca i64, align 8
  %37 = alloca i32, align 4
  %38 = alloca i64, align 8
  %39 = alloca i32, align 4
  %40 = alloca i64, align 8
  %41 = alloca i32, align 4
  %42 = alloca i64, align 8
  %43 = alloca i32, align 4
  %44 = alloca i64, align 8
  %45 = alloca i32, align 4
  %46 = alloca i64, align 8
  %47 = alloca i32, align 4
  %48 = alloca i64, align 8
  %49 = alloca i32, align 4
  %50 = alloca i64, align 8
  %51 = alloca i32, align 4
  %52 = alloca i64, align 8
  %53 = alloca i32, align 4
  %54 = alloca i64, align 8
  %55 = alloca i32, align 4
  %56 = alloca i64, align 8
  %57 = alloca i32, align 4
  %58 = alloca i64, align 8
  %59 = alloca i32, align 4
  %60 = alloca i64, align 8
  %61 = alloca i32, align 4
  %62 = alloca i64, align 8
  %63 = alloca i32, align 4
  %64 = alloca i64, align 8
  %65 = alloca i32, align 4
  %66 = alloca i64, align 8
  %67 = alloca i32, align 4
  store ptr %0, ptr %8, align 8, !tbaa !5
  store i32 %1, ptr %9, align 4, !tbaa !9
  store i32 %2, ptr %10, align 4, !tbaa !9
  store i32 %3, ptr %11, align 4, !tbaa !9
  store double %4, ptr %12, align 8, !tbaa !11
  store double %5, ptr %13, align 8, !tbaa !11
  store double %6, ptr %14, align 8, !tbaa !11
  %68 = load ptr, ptr %8, align 8
  call void @llvm.lifetime.start.p0(i64 24, ptr %15) #3
  call void @_ZNSt6vectorISt4pairIidESaIS1_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %15) #3
  %69 = load i32, ptr %9, align 4, !tbaa !9
  switch i32 %69, label %828 [
    i32 171, label %70
    i32 1, label %133
    i32 2, label %221
    i32 22, label %227
    i32 3, label %286
    i32 4, label %349
    i32 5, label %379
    i32 17, label %467
    i32 6, label %555
    i32 7, label %618
    i32 11, label %681
    i32 12, label %740
    i32 121, label %828
  ]

70:                                               ; preds = %7
  %71 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 7
  %72 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3topEv(ptr noundef nonnull align 8 dereferenceable(80) %71)
          to label %73 unwind label %83

73:                                               ; preds = %70
  %74 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %15, ptr noundef nonnull align 8 dereferenceable(24) %72)
          to label %75 unwind label %83

75:                                               ; preds = %73
  %76 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 7
  invoke void @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3popEv(ptr noundef nonnull align 8 dereferenceable(80) %76)
          to label %77 unwind label %83

77:                                               ; preds = %75
  call void @llvm.lifetime.start.p0(i64 8, ptr %18) #3
  store i64 0, ptr %18, align 8, !tbaa !13
  br label %78

78:                                               ; preds = %100, %77
  %79 = load i64, ptr %18, align 8, !tbaa !13
  %80 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %15) #3
  %81 = icmp ult i64 %79, %80
  br i1 %81, label %87, label %82

82:                                               ; preds = %78
  call void @llvm.lifetime.end.p0(i64 8, ptr %18) #3
  br label %103

83:                                               ; preds = %803, %801, %798, %774, %772, %769, %745, %743, %740, %715, %713, %710, %686, %684, %681, %655, %653, %650, %626, %624, %621, %592, %590, %587, %563, %561, %558, %530, %528, %525, %501, %499, %496, %472, %470, %467, %442, %440, %437, %413, %411, %408, %384, %382, %379, %354, %352, %349, %323, %321, %318, %294, %292, %289, %261, %259, %256, %232, %230, %227, %196, %194, %191, %167, %165, %162, %138, %136, %133, %108, %106, %103, %75, %73, %70
  %84 = landingpad { ptr, i32 }
          cleanup
  %85 = extractvalue { ptr, i32 } %84, 0
  store ptr %85, ptr %16, align 8
  %86 = extractvalue { ptr, i32 } %84, 1
  store i32 %86, ptr %17, align 4
  call void @_ZNSt6vectorISt4pairIidESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %15) #3
  call void @llvm.lifetime.end.p0(i64 24, ptr %15) #3
  br label %829

87:                                               ; preds = %78
  call void @llvm.lifetime.start.p0(i64 4, ptr %19) #3
  %88 = load i64, ptr %18, align 8, !tbaa !13
  %89 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %88) #3
  %90 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3getILm0EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %89) #3
  %91 = load i32, ptr %90, align 4, !tbaa !9
  store i32 %91, ptr %19, align 4, !tbaa !9
  %92 = load i64, ptr %18, align 8, !tbaa !13
  %93 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %92) #3
  %94 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3getILm1EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %93) #3
  %95 = load double, ptr %94, align 8, !tbaa !11
  %96 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 4
  %97 = load i32, ptr %19, align 4, !tbaa !9
  %98 = sext i32 %97 to i64
  %99 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %96, i64 noundef %98) #3
  store double %95, ptr %99, align 8, !tbaa !11
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #3
  br label %100

100:                                              ; preds = %87
  %101 = load i64, ptr %18, align 8, !tbaa !13
  %102 = add i64 %101, 1
  store i64 %102, ptr %18, align 8, !tbaa !13
  br label %78, !llvm.loop !15

103:                                              ; preds = %82
  %104 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 8
  %105 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3topEv(ptr noundef nonnull align 8 dereferenceable(80) %104)
          to label %106 unwind label %83

106:                                              ; preds = %103
  %107 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %15, ptr noundef nonnull align 8 dereferenceable(24) %105)
          to label %108 unwind label %83

108:                                              ; preds = %106
  %109 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 8
  invoke void @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3popEv(ptr noundef nonnull align 8 dereferenceable(80) %109)
          to label %110 unwind label %83

110:                                              ; preds = %108
  call void @llvm.lifetime.start.p0(i64 8, ptr %20) #3
  store i64 0, ptr %20, align 8, !tbaa !13
  br label %111

111:                                              ; preds = %129, %110
  %112 = load i64, ptr %20, align 8, !tbaa !13
  %113 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %15) #3
  %114 = icmp ult i64 %112, %113
  br i1 %114, label %116, label %115

115:                                              ; preds = %111
  call void @llvm.lifetime.end.p0(i64 8, ptr %20) #3
  br label %132

116:                                              ; preds = %111
  call void @llvm.lifetime.start.p0(i64 4, ptr %21) #3
  %117 = load i64, ptr %20, align 8, !tbaa !13
  %118 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %117) #3
  %119 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3getILm0EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %118) #3
  %120 = load i32, ptr %119, align 4, !tbaa !9
  store i32 %120, ptr %21, align 4, !tbaa !9
  %121 = load i64, ptr %20, align 8, !tbaa !13
  %122 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %121) #3
  %123 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3getILm1EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %122) #3
  %124 = load double, ptr %123, align 8, !tbaa !11
  %125 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 5
  %126 = load i32, ptr %21, align 4, !tbaa !9
  %127 = sext i32 %126 to i64
  %128 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %125, i64 noundef %127) #3
  store double %124, ptr %128, align 8, !tbaa !11
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #3
  br label %129

129:                                              ; preds = %116
  %130 = load i64, ptr %20, align 8, !tbaa !13
  %131 = add i64 %130, 1
  store i64 %131, ptr %20, align 8, !tbaa !13
  br label %111, !llvm.loop !17

132:                                              ; preds = %115
  br label %828

133:                                              ; preds = %7
  %134 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 9
  %135 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3topEv(ptr noundef nonnull align 8 dereferenceable(80) %134)
          to label %136 unwind label %83

136:                                              ; preds = %133
  %137 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %15, ptr noundef nonnull align 8 dereferenceable(24) %135)
          to label %138 unwind label %83

138:                                              ; preds = %136
  %139 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 9
  invoke void @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3popEv(ptr noundef nonnull align 8 dereferenceable(80) %139)
          to label %140 unwind label %83

140:                                              ; preds = %138
  call void @llvm.lifetime.start.p0(i64 8, ptr %22) #3
  store i64 0, ptr %22, align 8, !tbaa !13
  br label %141

141:                                              ; preds = %159, %140
  %142 = load i64, ptr %22, align 8, !tbaa !13
  %143 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %15) #3
  %144 = icmp ult i64 %142, %143
  br i1 %144, label %146, label %145

145:                                              ; preds = %141
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #3
  br label %162

146:                                              ; preds = %141
  call void @llvm.lifetime.start.p0(i64 4, ptr %23) #3
  %147 = load i64, ptr %22, align 8, !tbaa !13
  %148 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %147) #3
  %149 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3getILm0EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %148) #3
  %150 = load i32, ptr %149, align 4, !tbaa !9
  store i32 %150, ptr %23, align 4, !tbaa !9
  %151 = load i64, ptr %22, align 8, !tbaa !13
  %152 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %151) #3
  %153 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3getILm1EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %152) #3
  %154 = load double, ptr %153, align 8, !tbaa !11
  %155 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 2
  %156 = load i32, ptr %23, align 4, !tbaa !9
  %157 = sext i32 %156 to i64
  %158 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %155, i64 noundef %157) #3
  store double %154, ptr %158, align 8, !tbaa !11
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #3
  br label %159

159:                                              ; preds = %146
  %160 = load i64, ptr %22, align 8, !tbaa !13
  %161 = add i64 %160, 1
  store i64 %161, ptr %22, align 8, !tbaa !13
  br label %141, !llvm.loop !18

162:                                              ; preds = %145
  %163 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 10
  %164 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3topEv(ptr noundef nonnull align 8 dereferenceable(80) %163)
          to label %165 unwind label %83

165:                                              ; preds = %162
  %166 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %15, ptr noundef nonnull align 8 dereferenceable(24) %164)
          to label %167 unwind label %83

167:                                              ; preds = %165
  %168 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 10
  invoke void @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3popEv(ptr noundef nonnull align 8 dereferenceable(80) %168)
          to label %169 unwind label %83

169:                                              ; preds = %167
  call void @llvm.lifetime.start.p0(i64 8, ptr %24) #3
  store i64 0, ptr %24, align 8, !tbaa !13
  br label %170

170:                                              ; preds = %188, %169
  %171 = load i64, ptr %24, align 8, !tbaa !13
  %172 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %15) #3
  %173 = icmp ult i64 %171, %172
  br i1 %173, label %175, label %174

174:                                              ; preds = %170
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #3
  br label %191

175:                                              ; preds = %170
  call void @llvm.lifetime.start.p0(i64 4, ptr %25) #3
  %176 = load i64, ptr %24, align 8, !tbaa !13
  %177 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %176) #3
  %178 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3getILm0EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %177) #3
  %179 = load i32, ptr %178, align 4, !tbaa !9
  store i32 %179, ptr %25, align 4, !tbaa !9
  %180 = load i64, ptr %24, align 8, !tbaa !13
  %181 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %180) #3
  %182 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3getILm1EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %181) #3
  %183 = load double, ptr %182, align 8, !tbaa !11
  %184 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 3
  %185 = load i32, ptr %25, align 4, !tbaa !9
  %186 = sext i32 %185 to i64
  %187 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %184, i64 noundef %186) #3
  store double %183, ptr %187, align 8, !tbaa !11
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #3
  br label %188

188:                                              ; preds = %175
  %189 = load i64, ptr %24, align 8, !tbaa !13
  %190 = add i64 %189, 1
  store i64 %190, ptr %24, align 8, !tbaa !13
  br label %170, !llvm.loop !19

191:                                              ; preds = %174
  %192 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 11
  %193 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3topEv(ptr noundef nonnull align 8 dereferenceable(80) %192)
          to label %194 unwind label %83

194:                                              ; preds = %191
  %195 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %15, ptr noundef nonnull align 8 dereferenceable(24) %193)
          to label %196 unwind label %83

196:                                              ; preds = %194
  %197 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 11
  invoke void @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3popEv(ptr noundef nonnull align 8 dereferenceable(80) %197)
          to label %198 unwind label %83

198:                                              ; preds = %196
  call void @llvm.lifetime.start.p0(i64 8, ptr %26) #3
  store i64 0, ptr %26, align 8, !tbaa !13
  br label %199

199:                                              ; preds = %217, %198
  %200 = load i64, ptr %26, align 8, !tbaa !13
  %201 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %15) #3
  %202 = icmp ult i64 %200, %201
  br i1 %202, label %204, label %203

203:                                              ; preds = %199
  call void @llvm.lifetime.end.p0(i64 8, ptr %26) #3
  br label %220

204:                                              ; preds = %199
  call void @llvm.lifetime.start.p0(i64 4, ptr %27) #3
  %205 = load i64, ptr %26, align 8, !tbaa !13
  %206 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %205) #3
  %207 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3getILm0EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %206) #3
  %208 = load i32, ptr %207, align 4, !tbaa !9
  store i32 %208, ptr %27, align 4, !tbaa !9
  %209 = load i64, ptr %26, align 8, !tbaa !13
  %210 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %209) #3
  %211 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3getILm1EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %210) #3
  %212 = load double, ptr %211, align 8, !tbaa !11
  %213 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 1
  %214 = load i32, ptr %27, align 4, !tbaa !9
  %215 = sext i32 %214 to i64
  %216 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %213, i64 noundef %215) #3
  store double %212, ptr %216, align 8, !tbaa !11
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #3
  br label %217

217:                                              ; preds = %204
  %218 = load i64, ptr %26, align 8, !tbaa !13
  %219 = add i64 %218, 1
  store i64 %219, ptr %26, align 8, !tbaa !13
  br label %199, !llvm.loop !20

220:                                              ; preds = %203
  br label %828

221:                                              ; preds = %7
  %222 = load double, ptr %14, align 8, !tbaa !11
  %223 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 1
  %224 = load i32, ptr %11, align 4, !tbaa !9
  %225 = sext i32 %224 to i64
  %226 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %223, i64 noundef %225) #3
  store double %222, ptr %226, align 8, !tbaa !11
  br label %828

227:                                              ; preds = %7
  %228 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 7
  %229 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3topEv(ptr noundef nonnull align 8 dereferenceable(80) %228)
          to label %230 unwind label %83

230:                                              ; preds = %227
  %231 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %15, ptr noundef nonnull align 8 dereferenceable(24) %229)
          to label %232 unwind label %83

232:                                              ; preds = %230
  %233 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 7
  invoke void @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3popEv(ptr noundef nonnull align 8 dereferenceable(80) %233)
          to label %234 unwind label %83

234:                                              ; preds = %232
  call void @llvm.lifetime.start.p0(i64 8, ptr %28) #3
  store i64 0, ptr %28, align 8, !tbaa !13
  br label %235

235:                                              ; preds = %253, %234
  %236 = load i64, ptr %28, align 8, !tbaa !13
  %237 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %15) #3
  %238 = icmp ult i64 %236, %237
  br i1 %238, label %240, label %239

239:                                              ; preds = %235
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #3
  br label %256

240:                                              ; preds = %235
  call void @llvm.lifetime.start.p0(i64 4, ptr %29) #3
  %241 = load i64, ptr %28, align 8, !tbaa !13
  %242 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %241) #3
  %243 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3getILm0EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %242) #3
  %244 = load i32, ptr %243, align 4, !tbaa !9
  store i32 %244, ptr %29, align 4, !tbaa !9
  %245 = load i64, ptr %28, align 8, !tbaa !13
  %246 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %245) #3
  %247 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3getILm1EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %246) #3
  %248 = load double, ptr %247, align 8, !tbaa !11
  %249 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 4
  %250 = load i32, ptr %29, align 4, !tbaa !9
  %251 = sext i32 %250 to i64
  %252 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %249, i64 noundef %251) #3
  store double %248, ptr %252, align 8, !tbaa !11
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #3
  br label %253

253:                                              ; preds = %240
  %254 = load i64, ptr %28, align 8, !tbaa !13
  %255 = add i64 %254, 1
  store i64 %255, ptr %28, align 8, !tbaa !13
  br label %235, !llvm.loop !21

256:                                              ; preds = %239
  %257 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 8
  %258 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3topEv(ptr noundef nonnull align 8 dereferenceable(80) %257)
          to label %259 unwind label %83

259:                                              ; preds = %256
  %260 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %15, ptr noundef nonnull align 8 dereferenceable(24) %258)
          to label %261 unwind label %83

261:                                              ; preds = %259
  %262 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 8
  invoke void @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3popEv(ptr noundef nonnull align 8 dereferenceable(80) %262)
          to label %263 unwind label %83

263:                                              ; preds = %261
  call void @llvm.lifetime.start.p0(i64 8, ptr %30) #3
  store i64 0, ptr %30, align 8, !tbaa !13
  br label %264

264:                                              ; preds = %282, %263
  %265 = load i64, ptr %30, align 8, !tbaa !13
  %266 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %15) #3
  %267 = icmp ult i64 %265, %266
  br i1 %267, label %269, label %268

268:                                              ; preds = %264
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #3
  br label %285

269:                                              ; preds = %264
  call void @llvm.lifetime.start.p0(i64 4, ptr %31) #3
  %270 = load i64, ptr %30, align 8, !tbaa !13
  %271 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %270) #3
  %272 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3getILm0EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %271) #3
  %273 = load i32, ptr %272, align 4, !tbaa !9
  store i32 %273, ptr %31, align 4, !tbaa !9
  %274 = load i64, ptr %30, align 8, !tbaa !13
  %275 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %274) #3
  %276 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3getILm1EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %275) #3
  %277 = load double, ptr %276, align 8, !tbaa !11
  %278 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 5
  %279 = load i32, ptr %31, align 4, !tbaa !9
  %280 = sext i32 %279 to i64
  %281 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %278, i64 noundef %280) #3
  store double %277, ptr %281, align 8, !tbaa !11
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #3
  br label %282

282:                                              ; preds = %269
  %283 = load i64, ptr %30, align 8, !tbaa !13
  %284 = add i64 %283, 1
  store i64 %284, ptr %30, align 8, !tbaa !13
  br label %264, !llvm.loop !22

285:                                              ; preds = %268
  br label %828

286:                                              ; preds = %7
  %287 = load double, ptr %12, align 8, !tbaa !11
  %288 = fcmp une double %287, 0.000000e+00
  br i1 %288, label %289, label %348

289:                                              ; preds = %286
  %290 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 7
  %291 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3topEv(ptr noundef nonnull align 8 dereferenceable(80) %290)
          to label %292 unwind label %83

292:                                              ; preds = %289
  %293 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %15, ptr noundef nonnull align 8 dereferenceable(24) %291)
          to label %294 unwind label %83

294:                                              ; preds = %292
  %295 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 7
  invoke void @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3popEv(ptr noundef nonnull align 8 dereferenceable(80) %295)
          to label %296 unwind label %83

296:                                              ; preds = %294
  call void @llvm.lifetime.start.p0(i64 8, ptr %32) #3
  store i64 0, ptr %32, align 8, !tbaa !13
  br label %297

297:                                              ; preds = %315, %296
  %298 = load i64, ptr %32, align 8, !tbaa !13
  %299 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %15) #3
  %300 = icmp ult i64 %298, %299
  br i1 %300, label %302, label %301

301:                                              ; preds = %297
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #3
  br label %318

302:                                              ; preds = %297
  call void @llvm.lifetime.start.p0(i64 4, ptr %33) #3
  %303 = load i64, ptr %32, align 8, !tbaa !13
  %304 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %303) #3
  %305 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3getILm0EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %304) #3
  %306 = load i32, ptr %305, align 4, !tbaa !9
  store i32 %306, ptr %33, align 4, !tbaa !9
  %307 = load i64, ptr %32, align 8, !tbaa !13
  %308 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %307) #3
  %309 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3getILm1EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %308) #3
  %310 = load double, ptr %309, align 8, !tbaa !11
  %311 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 4
  %312 = load i32, ptr %33, align 4, !tbaa !9
  %313 = sext i32 %312 to i64
  %314 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %311, i64 noundef %313) #3
  store double %310, ptr %314, align 8, !tbaa !11
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #3
  br label %315

315:                                              ; preds = %302
  %316 = load i64, ptr %32, align 8, !tbaa !13
  %317 = add i64 %316, 1
  store i64 %317, ptr %32, align 8, !tbaa !13
  br label %297, !llvm.loop !23

318:                                              ; preds = %301
  %319 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 8
  %320 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3topEv(ptr noundef nonnull align 8 dereferenceable(80) %319)
          to label %321 unwind label %83

321:                                              ; preds = %318
  %322 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %15, ptr noundef nonnull align 8 dereferenceable(24) %320)
          to label %323 unwind label %83

323:                                              ; preds = %321
  %324 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 8
  invoke void @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3popEv(ptr noundef nonnull align 8 dereferenceable(80) %324)
          to label %325 unwind label %83

325:                                              ; preds = %323
  call void @llvm.lifetime.start.p0(i64 8, ptr %34) #3
  store i64 0, ptr %34, align 8, !tbaa !13
  br label %326

326:                                              ; preds = %344, %325
  %327 = load i64, ptr %34, align 8, !tbaa !13
  %328 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %15) #3
  %329 = icmp ult i64 %327, %328
  br i1 %329, label %331, label %330

330:                                              ; preds = %326
  call void @llvm.lifetime.end.p0(i64 8, ptr %34) #3
  br label %347

331:                                              ; preds = %326
  call void @llvm.lifetime.start.p0(i64 4, ptr %35) #3
  %332 = load i64, ptr %34, align 8, !tbaa !13
  %333 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %332) #3
  %334 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3getILm0EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %333) #3
  %335 = load i32, ptr %334, align 4, !tbaa !9
  store i32 %335, ptr %35, align 4, !tbaa !9
  %336 = load i64, ptr %34, align 8, !tbaa !13
  %337 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %336) #3
  %338 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3getILm1EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %337) #3
  %339 = load double, ptr %338, align 8, !tbaa !11
  %340 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 5
  %341 = load i32, ptr %35, align 4, !tbaa !9
  %342 = sext i32 %341 to i64
  %343 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %340, i64 noundef %342) #3
  store double %339, ptr %343, align 8, !tbaa !11
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #3
  br label %344

344:                                              ; preds = %331
  %345 = load i64, ptr %34, align 8, !tbaa !13
  %346 = add i64 %345, 1
  store i64 %346, ptr %34, align 8, !tbaa !13
  br label %326, !llvm.loop !24

347:                                              ; preds = %330
  br label %348

348:                                              ; preds = %347, %286
  br label %828

349:                                              ; preds = %7
  %350 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 11
  %351 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3topEv(ptr noundef nonnull align 8 dereferenceable(80) %350)
          to label %352 unwind label %83

352:                                              ; preds = %349
  %353 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %15, ptr noundef nonnull align 8 dereferenceable(24) %351)
          to label %354 unwind label %83

354:                                              ; preds = %352
  %355 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 11
  invoke void @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3popEv(ptr noundef nonnull align 8 dereferenceable(80) %355)
          to label %356 unwind label %83

356:                                              ; preds = %354
  call void @llvm.lifetime.start.p0(i64 8, ptr %36) #3
  store i64 0, ptr %36, align 8, !tbaa !13
  br label %357

357:                                              ; preds = %375, %356
  %358 = load i64, ptr %36, align 8, !tbaa !13
  %359 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %15) #3
  %360 = icmp ult i64 %358, %359
  br i1 %360, label %362, label %361

361:                                              ; preds = %357
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #3
  br label %378

362:                                              ; preds = %357
  call void @llvm.lifetime.start.p0(i64 4, ptr %37) #3
  %363 = load i64, ptr %36, align 8, !tbaa !13
  %364 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %363) #3
  %365 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3getILm0EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %364) #3
  %366 = load i32, ptr %365, align 4, !tbaa !9
  store i32 %366, ptr %37, align 4, !tbaa !9
  %367 = load i64, ptr %36, align 8, !tbaa !13
  %368 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %367) #3
  %369 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3getILm1EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %368) #3
  %370 = load double, ptr %369, align 8, !tbaa !11
  %371 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 1
  %372 = load i32, ptr %37, align 4, !tbaa !9
  %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) #3
  store double %370, ptr %374, align 8, !tbaa !11
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #3
  br label %375

375:                                              ; preds = %362
  %376 = load i64, ptr %36, align 8, !tbaa !13
  %377 = add i64 %376, 1
  store i64 %377, ptr %36, align 8, !tbaa !13
  br label %357, !llvm.loop !25

378:                                              ; preds = %361
  br label %828

379:                                              ; preds = %7
  %380 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 9
  %381 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3topEv(ptr noundef nonnull align 8 dereferenceable(80) %380)
          to label %382 unwind label %83

382:                                              ; preds = %379
  %383 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %15, ptr noundef nonnull align 8 dereferenceable(24) %381)
          to label %384 unwind label %83

384:                                              ; preds = %382
  %385 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 9
  invoke void @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3popEv(ptr noundef nonnull align 8 dereferenceable(80) %385)
          to label %386 unwind label %83

386:                                              ; preds = %384
  call void @llvm.lifetime.start.p0(i64 8, ptr %38) #3
  store i64 0, ptr %38, align 8, !tbaa !13
  br label %387

387:                                              ; preds = %405, %386
  %388 = load i64, ptr %38, align 8, !tbaa !13
  %389 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %15) #3
  %390 = icmp ult i64 %388, %389
  br i1 %390, label %392, label %391

391:                                              ; preds = %387
  call void @llvm.lifetime.end.p0(i64 8, ptr %38) #3
  br label %408

392:                                              ; preds = %387
  call void @llvm.lifetime.start.p0(i64 4, ptr %39) #3
  %393 = load i64, ptr %38, align 8, !tbaa !13
  %394 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %393) #3
  %395 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3getILm0EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %394) #3
  %396 = load i32, ptr %395, align 4, !tbaa !9
  store i32 %396, ptr %39, align 4, !tbaa !9
  %397 = load i64, ptr %38, align 8, !tbaa !13
  %398 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %397) #3
  %399 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3getILm1EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %398) #3
  %400 = load double, ptr %399, align 8, !tbaa !11
  %401 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 2
  %402 = load i32, ptr %39, align 4, !tbaa !9
  %403 = sext i32 %402 to i64
  %404 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %401, i64 noundef %403) #3
  store double %400, ptr %404, align 8, !tbaa !11
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #3
  br label %405

405:                                              ; preds = %392
  %406 = load i64, ptr %38, align 8, !tbaa !13
  %407 = add i64 %406, 1
  store i64 %407, ptr %38, align 8, !tbaa !13
  br label %387, !llvm.loop !26

408:                                              ; preds = %391
  %409 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 10
  %410 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3topEv(ptr noundef nonnull align 8 dereferenceable(80) %409)
          to label %411 unwind label %83

411:                                              ; preds = %408
  %412 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %15, ptr noundef nonnull align 8 dereferenceable(24) %410)
          to label %413 unwind label %83

413:                                              ; preds = %411
  %414 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 10
  invoke void @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3popEv(ptr noundef nonnull align 8 dereferenceable(80) %414)
          to label %415 unwind label %83

415:                                              ; preds = %413
  call void @llvm.lifetime.start.p0(i64 8, ptr %40) #3
  store i64 0, ptr %40, align 8, !tbaa !13
  br label %416

416:                                              ; preds = %434, %415
  %417 = load i64, ptr %40, align 8, !tbaa !13
  %418 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %15) #3
  %419 = icmp ult i64 %417, %418
  br i1 %419, label %421, label %420

420:                                              ; preds = %416
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #3
  br label %437

421:                                              ; preds = %416
  call void @llvm.lifetime.start.p0(i64 4, ptr %41) #3
  %422 = load i64, ptr %40, align 8, !tbaa !13
  %423 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %422) #3
  %424 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3getILm0EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %423) #3
  %425 = load i32, ptr %424, align 4, !tbaa !9
  store i32 %425, ptr %41, align 4, !tbaa !9
  %426 = load i64, ptr %40, align 8, !tbaa !13
  %427 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %426) #3
  %428 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3getILm1EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %427) #3
  %429 = load double, ptr %428, align 8, !tbaa !11
  %430 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 3
  %431 = load i32, ptr %41, align 4, !tbaa !9
  %432 = sext i32 %431 to i64
  %433 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %430, i64 noundef %432) #3
  store double %429, ptr %433, align 8, !tbaa !11
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #3
  br label %434

434:                                              ; preds = %421
  %435 = load i64, ptr %40, align 8, !tbaa !13
  %436 = add i64 %435, 1
  store i64 %436, ptr %40, align 8, !tbaa !13
  br label %416, !llvm.loop !27

437:                                              ; preds = %420
  %438 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 11
  %439 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3topEv(ptr noundef nonnull align 8 dereferenceable(80) %438)
          to label %440 unwind label %83

440:                                              ; preds = %437
  %441 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %15, ptr noundef nonnull align 8 dereferenceable(24) %439)
          to label %442 unwind label %83

442:                                              ; preds = %440
  %443 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 11
  invoke void @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3popEv(ptr noundef nonnull align 8 dereferenceable(80) %443)
          to label %444 unwind label %83

444:                                              ; preds = %442
  call void @llvm.lifetime.start.p0(i64 8, ptr %42) #3
  store i64 0, ptr %42, align 8, !tbaa !13
  br label %445

445:                                              ; preds = %463, %444
  %446 = load i64, ptr %42, align 8, !tbaa !13
  %447 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %15) #3
  %448 = icmp ult i64 %446, %447
  br i1 %448, label %450, label %449

449:                                              ; preds = %445
  call void @llvm.lifetime.end.p0(i64 8, ptr %42) #3
  br label %466

450:                                              ; preds = %445
  call void @llvm.lifetime.start.p0(i64 4, ptr %43) #3
  %451 = load i64, ptr %42, align 8, !tbaa !13
  %452 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %451) #3
  %453 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3getILm0EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %452) #3
  %454 = load i32, ptr %453, align 4, !tbaa !9
  store i32 %454, ptr %43, align 4, !tbaa !9
  %455 = load i64, ptr %42, align 8, !tbaa !13
  %456 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %455) #3
  %457 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3getILm1EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %456) #3
  %458 = load double, ptr %457, align 8, !tbaa !11
  %459 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 1
  %460 = load i32, ptr %43, align 4, !tbaa !9
  %461 = sext i32 %460 to i64
  %462 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %459, i64 noundef %461) #3
  store double %458, ptr %462, align 8, !tbaa !11
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #3
  br label %463

463:                                              ; preds = %450
  %464 = load i64, ptr %42, align 8, !tbaa !13
  %465 = add i64 %464, 1
  store i64 %465, ptr %42, align 8, !tbaa !13
  br label %445, !llvm.loop !28

466:                                              ; preds = %449
  br label %828

467:                                              ; preds = %7
  %468 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 9
  %469 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3topEv(ptr noundef nonnull align 8 dereferenceable(80) %468)
          to label %470 unwind label %83

470:                                              ; preds = %467
  %471 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %15, ptr noundef nonnull align 8 dereferenceable(24) %469)
          to label %472 unwind label %83

472:                                              ; preds = %470
  %473 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 9
  invoke void @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3popEv(ptr noundef nonnull align 8 dereferenceable(80) %473)
          to label %474 unwind label %83

474:                                              ; preds = %472
  call void @llvm.lifetime.start.p0(i64 8, ptr %44) #3
  store i64 0, ptr %44, align 8, !tbaa !13
  br label %475

475:                                              ; preds = %493, %474
  %476 = load i64, ptr %44, align 8, !tbaa !13
  %477 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %15) #3
  %478 = icmp ult i64 %476, %477
  br i1 %478, label %480, label %479

479:                                              ; preds = %475
  call void @llvm.lifetime.end.p0(i64 8, ptr %44) #3
  br label %496

480:                                              ; preds = %475
  call void @llvm.lifetime.start.p0(i64 4, ptr %45) #3
  %481 = load i64, ptr %44, align 8, !tbaa !13
  %482 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %481) #3
  %483 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3getILm0EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %482) #3
  %484 = load i32, ptr %483, align 4, !tbaa !9
  store i32 %484, ptr %45, align 4, !tbaa !9
  %485 = load i64, ptr %44, align 8, !tbaa !13
  %486 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %485) #3
  %487 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3getILm1EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %486) #3
  %488 = load double, ptr %487, align 8, !tbaa !11
  %489 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 2
  %490 = load i32, ptr %45, align 4, !tbaa !9
  %491 = sext i32 %490 to i64
  %492 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %489, i64 noundef %491) #3
  store double %488, ptr %492, align 8, !tbaa !11
  call void @llvm.lifetime.end.p0(i64 4, ptr %45) #3
  br label %493

493:                                              ; preds = %480
  %494 = load i64, ptr %44, align 8, !tbaa !13
  %495 = add i64 %494, 1
  store i64 %495, ptr %44, align 8, !tbaa !13
  br label %475, !llvm.loop !29

496:                                              ; preds = %479
  %497 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 10
  %498 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3topEv(ptr noundef nonnull align 8 dereferenceable(80) %497)
          to label %499 unwind label %83

499:                                              ; preds = %496
  %500 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %15, ptr noundef nonnull align 8 dereferenceable(24) %498)
          to label %501 unwind label %83

501:                                              ; preds = %499
  %502 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 10
  invoke void @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3popEv(ptr noundef nonnull align 8 dereferenceable(80) %502)
          to label %503 unwind label %83

503:                                              ; preds = %501
  call void @llvm.lifetime.start.p0(i64 8, ptr %46) #3
  store i64 0, ptr %46, align 8, !tbaa !13
  br label %504

504:                                              ; preds = %522, %503
  %505 = load i64, ptr %46, align 8, !tbaa !13
  %506 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %15) #3
  %507 = icmp ult i64 %505, %506
  br i1 %507, label %509, label %508

508:                                              ; preds = %504
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #3
  br label %525

509:                                              ; preds = %504
  call void @llvm.lifetime.start.p0(i64 4, ptr %47) #3
  %510 = load i64, ptr %46, align 8, !tbaa !13
  %511 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %510) #3
  %512 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3getILm0EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %511) #3
  %513 = load i32, ptr %512, align 4, !tbaa !9
  store i32 %513, ptr %47, align 4, !tbaa !9
  %514 = load i64, ptr %46, align 8, !tbaa !13
  %515 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %514) #3
  %516 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3getILm1EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %515) #3
  %517 = load double, ptr %516, align 8, !tbaa !11
  %518 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 3
  %519 = load i32, ptr %47, align 4, !tbaa !9
  %520 = sext i32 %519 to i64
  %521 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %518, i64 noundef %520) #3
  store double %517, ptr %521, align 8, !tbaa !11
  call void @llvm.lifetime.end.p0(i64 4, ptr %47) #3
  br label %522

522:                                              ; preds = %509
  %523 = load i64, ptr %46, align 8, !tbaa !13
  %524 = add i64 %523, 1
  store i64 %524, ptr %46, align 8, !tbaa !13
  br label %504, !llvm.loop !30

525:                                              ; preds = %508
  %526 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 11
  %527 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3topEv(ptr noundef nonnull align 8 dereferenceable(80) %526)
          to label %528 unwind label %83

528:                                              ; preds = %525
  %529 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %15, ptr noundef nonnull align 8 dereferenceable(24) %527)
          to label %530 unwind label %83

530:                                              ; preds = %528
  %531 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 11
  invoke void @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3popEv(ptr noundef nonnull align 8 dereferenceable(80) %531)
          to label %532 unwind label %83

532:                                              ; preds = %530
  call void @llvm.lifetime.start.p0(i64 8, ptr %48) #3
  store i64 0, ptr %48, align 8, !tbaa !13
  br label %533

533:                                              ; preds = %551, %532
  %534 = load i64, ptr %48, align 8, !tbaa !13
  %535 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %15) #3
  %536 = icmp ult i64 %534, %535
  br i1 %536, label %538, label %537

537:                                              ; preds = %533
  call void @llvm.lifetime.end.p0(i64 8, ptr %48) #3
  br label %554

538:                                              ; preds = %533
  call void @llvm.lifetime.start.p0(i64 4, ptr %49) #3
  %539 = load i64, ptr %48, align 8, !tbaa !13
  %540 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %539) #3
  %541 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3getILm0EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %540) #3
  %542 = load i32, ptr %541, align 4, !tbaa !9
  store i32 %542, ptr %49, align 4, !tbaa !9
  %543 = load i64, ptr %48, align 8, !tbaa !13
  %544 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %543) #3
  %545 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3getILm1EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %544) #3
  %546 = load double, ptr %545, align 8, !tbaa !11
  %547 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 1
  %548 = load i32, ptr %49, align 4, !tbaa !9
  %549 = sext i32 %548 to i64
  %550 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %547, i64 noundef %549) #3
  store double %546, ptr %550, align 8, !tbaa !11
  call void @llvm.lifetime.end.p0(i64 4, ptr %49) #3
  br label %551

551:                                              ; preds = %538
  %552 = load i64, ptr %48, align 8, !tbaa !13
  %553 = add i64 %552, 1
  store i64 %553, ptr %48, align 8, !tbaa !13
  br label %533, !llvm.loop !31

554:                                              ; preds = %537
  br label %828

555:                                              ; preds = %7
  %556 = load double, ptr %12, align 8, !tbaa !11
  %557 = fcmp une double %556, 0.000000e+00
  br i1 %557, label %558, label %617

558:                                              ; preds = %555
  %559 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 7
  %560 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3topEv(ptr noundef nonnull align 8 dereferenceable(80) %559)
          to label %561 unwind label %83

561:                                              ; preds = %558
  %562 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %15, ptr noundef nonnull align 8 dereferenceable(24) %560)
          to label %563 unwind label %83

563:                                              ; preds = %561
  %564 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 7
  invoke void @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3popEv(ptr noundef nonnull align 8 dereferenceable(80) %564)
          to label %565 unwind label %83

565:                                              ; preds = %563
  call void @llvm.lifetime.start.p0(i64 8, ptr %50) #3
  store i64 0, ptr %50, align 8, !tbaa !13
  br label %566

566:                                              ; preds = %584, %565
  %567 = load i64, ptr %50, align 8, !tbaa !13
  %568 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %15) #3
  %569 = icmp ult i64 %567, %568
  br i1 %569, label %571, label %570

570:                                              ; preds = %566
  call void @llvm.lifetime.end.p0(i64 8, ptr %50) #3
  br label %587

571:                                              ; preds = %566
  call void @llvm.lifetime.start.p0(i64 4, ptr %51) #3
  %572 = load i64, ptr %50, align 8, !tbaa !13
  %573 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %572) #3
  %574 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3getILm0EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %573) #3
  %575 = load i32, ptr %574, align 4, !tbaa !9
  store i32 %575, ptr %51, align 4, !tbaa !9
  %576 = load i64, ptr %50, align 8, !tbaa !13
  %577 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %576) #3
  %578 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3getILm1EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %577) #3
  %579 = load double, ptr %578, align 8, !tbaa !11
  %580 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 4
  %581 = load i32, ptr %51, align 4, !tbaa !9
  %582 = sext i32 %581 to i64
  %583 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %580, i64 noundef %582) #3
  store double %579, ptr %583, align 8, !tbaa !11
  call void @llvm.lifetime.end.p0(i64 4, ptr %51) #3
  br label %584

584:                                              ; preds = %571
  %585 = load i64, ptr %50, align 8, !tbaa !13
  %586 = add i64 %585, 1
  store i64 %586, ptr %50, align 8, !tbaa !13
  br label %566, !llvm.loop !32

587:                                              ; preds = %570
  %588 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 8
  %589 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3topEv(ptr noundef nonnull align 8 dereferenceable(80) %588)
          to label %590 unwind label %83

590:                                              ; preds = %587
  %591 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %15, ptr noundef nonnull align 8 dereferenceable(24) %589)
          to label %592 unwind label %83

592:                                              ; preds = %590
  %593 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 8
  invoke void @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3popEv(ptr noundef nonnull align 8 dereferenceable(80) %593)
          to label %594 unwind label %83

594:                                              ; preds = %592
  call void @llvm.lifetime.start.p0(i64 8, ptr %52) #3
  store i64 0, ptr %52, align 8, !tbaa !13
  br label %595

595:                                              ; preds = %613, %594
  %596 = load i64, ptr %52, align 8, !tbaa !13
  %597 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %15) #3
  %598 = icmp ult i64 %596, %597
  br i1 %598, label %600, label %599

599:                                              ; preds = %595
  call void @llvm.lifetime.end.p0(i64 8, ptr %52) #3
  br label %616

600:                                              ; preds = %595
  call void @llvm.lifetime.start.p0(i64 4, ptr %53) #3
  %601 = load i64, ptr %52, align 8, !tbaa !13
  %602 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %601) #3
  %603 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3getILm0EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %602) #3
  %604 = load i32, ptr %603, align 4, !tbaa !9
  store i32 %604, ptr %53, align 4, !tbaa !9
  %605 = load i64, ptr %52, align 8, !tbaa !13
  %606 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %605) #3
  %607 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3getILm1EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %606) #3
  %608 = load double, ptr %607, align 8, !tbaa !11
  %609 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 5
  %610 = load i32, ptr %53, align 4, !tbaa !9
  %611 = sext i32 %610 to i64
  %612 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %609, i64 noundef %611) #3
  store double %608, ptr %612, align 8, !tbaa !11
  call void @llvm.lifetime.end.p0(i64 4, ptr %53) #3
  br label %613

613:                                              ; preds = %600
  %614 = load i64, ptr %52, align 8, !tbaa !13
  %615 = add i64 %614, 1
  store i64 %615, ptr %52, align 8, !tbaa !13
  br label %595, !llvm.loop !33

616:                                              ; preds = %599
  br label %617

617:                                              ; preds = %616, %555
  br label %828

618:                                              ; preds = %7
  %619 = load double, ptr %12, align 8, !tbaa !11
  %620 = fcmp une double %619, 0.000000e+00
  br i1 %620, label %621, label %680

621:                                              ; preds = %618
  %622 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 7
  %623 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3topEv(ptr noundef nonnull align 8 dereferenceable(80) %622)
          to label %624 unwind label %83

624:                                              ; preds = %621
  %625 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %15, ptr noundef nonnull align 8 dereferenceable(24) %623)
          to label %626 unwind label %83

626:                                              ; preds = %624
  %627 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 7
  invoke void @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3popEv(ptr noundef nonnull align 8 dereferenceable(80) %627)
          to label %628 unwind label %83

628:                                              ; preds = %626
  call void @llvm.lifetime.start.p0(i64 8, ptr %54) #3
  store i64 0, ptr %54, align 8, !tbaa !13
  br label %629

629:                                              ; preds = %647, %628
  %630 = load i64, ptr %54, align 8, !tbaa !13
  %631 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %15) #3
  %632 = icmp ult i64 %630, %631
  br i1 %632, label %634, label %633

633:                                              ; preds = %629
  call void @llvm.lifetime.end.p0(i64 8, ptr %54) #3
  br label %650

634:                                              ; preds = %629
  call void @llvm.lifetime.start.p0(i64 4, ptr %55) #3
  %635 = load i64, ptr %54, align 8, !tbaa !13
  %636 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %635) #3
  %637 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3getILm0EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %636) #3
  %638 = load i32, ptr %637, align 4, !tbaa !9
  store i32 %638, ptr %55, align 4, !tbaa !9
  %639 = load i64, ptr %54, align 8, !tbaa !13
  %640 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %639) #3
  %641 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3getILm1EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %640) #3
  %642 = load double, ptr %641, align 8, !tbaa !11
  %643 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 4
  %644 = load i32, ptr %55, align 4, !tbaa !9
  %645 = sext i32 %644 to i64
  %646 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %643, i64 noundef %645) #3
  store double %642, ptr %646, align 8, !tbaa !11
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #3
  br label %647

647:                                              ; preds = %634
  %648 = load i64, ptr %54, align 8, !tbaa !13
  %649 = add i64 %648, 1
  store i64 %649, ptr %54, align 8, !tbaa !13
  br label %629, !llvm.loop !34

650:                                              ; preds = %633
  %651 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 8
  %652 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3topEv(ptr noundef nonnull align 8 dereferenceable(80) %651)
          to label %653 unwind label %83

653:                                              ; preds = %650
  %654 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %15, ptr noundef nonnull align 8 dereferenceable(24) %652)
          to label %655 unwind label %83

655:                                              ; preds = %653
  %656 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 8
  invoke void @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3popEv(ptr noundef nonnull align 8 dereferenceable(80) %656)
          to label %657 unwind label %83

657:                                              ; preds = %655
  call void @llvm.lifetime.start.p0(i64 8, ptr %56) #3
  store i64 0, ptr %56, align 8, !tbaa !13
  br label %658

658:                                              ; preds = %676, %657
  %659 = load i64, ptr %56, align 8, !tbaa !13
  %660 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %15) #3
  %661 = icmp ult i64 %659, %660
  br i1 %661, label %663, label %662

662:                                              ; preds = %658
  call void @llvm.lifetime.end.p0(i64 8, ptr %56) #3
  br label %679

663:                                              ; preds = %658
  call void @llvm.lifetime.start.p0(i64 4, ptr %57) #3
  %664 = load i64, ptr %56, align 8, !tbaa !13
  %665 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %664) #3
  %666 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3getILm0EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %665) #3
  %667 = load i32, ptr %666, align 4, !tbaa !9
  store i32 %667, ptr %57, align 4, !tbaa !9
  %668 = load i64, ptr %56, align 8, !tbaa !13
  %669 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %668) #3
  %670 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3getILm1EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %669) #3
  %671 = load double, ptr %670, align 8, !tbaa !11
  %672 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 5
  %673 = load i32, ptr %57, align 4, !tbaa !9
  %674 = sext i32 %673 to i64
  %675 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %672, i64 noundef %674) #3
  store double %671, ptr %675, align 8, !tbaa !11
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #3
  br label %676

676:                                              ; preds = %663
  %677 = load i64, ptr %56, align 8, !tbaa !13
  %678 = add i64 %677, 1
  store i64 %678, ptr %56, align 8, !tbaa !13
  br label %658, !llvm.loop !35

679:                                              ; preds = %662
  br label %680

680:                                              ; preds = %679, %618
  br label %828

681:                                              ; preds = %7
  %682 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 7
  %683 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3topEv(ptr noundef nonnull align 8 dereferenceable(80) %682)
          to label %684 unwind label %83

684:                                              ; preds = %681
  %685 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %15, ptr noundef nonnull align 8 dereferenceable(24) %683)
          to label %686 unwind label %83

686:                                              ; preds = %684
  %687 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 7
  invoke void @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3popEv(ptr noundef nonnull align 8 dereferenceable(80) %687)
          to label %688 unwind label %83

688:                                              ; preds = %686
  call void @llvm.lifetime.start.p0(i64 8, ptr %58) #3
  store i64 0, ptr %58, align 8, !tbaa !13
  br label %689

689:                                              ; preds = %707, %688
  %690 = load i64, ptr %58, align 8, !tbaa !13
  %691 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %15) #3
  %692 = icmp ult i64 %690, %691
  br i1 %692, label %694, label %693

693:                                              ; preds = %689
  call void @llvm.lifetime.end.p0(i64 8, ptr %58) #3
  br label %710

694:                                              ; preds = %689
  call void @llvm.lifetime.start.p0(i64 4, ptr %59) #3
  %695 = load i64, ptr %58, align 8, !tbaa !13
  %696 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %695) #3
  %697 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3getILm0EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %696) #3
  %698 = load i32, ptr %697, align 4, !tbaa !9
  store i32 %698, ptr %59, align 4, !tbaa !9
  %699 = load i64, ptr %58, align 8, !tbaa !13
  %700 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %699) #3
  %701 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3getILm1EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %700) #3
  %702 = load double, ptr %701, align 8, !tbaa !11
  %703 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 4
  %704 = load i32, ptr %59, align 4, !tbaa !9
  %705 = sext i32 %704 to i64
  %706 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %703, i64 noundef %705) #3
  store double %702, ptr %706, align 8, !tbaa !11
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #3
  br label %707

707:                                              ; preds = %694
  %708 = load i64, ptr %58, align 8, !tbaa !13
  %709 = add i64 %708, 1
  store i64 %709, ptr %58, align 8, !tbaa !13
  br label %689, !llvm.loop !36

710:                                              ; preds = %693
  %711 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 8
  %712 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3topEv(ptr noundef nonnull align 8 dereferenceable(80) %711)
          to label %713 unwind label %83

713:                                              ; preds = %710
  %714 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %15, ptr noundef nonnull align 8 dereferenceable(24) %712)
          to label %715 unwind label %83

715:                                              ; preds = %713
  %716 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 8
  invoke void @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3popEv(ptr noundef nonnull align 8 dereferenceable(80) %716)
          to label %717 unwind label %83

717:                                              ; preds = %715
  call void @llvm.lifetime.start.p0(i64 8, ptr %60) #3
  store i64 0, ptr %60, align 8, !tbaa !13
  br label %718

718:                                              ; preds = %736, %717
  %719 = load i64, ptr %60, align 8, !tbaa !13
  %720 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %15) #3
  %721 = icmp ult i64 %719, %720
  br i1 %721, label %723, label %722

722:                                              ; preds = %718
  call void @llvm.lifetime.end.p0(i64 8, ptr %60) #3
  br label %739

723:                                              ; preds = %718
  call void @llvm.lifetime.start.p0(i64 4, ptr %61) #3
  %724 = load i64, ptr %60, align 8, !tbaa !13
  %725 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %724) #3
  %726 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3getILm0EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %725) #3
  %727 = load i32, ptr %726, align 4, !tbaa !9
  store i32 %727, ptr %61, align 4, !tbaa !9
  %728 = load i64, ptr %60, align 8, !tbaa !13
  %729 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %728) #3
  %730 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3getILm1EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %729) #3
  %731 = load double, ptr %730, align 8, !tbaa !11
  %732 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 5
  %733 = load i32, ptr %61, align 4, !tbaa !9
  %734 = sext i32 %733 to i64
  %735 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %732, i64 noundef %734) #3
  store double %731, ptr %735, align 8, !tbaa !11
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #3
  br label %736

736:                                              ; preds = %723
  %737 = load i64, ptr %60, align 8, !tbaa !13
  %738 = add i64 %737, 1
  store i64 %738, ptr %60, align 8, !tbaa !13
  br label %718, !llvm.loop !37

739:                                              ; preds = %722
  br label %828

740:                                              ; preds = %7
  %741 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 9
  %742 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3topEv(ptr noundef nonnull align 8 dereferenceable(80) %741)
          to label %743 unwind label %83

743:                                              ; preds = %740
  %744 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %15, ptr noundef nonnull align 8 dereferenceable(24) %742)
          to label %745 unwind label %83

745:                                              ; preds = %743
  %746 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 9
  invoke void @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3popEv(ptr noundef nonnull align 8 dereferenceable(80) %746)
          to label %747 unwind label %83

747:                                              ; preds = %745
  call void @llvm.lifetime.start.p0(i64 8, ptr %62) #3
  store i64 0, ptr %62, align 8, !tbaa !13
  br label %748

748:                                              ; preds = %766, %747
  %749 = load i64, ptr %62, align 8, !tbaa !13
  %750 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %15) #3
  %751 = icmp ult i64 %749, %750
  br i1 %751, label %753, label %752

752:                                              ; preds = %748
  call void @llvm.lifetime.end.p0(i64 8, ptr %62) #3
  br label %769

753:                                              ; preds = %748
  call void @llvm.lifetime.start.p0(i64 4, ptr %63) #3
  %754 = load i64, ptr %62, align 8, !tbaa !13
  %755 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %754) #3
  %756 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3getILm0EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %755) #3
  %757 = load i32, ptr %756, align 4, !tbaa !9
  store i32 %757, ptr %63, align 4, !tbaa !9
  %758 = load i64, ptr %62, align 8, !tbaa !13
  %759 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %758) #3
  %760 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3getILm1EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %759) #3
  %761 = load double, ptr %760, align 8, !tbaa !11
  %762 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 2
  %763 = load i32, ptr %63, align 4, !tbaa !9
  %764 = sext i32 %763 to i64
  %765 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %762, i64 noundef %764) #3
  store double %761, ptr %765, align 8, !tbaa !11
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #3
  br label %766

766:                                              ; preds = %753
  %767 = load i64, ptr %62, align 8, !tbaa !13
  %768 = add i64 %767, 1
  store i64 %768, ptr %62, align 8, !tbaa !13
  br label %748, !llvm.loop !38

769:                                              ; preds = %752
  %770 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 10
  %771 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3topEv(ptr noundef nonnull align 8 dereferenceable(80) %770)
          to label %772 unwind label %83

772:                                              ; preds = %769
  %773 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %15, ptr noundef nonnull align 8 dereferenceable(24) %771)
          to label %774 unwind label %83

774:                                              ; preds = %772
  %775 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 10
  invoke void @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3popEv(ptr noundef nonnull align 8 dereferenceable(80) %775)
          to label %776 unwind label %83

776:                                              ; preds = %774
  call void @llvm.lifetime.start.p0(i64 8, ptr %64) #3
  store i64 0, ptr %64, align 8, !tbaa !13
  br label %777

777:                                              ; preds = %795, %776
  %778 = load i64, ptr %64, align 8, !tbaa !13
  %779 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %15) #3
  %780 = icmp ult i64 %778, %779
  br i1 %780, label %782, label %781

781:                                              ; preds = %777
  call void @llvm.lifetime.end.p0(i64 8, ptr %64) #3
  br label %798

782:                                              ; preds = %777
  call void @llvm.lifetime.start.p0(i64 4, ptr %65) #3
  %783 = load i64, ptr %64, align 8, !tbaa !13
  %784 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %783) #3
  %785 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3getILm0EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %784) #3
  %786 = load i32, ptr %785, align 4, !tbaa !9
  store i32 %786, ptr %65, align 4, !tbaa !9
  %787 = load i64, ptr %64, align 8, !tbaa !13
  %788 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %787) #3
  %789 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3getILm1EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %788) #3
  %790 = load double, ptr %789, align 8, !tbaa !11
  %791 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 3
  %792 = load i32, ptr %65, align 4, !tbaa !9
  %793 = sext i32 %792 to i64
  %794 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %791, i64 noundef %793) #3
  store double %790, ptr %794, align 8, !tbaa !11
  call void @llvm.lifetime.end.p0(i64 4, ptr %65) #3
  br label %795

795:                                              ; preds = %782
  %796 = load i64, ptr %64, align 8, !tbaa !13
  %797 = add i64 %796, 1
  store i64 %797, ptr %64, align 8, !tbaa !13
  br label %777, !llvm.loop !39

798:                                              ; preds = %781
  %799 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 11
  %800 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3topEv(ptr noundef nonnull align 8 dereferenceable(80) %799)
          to label %801 unwind label %83

801:                                              ; preds = %798
  %802 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %15, ptr noundef nonnull align 8 dereferenceable(24) %800)
          to label %803 unwind label %83

803:                                              ; preds = %801
  %804 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 11
  invoke void @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3popEv(ptr noundef nonnull align 8 dereferenceable(80) %804)
          to label %805 unwind label %83

805:                                              ; preds = %803
  call void @llvm.lifetime.start.p0(i64 8, ptr %66) #3
  store i64 0, ptr %66, align 8, !tbaa !13
  br label %806

806:                                              ; preds = %824, %805
  %807 = load i64, ptr %66, align 8, !tbaa !13
  %808 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %15) #3
  %809 = icmp ult i64 %807, %808
  br i1 %809, label %811, label %810

810:                                              ; preds = %806
  call void @llvm.lifetime.end.p0(i64 8, ptr %66) #3
  br label %827

811:                                              ; preds = %806
  call void @llvm.lifetime.start.p0(i64 4, ptr %67) #3
  %812 = load i64, ptr %66, align 8, !tbaa !13
  %813 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %812) #3
  %814 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3getILm0EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %813) #3
  %815 = load i32, ptr %814, align 4, !tbaa !9
  store i32 %815, ptr %67, align 4, !tbaa !9
  %816 = load i64, ptr %66, align 8, !tbaa !13
  %817 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %816) #3
  %818 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3getILm1EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %817) #3
  %819 = load double, ptr %818, align 8, !tbaa !11
  %820 = getelementptr inbounds %"class.presolve::dev_kkt_check::KktChStep", ptr %68, i32 0, i32 1
  %821 = load i32, ptr %67, align 4, !tbaa !9
  %822 = sext i32 %821 to i64
  %823 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %820, i64 noundef %822) #3
  store double %819, ptr %823, align 8, !tbaa !11
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #3
  br label %824

824:                                              ; preds = %811
  %825 = load i64, ptr %66, align 8, !tbaa !13
  %826 = add i64 %825, 1
  store i64 %826, ptr %66, align 8, !tbaa !13
  br label %806, !llvm.loop !40

827:                                              ; preds = %810
  br label %828

828:                                              ; preds = %827, %739, %680, %617, %554, %466, %378, %348, %285, %221, %220, %132, %7, %7
  call void @_ZNSt6vectorISt4pairIidESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %15) #3
  call void @llvm.lifetime.end.p0(i64 24, ptr %15) #3
  ret void

829:                                              ; preds = %83
  %830 = load ptr, ptr %16, align 8
  %831 = load i32, ptr %17, align 4
  %832 = insertvalue { ptr, i32 } poison, ptr %830, 0
  %833 = insertvalue { ptr, i32 } %832, i32 %831, 1
  resume { ptr, i32 } %833
}

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

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

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3getILm0EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16)) #1

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt6vectorISt4pairIidESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24)) 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 = !{!"int", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"double", !7, i64 0}
!13 = !{!14, !14, i64 0}
!14 = !{!"long", !7, i64 0}
!15 = distinct !{!15, !16}
!16 = !{!"llvm.loop.mustprogress"}
!17 = distinct !{!17, !16}
!18 = distinct !{!18, !16}
!19 = distinct !{!19, !16}
!20 = distinct !{!20, !16}
!21 = distinct !{!21, !16}
!22 = distinct !{!22, !16}
!23 = distinct !{!23, !16}
!24 = distinct !{!24, !16}
!25 = distinct !{!25, !16}
!26 = distinct !{!26, !16}
!27 = distinct !{!27, !16}
!28 = distinct !{!28, !16}
!29 = distinct !{!29, !16}
!30 = distinct !{!30, !16}
!31 = distinct !{!31, !16}
!32 = distinct !{!32, !16}
!33 = distinct !{!33, !16}
!34 = distinct !{!34, !16}
!35 = distinct !{!35, !16}
!36 = distinct !{!36, !16}
!37 = distinct !{!37, !16}
!38 = distinct !{!38, !16}
!39 = distinct !{!39, !16}
!40 = distinct !{!40, !16}


; 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::vector.6" = type { %"struct.std::_Vector_base.7" }
%"struct.std::_Vector_base.7" = type { %"struct.std::_Vector_base<std::pair<int, double>, std::allocator<std::pair<int, double>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::pair<int, double>, std::allocator<std::pair<int, double>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::pair<int, double>, std::allocator<std::pair<int, double>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::pair<int, double>, std::allocator<std::pair<int, double>>>::_Vector_impl_data" = type { ptr, ptr, ptr }

; 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 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
define dso_local void @_ZN8presolve13dev_kkt_check9KktChStep9addChangeEiiiddd(ptr noundef nonnull align 8 dereferenceable(536) %0, i32 noundef %1, i32 noundef %2, i32 noundef %3, double noundef %4, double noundef %5, double noundef %6) local_unnamed_addr #2 align 2 personality ptr @__gxx_personality_v0 {
  %8 = alloca %"class.std::vector.6", align 8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %8) #3
  call void @_ZNSt6vectorISt4pairIidESaIS1_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %8) #3
  switch i32 %1, label %.loopexit [
    i32 171, label %9
    i32 1, label %48
    i32 2, label %103
    i32 22, label %107
    i32 3, label %144
    i32 4, label %183
    i32 5, label %202
    i32 17, label %257
    i32 6, label %312
    i32 7, label %351
    i32 11, label %390
    i32 12, label %427
  ]

9:                                                ; preds = %7
  %10 = getelementptr inbounds i8, ptr %0, i64 136
  %11 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3topEv(ptr noundef nonnull align 8 dereferenceable(80) %10)
  %12 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(24) %11)
          to label %13 unwind label %19

13:                                               ; preds = %9
  call void @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3popEv(ptr noundef nonnull align 8 dereferenceable(80) %10)
  %14 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #3
  %.not275 = icmp eq i64 %14, 0
  br i1 %.not275, label %._crit_edge249, label %.lr.ph248

.lr.ph248:                                        ; preds = %13
  %15 = getelementptr inbounds i8, ptr %0, i64 80
  br label %21

._crit_edge249:                                   ; preds = %21, %13
  %16 = getelementptr inbounds i8, ptr %0, i64 216
  %17 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3topEv(ptr noundef nonnull align 8 dereferenceable(80) %16)
  %18 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(24) %17)
          to label %33 unwind label %19

19:                                               ; preds = %._crit_edge171, %._crit_edge, %427, %._crit_edge178, %390, %._crit_edge185, %353, %._crit_edge192, %314, %._crit_edge203, %._crit_edge199, %257, %._crit_edge214, %._crit_edge210, %202, %183, %._crit_edge224, %146, %._crit_edge231, %107, %._crit_edge242, %._crit_edge238, %48, %._crit_edge249, %9
  %20 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorISt4pairIidESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %8) #3
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %8) #3
  resume { ptr, i32 } %20

21:                                               ; preds = %.lr.ph248, %21
  %.0246 = phi i64 [ 0, %.lr.ph248 ], [ %30, %21 ]
  %22 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %.0246) #3
  %23 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3getILm0EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %22) #3
  %24 = load i32, ptr %23, align 4, !tbaa !5
  %25 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %.0246) #3
  %26 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3getILm1EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %25) #3
  %27 = load double, ptr %26, align 8, !tbaa !9
  %28 = sext i32 %24 to i64
  %29 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %28) #3
  store double %27, ptr %29, align 8, !tbaa !9
  %30 = add nuw i64 %.0246, 1
  %31 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #3
  %32 = icmp ult i64 %30, %31
  br i1 %32, label %21, label %._crit_edge249, !llvm.loop !11

33:                                               ; preds = %._crit_edge249
  call void @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3popEv(ptr noundef nonnull align 8 dereferenceable(80) %16)
  %34 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #3
  %.not276 = icmp eq i64 %34, 0
  br i1 %.not276, label %.loopexit, label %.lr.ph252

.lr.ph252:                                        ; preds = %33
  %35 = getelementptr inbounds i8, ptr %0, i64 104
  br label %36

36:                                               ; preds = %.lr.ph252, %36
  %.0134250 = phi i64 [ 0, %.lr.ph252 ], [ %45, %36 ]
  %37 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %.0134250) #3
  %38 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3getILm0EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %37) #3
  %39 = load i32, ptr %38, align 4, !tbaa !5
  %40 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %.0134250) #3
  %41 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3getILm1EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %40) #3
  %42 = load double, ptr %41, align 8, !tbaa !9
  %43 = sext i32 %39 to i64
  %44 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %35, i64 noundef %43) #3
  store double %42, ptr %44, align 8, !tbaa !9
  %45 = add nuw i64 %.0134250, 1
  %46 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #3
  %47 = icmp ult i64 %45, %46
  br i1 %47, label %36, label %.loopexit, !llvm.loop !13

48:                                               ; preds = %7
  %49 = getelementptr inbounds i8, ptr %0, i64 296
  %50 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3topEv(ptr noundef nonnull align 8 dereferenceable(80) %49)
  %51 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(24) %50)
          to label %52 unwind label %19

52:                                               ; preds = %48
  call void @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3popEv(ptr noundef nonnull align 8 dereferenceable(80) %49)
  %53 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #3
  %.not272 = icmp eq i64 %53, 0
  br i1 %.not272, label %._crit_edge238, label %.lr.ph237

.lr.ph237:                                        ; preds = %52
  %54 = getelementptr inbounds i8, ptr %0, i64 32
  br label %58

._crit_edge238:                                   ; preds = %58, %52
  %55 = getelementptr inbounds i8, ptr %0, i64 376
  %56 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3topEv(ptr noundef nonnull align 8 dereferenceable(80) %55)
  %57 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(24) %56)
          to label %70 unwind label %19

58:                                               ; preds = %.lr.ph237, %58
  %.0136235 = phi i64 [ 0, %.lr.ph237 ], [ %67, %58 ]
  %59 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %.0136235) #3
  %60 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3getILm0EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %59) #3
  %61 = load i32, ptr %60, align 4, !tbaa !5
  %62 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %.0136235) #3
  %63 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3getILm1EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %62) #3
  %64 = load double, ptr %63, align 8, !tbaa !9
  %65 = sext i32 %61 to i64
  %66 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %54, i64 noundef %65) #3
  store double %64, ptr %66, align 8, !tbaa !9
  %67 = add nuw i64 %.0136235, 1
  %68 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #3
  %69 = icmp ult i64 %67, %68
  br i1 %69, label %58, label %._crit_edge238, !llvm.loop !14

70:                                               ; preds = %._crit_edge238
  call void @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3popEv(ptr noundef nonnull align 8 dereferenceable(80) %55)
  %71 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #3
  %.not273 = icmp eq i64 %71, 0
  br i1 %.not273, label %._crit_edge242, label %.lr.ph241

.lr.ph241:                                        ; preds = %70
  %72 = getelementptr inbounds i8, ptr %0, i64 56
  br label %76

._crit_edge242:                                   ; preds = %76, %70
  %73 = getelementptr inbounds i8, ptr %0, i64 456
  %74 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3topEv(ptr noundef nonnull align 8 dereferenceable(80) %73)
  %75 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(24) %74)
          to label %88 unwind label %19

76:                                               ; preds = %.lr.ph241, %76
  %.0138239 = phi i64 [ 0, %.lr.ph241 ], [ %85, %76 ]
  %77 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %.0138239) #3
  %78 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3getILm0EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %77) #3
  %79 = load i32, ptr %78, align 4, !tbaa !5
  %80 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %.0138239) #3
  %81 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3getILm1EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %80) #3
  %82 = load double, ptr %81, align 8, !tbaa !9
  %83 = sext i32 %79 to i64
  %84 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %72, i64 noundef %83) #3
  store double %82, ptr %84, align 8, !tbaa !9
  %85 = add nuw i64 %.0138239, 1
  %86 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #3
  %87 = icmp ult i64 %85, %86
  br i1 %87, label %76, label %._crit_edge242, !llvm.loop !15

88:                                               ; preds = %._crit_edge242
  call void @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3popEv(ptr noundef nonnull align 8 dereferenceable(80) %73)
  %89 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #3
  %.not274 = icmp eq i64 %89, 0
  br i1 %.not274, label %.loopexit, label %.lr.ph245

.lr.ph245:                                        ; preds = %88
  %90 = getelementptr inbounds i8, ptr %0, i64 8
  br label %91

91:                                               ; preds = %.lr.ph245, %91
  %.0140243 = phi i64 [ 0, %.lr.ph245 ], [ %100, %91 ]
  %92 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %.0140243) #3
  %93 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3getILm0EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %92) #3
  %94 = load i32, ptr %93, align 4, !tbaa !5
  %95 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %.0140243) #3
  %96 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3getILm1EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %95) #3
  %97 = load double, ptr %96, align 8, !tbaa !9
  %98 = sext i32 %94 to i64
  %99 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %90, i64 noundef %98) #3
  store double %97, ptr %99, align 8, !tbaa !9
  %100 = add nuw i64 %.0140243, 1
  %101 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #3
  %102 = icmp ult i64 %100, %101
  br i1 %102, label %91, label %.loopexit, !llvm.loop !16

103:                                              ; preds = %7
  %104 = getelementptr inbounds i8, ptr %0, i64 8
  %105 = sext i32 %3 to i64
  %106 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %104, i64 noundef %105) #3
  store double %6, ptr %106, align 8, !tbaa !9
  br label %.loopexit

107:                                              ; preds = %7
  %108 = getelementptr inbounds i8, ptr %0, i64 136
  %109 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3topEv(ptr noundef nonnull align 8 dereferenceable(80) %108)
  %110 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(24) %109)
          to label %111 unwind label %19

111:                                              ; preds = %107
  call void @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3popEv(ptr noundef nonnull align 8 dereferenceable(80) %108)
  %112 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #3
  %.not270 = icmp eq i64 %112, 0
  br i1 %.not270, label %._crit_edge231, label %.lr.ph230

.lr.ph230:                                        ; preds = %111
  %113 = getelementptr inbounds i8, ptr %0, i64 80
  br label %117

._crit_edge231:                                   ; preds = %117, %111
  %114 = getelementptr inbounds i8, ptr %0, i64 216
  %115 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3topEv(ptr noundef nonnull align 8 dereferenceable(80) %114)
  %116 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(24) %115)
          to label %129 unwind label %19

117:                                              ; preds = %.lr.ph230, %117
  %.0142228 = phi i64 [ 0, %.lr.ph230 ], [ %126, %117 ]
  %118 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %.0142228) #3
  %119 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3getILm0EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %118) #3
  %120 = load i32, ptr %119, align 4, !tbaa !5
  %121 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %.0142228) #3
  %122 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3getILm1EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %121) #3
  %123 = load double, ptr %122, align 8, !tbaa !9
  %124 = sext i32 %120 to i64
  %125 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %113, i64 noundef %124) #3
  store double %123, ptr %125, align 8, !tbaa !9
  %126 = add nuw i64 %.0142228, 1
  %127 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #3
  %128 = icmp ult i64 %126, %127
  br i1 %128, label %117, label %._crit_edge231, !llvm.loop !17

129:                                              ; preds = %._crit_edge231
  call void @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3popEv(ptr noundef nonnull align 8 dereferenceable(80) %114)
  %130 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #3
  %.not271 = icmp eq i64 %130, 0
  br i1 %.not271, label %.loopexit, label %.lr.ph234

.lr.ph234:                                        ; preds = %129
  %131 = getelementptr inbounds i8, ptr %0, i64 104
  br label %132

132:                                              ; preds = %.lr.ph234, %132
  %.0144232 = phi i64 [ 0, %.lr.ph234 ], [ %141, %132 ]
  %133 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %.0144232) #3
  %134 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3getILm0EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %133) #3
  %135 = load i32, ptr %134, align 4, !tbaa !5
  %136 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %.0144232) #3
  %137 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3getILm1EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %136) #3
  %138 = load double, ptr %137, align 8, !tbaa !9
  %139 = sext i32 %135 to i64
  %140 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %131, i64 noundef %139) #3
  store double %138, ptr %140, align 8, !tbaa !9
  %141 = add nuw i64 %.0144232, 1
  %142 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #3
  %143 = icmp ult i64 %141, %142
  br i1 %143, label %132, label %.loopexit, !llvm.loop !18

144:                                              ; preds = %7
  %145 = fcmp une double %4, 0.000000e+00
  br i1 %145, label %146, label %.loopexit

146:                                              ; preds = %144
  %147 = getelementptr inbounds i8, ptr %0, i64 136
  %148 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3topEv(ptr noundef nonnull align 8 dereferenceable(80) %147)
  %149 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(24) %148)
          to label %150 unwind label %19

150:                                              ; preds = %146
  call void @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3popEv(ptr noundef nonnull align 8 dereferenceable(80) %147)
  %151 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #3
  %.not268 = icmp eq i64 %151, 0
  br i1 %.not268, label %._crit_edge224, label %.lr.ph223

.lr.ph223:                                        ; preds = %150
  %152 = getelementptr inbounds i8, ptr %0, i64 80
  br label %156

._crit_edge224:                                   ; preds = %156, %150
  %153 = getelementptr inbounds i8, ptr %0, i64 216
  %154 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3topEv(ptr noundef nonnull align 8 dereferenceable(80) %153)
  %155 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(24) %154)
          to label %168 unwind label %19

156:                                              ; preds = %.lr.ph223, %156
  %.0146221 = phi i64 [ 0, %.lr.ph223 ], [ %165, %156 ]
  %157 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %.0146221) #3
  %158 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3getILm0EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %157) #3
  %159 = load i32, ptr %158, align 4, !tbaa !5
  %160 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %.0146221) #3
  %161 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3getILm1EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %160) #3
  %162 = load double, ptr %161, align 8, !tbaa !9
  %163 = sext i32 %159 to i64
  %164 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %152, i64 noundef %163) #3
  store double %162, ptr %164, align 8, !tbaa !9
  %165 = add nuw i64 %.0146221, 1
  %166 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #3
  %167 = icmp ult i64 %165, %166
  br i1 %167, label %156, label %._crit_edge224, !llvm.loop !19

168:                                              ; preds = %._crit_edge224
  call void @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3popEv(ptr noundef nonnull align 8 dereferenceable(80) %153)
  %169 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #3
  %.not269 = icmp eq i64 %169, 0
  br i1 %.not269, label %.loopexit, label %.lr.ph227

.lr.ph227:                                        ; preds = %168
  %170 = getelementptr inbounds i8, ptr %0, i64 104
  br label %171

171:                                              ; preds = %.lr.ph227, %171
  %.0148225 = phi i64 [ 0, %.lr.ph227 ], [ %180, %171 ]
  %172 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %.0148225) #3
  %173 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3getILm0EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %172) #3
  %174 = load i32, ptr %173, align 4, !tbaa !5
  %175 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %.0148225) #3
  %176 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3getILm1EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %175) #3
  %177 = load double, ptr %176, align 8, !tbaa !9
  %178 = sext i32 %174 to i64
  %179 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %170, i64 noundef %178) #3
  store double %177, ptr %179, align 8, !tbaa !9
  %180 = add nuw i64 %.0148225, 1
  %181 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #3
  %182 = icmp ult i64 %180, %181
  br i1 %182, label %171, label %.loopexit, !llvm.loop !20

183:                                              ; preds = %7
  %184 = getelementptr inbounds i8, ptr %0, i64 456
  %185 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3topEv(ptr noundef nonnull align 8 dereferenceable(80) %184)
  %186 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(24) %185)
          to label %187 unwind label %19

187:                                              ; preds = %183
  call void @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3popEv(ptr noundef nonnull align 8 dereferenceable(80) %184)
  %188 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #3
  %.not267 = icmp eq i64 %188, 0
  br i1 %.not267, label %.loopexit, label %.lr.ph220

.lr.ph220:                                        ; preds = %187
  %189 = getelementptr inbounds i8, ptr %0, i64 8
  br label %190

190:                                              ; preds = %.lr.ph220, %190
  %.0150218 = phi i64 [ 0, %.lr.ph220 ], [ %199, %190 ]
  %191 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %.0150218) #3
  %192 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3getILm0EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %191) #3
  %193 = load i32, ptr %192, align 4, !tbaa !5
  %194 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %.0150218) #3
  %195 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3getILm1EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %194) #3
  %196 = load double, ptr %195, align 8, !tbaa !9
  %197 = sext i32 %193 to i64
  %198 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %189, i64 noundef %197) #3
  store double %196, ptr %198, align 8, !tbaa !9
  %199 = add nuw i64 %.0150218, 1
  %200 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #3
  %201 = icmp ult i64 %199, %200
  br i1 %201, label %190, label %.loopexit, !llvm.loop !21

202:                                              ; preds = %7
  %203 = getelementptr inbounds i8, ptr %0, i64 296
  %204 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3topEv(ptr noundef nonnull align 8 dereferenceable(80) %203)
  %205 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(24) %204)
          to label %206 unwind label %19

206:                                              ; preds = %202
  call void @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3popEv(ptr noundef nonnull align 8 dereferenceable(80) %203)
  %207 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #3
  %.not264 = icmp eq i64 %207, 0
  br i1 %.not264, label %._crit_edge210, label %.lr.ph209

.lr.ph209:                                        ; preds = %206
  %208 = getelementptr inbounds i8, ptr %0, i64 32
  br label %212

._crit_edge210:                                   ; preds = %212, %206
  %209 = getelementptr inbounds i8, ptr %0, i64 376
  %210 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3topEv(ptr noundef nonnull align 8 dereferenceable(80) %209)
  %211 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(24) %210)
          to label %224 unwind label %19

212:                                              ; preds = %.lr.ph209, %212
  %.0152207 = phi i64 [ 0, %.lr.ph209 ], [ %221, %212 ]
  %213 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %.0152207) #3
  %214 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3getILm0EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %213) #3
  %215 = load i32, ptr %214, align 4, !tbaa !5
  %216 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %.0152207) #3
  %217 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3getILm1EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %216) #3
  %218 = load double, ptr %217, align 8, !tbaa !9
  %219 = sext i32 %215 to i64
  %220 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %208, i64 noundef %219) #3
  store double %218, ptr %220, align 8, !tbaa !9
  %221 = add nuw i64 %.0152207, 1
  %222 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #3
  %223 = icmp ult i64 %221, %222
  br i1 %223, label %212, label %._crit_edge210, !llvm.loop !22

224:                                              ; preds = %._crit_edge210
  call void @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3popEv(ptr noundef nonnull align 8 dereferenceable(80) %209)
  %225 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #3
  %.not265 = icmp eq i64 %225, 0
  br i1 %.not265, label %._crit_edge214, label %.lr.ph213

.lr.ph213:                                        ; preds = %224
  %226 = getelementptr inbounds i8, ptr %0, i64 56
  br label %230

._crit_edge214:                                   ; preds = %230, %224
  %227 = getelementptr inbounds i8, ptr %0, i64 456
  %228 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3topEv(ptr noundef nonnull align 8 dereferenceable(80) %227)
  %229 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(24) %228)
          to label %242 unwind label %19

230:                                              ; preds = %.lr.ph213, %230
  %.0154211 = phi i64 [ 0, %.lr.ph213 ], [ %239, %230 ]
  %231 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %.0154211) #3
  %232 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3getILm0EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %231) #3
  %233 = load i32, ptr %232, align 4, !tbaa !5
  %234 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %.0154211) #3
  %235 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3getILm1EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %234) #3
  %236 = load double, ptr %235, align 8, !tbaa !9
  %237 = sext i32 %233 to i64
  %238 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %226, i64 noundef %237) #3
  store double %236, ptr %238, align 8, !tbaa !9
  %239 = add nuw i64 %.0154211, 1
  %240 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #3
  %241 = icmp ult i64 %239, %240
  br i1 %241, label %230, label %._crit_edge214, !llvm.loop !23

242:                                              ; preds = %._crit_edge214
  call void @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3popEv(ptr noundef nonnull align 8 dereferenceable(80) %227)
  %243 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #3
  %.not266 = icmp eq i64 %243, 0
  br i1 %.not266, label %.loopexit, label %.lr.ph217

.lr.ph217:                                        ; preds = %242
  %244 = getelementptr inbounds i8, ptr %0, i64 8
  br label %245

245:                                              ; preds = %.lr.ph217, %245
  %.0156215 = phi i64 [ 0, %.lr.ph217 ], [ %254, %245 ]
  %246 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %.0156215) #3
  %247 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3getILm0EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %246) #3
  %248 = load i32, ptr %247, align 4, !tbaa !5
  %249 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %.0156215) #3
  %250 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3getILm1EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %249) #3
  %251 = load double, ptr %250, align 8, !tbaa !9
  %252 = sext i32 %248 to i64
  %253 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %244, i64 noundef %252) #3
  store double %251, ptr %253, align 8, !tbaa !9
  %254 = add nuw i64 %.0156215, 1
  %255 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #3
  %256 = icmp ult i64 %254, %255
  br i1 %256, label %245, label %.loopexit, !llvm.loop !24

257:                                              ; preds = %7
  %258 = getelementptr inbounds i8, ptr %0, i64 296
  %259 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3topEv(ptr noundef nonnull align 8 dereferenceable(80) %258)
  %260 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(24) %259)
          to label %261 unwind label %19

261:                                              ; preds = %257
  call void @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3popEv(ptr noundef nonnull align 8 dereferenceable(80) %258)
  %262 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #3
  %.not261 = icmp eq i64 %262, 0
  br i1 %.not261, label %._crit_edge199, label %.lr.ph198

.lr.ph198:                                        ; preds = %261
  %263 = getelementptr inbounds i8, ptr %0, i64 32
  br label %267

._crit_edge199:                                   ; preds = %267, %261
  %264 = getelementptr inbounds i8, ptr %0, i64 376
  %265 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3topEv(ptr noundef nonnull align 8 dereferenceable(80) %264)
  %266 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(24) %265)
          to label %279 unwind label %19

267:                                              ; preds = %.lr.ph198, %267
  %.0155196 = phi i64 [ 0, %.lr.ph198 ], [ %276, %267 ]
  %268 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %.0155196) #3
  %269 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3getILm0EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %268) #3
  %270 = load i32, ptr %269, align 4, !tbaa !5
  %271 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %.0155196) #3
  %272 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3getILm1EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %271) #3
  %273 = load double, ptr %272, align 8, !tbaa !9
  %274 = sext i32 %270 to i64
  %275 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %263, i64 noundef %274) #3
  store double %273, ptr %275, align 8, !tbaa !9
  %276 = add nuw i64 %.0155196, 1
  %277 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #3
  %278 = icmp ult i64 %276, %277
  br i1 %278, label %267, label %._crit_edge199, !llvm.loop !25

279:                                              ; preds = %._crit_edge199
  call void @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3popEv(ptr noundef nonnull align 8 dereferenceable(80) %264)
  %280 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #3
  %.not262 = icmp eq i64 %280, 0
  br i1 %.not262, label %._crit_edge203, label %.lr.ph202

.lr.ph202:                                        ; preds = %279
  %281 = getelementptr inbounds i8, ptr %0, i64 56
  br label %285

._crit_edge203:                                   ; preds = %285, %279
  %282 = getelementptr inbounds i8, ptr %0, i64 456
  %283 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3topEv(ptr noundef nonnull align 8 dereferenceable(80) %282)
  %284 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(24) %283)
          to label %297 unwind label %19

285:                                              ; preds = %.lr.ph202, %285
  %.0153200 = phi i64 [ 0, %.lr.ph202 ], [ %294, %285 ]
  %286 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %.0153200) #3
  %287 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3getILm0EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %286) #3
  %288 = load i32, ptr %287, align 4, !tbaa !5
  %289 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %.0153200) #3
  %290 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3getILm1EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %289) #3
  %291 = load double, ptr %290, align 8, !tbaa !9
  %292 = sext i32 %288 to i64
  %293 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %281, i64 noundef %292) #3
  store double %291, ptr %293, align 8, !tbaa !9
  %294 = add nuw i64 %.0153200, 1
  %295 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #3
  %296 = icmp ult i64 %294, %295
  br i1 %296, label %285, label %._crit_edge203, !llvm.loop !26

297:                                              ; preds = %._crit_edge203
  call void @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3popEv(ptr noundef nonnull align 8 dereferenceable(80) %282)
  %298 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #3
  %.not263 = icmp eq i64 %298, 0
  br i1 %.not263, label %.loopexit, label %.lr.ph206

.lr.ph206:                                        ; preds = %297
  %299 = getelementptr inbounds i8, ptr %0, i64 8
  br label %300

300:                                              ; preds = %.lr.ph206, %300
  %.0151204 = phi i64 [ 0, %.lr.ph206 ], [ %309, %300 ]
  %301 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %.0151204) #3
  %302 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3getILm0EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %301) #3
  %303 = load i32, ptr %302, align 4, !tbaa !5
  %304 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %.0151204) #3
  %305 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3getILm1EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %304) #3
  %306 = load double, ptr %305, align 8, !tbaa !9
  %307 = sext i32 %303 to i64
  %308 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %299, i64 noundef %307) #3
  store double %306, ptr %308, align 8, !tbaa !9
  %309 = add nuw i64 %.0151204, 1
  %310 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #3
  %311 = icmp ult i64 %309, %310
  br i1 %311, label %300, label %.loopexit, !llvm.loop !27

312:                                              ; preds = %7
  %313 = fcmp une double %4, 0.000000e+00
  br i1 %313, label %314, label %.loopexit

314:                                              ; preds = %312
  %315 = getelementptr inbounds i8, ptr %0, i64 136
  %316 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3topEv(ptr noundef nonnull align 8 dereferenceable(80) %315)
  %317 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(24) %316)
          to label %318 unwind label %19

318:                                              ; preds = %314
  call void @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3popEv(ptr noundef nonnull align 8 dereferenceable(80) %315)
  %319 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #3
  %.not259 = icmp eq i64 %319, 0
  br i1 %.not259, label %._crit_edge192, label %.lr.ph191

.lr.ph191:                                        ; preds = %318
  %320 = getelementptr inbounds i8, ptr %0, i64 80
  br label %324

._crit_edge192:                                   ; preds = %324, %318
  %321 = getelementptr inbounds i8, ptr %0, i64 216
  %322 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3topEv(ptr noundef nonnull align 8 dereferenceable(80) %321)
  %323 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(24) %322)
          to label %336 unwind label %19

324:                                              ; preds = %.lr.ph191, %324
  %.0149189 = phi i64 [ 0, %.lr.ph191 ], [ %333, %324 ]
  %325 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %.0149189) #3
  %326 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3getILm0EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %325) #3
  %327 = load i32, ptr %326, align 4, !tbaa !5
  %328 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %.0149189) #3
  %329 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3getILm1EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %328) #3
  %330 = load double, ptr %329, align 8, !tbaa !9
  %331 = sext i32 %327 to i64
  %332 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %320, i64 noundef %331) #3
  store double %330, ptr %332, align 8, !tbaa !9
  %333 = add nuw i64 %.0149189, 1
  %334 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #3
  %335 = icmp ult i64 %333, %334
  br i1 %335, label %324, label %._crit_edge192, !llvm.loop !28

336:                                              ; preds = %._crit_edge192
  call void @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3popEv(ptr noundef nonnull align 8 dereferenceable(80) %321)
  %337 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #3
  %.not260 = icmp eq i64 %337, 0
  br i1 %.not260, label %.loopexit, label %.lr.ph195

.lr.ph195:                                        ; preds = %336
  %338 = getelementptr inbounds i8, ptr %0, i64 104
  br label %339

339:                                              ; preds = %.lr.ph195, %339
  %.0147193 = phi i64 [ 0, %.lr.ph195 ], [ %348, %339 ]
  %340 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %.0147193) #3
  %341 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3getILm0EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %340) #3
  %342 = load i32, ptr %341, align 4, !tbaa !5
  %343 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %.0147193) #3
  %344 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3getILm1EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %343) #3
  %345 = load double, ptr %344, align 8, !tbaa !9
  %346 = sext i32 %342 to i64
  %347 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %338, i64 noundef %346) #3
  store double %345, ptr %347, align 8, !tbaa !9
  %348 = add nuw i64 %.0147193, 1
  %349 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #3
  %350 = icmp ult i64 %348, %349
  br i1 %350, label %339, label %.loopexit, !llvm.loop !29

351:                                              ; preds = %7
  %352 = fcmp une double %4, 0.000000e+00
  br i1 %352, label %353, label %.loopexit

353:                                              ; preds = %351
  %354 = getelementptr inbounds i8, ptr %0, i64 136
  %355 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3topEv(ptr noundef nonnull align 8 dereferenceable(80) %354)
  %356 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(24) %355)
          to label %357 unwind label %19

357:                                              ; preds = %353
  call void @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3popEv(ptr noundef nonnull align 8 dereferenceable(80) %354)
  %358 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #3
  %.not257 = icmp eq i64 %358, 0
  br i1 %.not257, label %._crit_edge185, label %.lr.ph184

.lr.ph184:                                        ; preds = %357
  %359 = getelementptr inbounds i8, ptr %0, i64 80
  br label %363

._crit_edge185:                                   ; preds = %363, %357
  %360 = getelementptr inbounds i8, ptr %0, i64 216
  %361 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3topEv(ptr noundef nonnull align 8 dereferenceable(80) %360)
  %362 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(24) %361)
          to label %375 unwind label %19

363:                                              ; preds = %.lr.ph184, %363
  %.0145182 = phi i64 [ 0, %.lr.ph184 ], [ %372, %363 ]
  %364 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %.0145182) #3
  %365 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3getILm0EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %364) #3
  %366 = load i32, ptr %365, align 4, !tbaa !5
  %367 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %.0145182) #3
  %368 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3getILm1EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %367) #3
  %369 = load double, ptr %368, align 8, !tbaa !9
  %370 = sext i32 %366 to i64
  %371 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %359, i64 noundef %370) #3
  store double %369, ptr %371, align 8, !tbaa !9
  %372 = add nuw i64 %.0145182, 1
  %373 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #3
  %374 = icmp ult i64 %372, %373
  br i1 %374, label %363, label %._crit_edge185, !llvm.loop !30

375:                                              ; preds = %._crit_edge185
  call void @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3popEv(ptr noundef nonnull align 8 dereferenceable(80) %360)
  %376 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #3
  %.not258 = icmp eq i64 %376, 0
  br i1 %.not258, label %.loopexit, label %.lr.ph188

.lr.ph188:                                        ; preds = %375
  %377 = getelementptr inbounds i8, ptr %0, i64 104
  br label %378

378:                                              ; preds = %.lr.ph188, %378
  %.0143186 = phi i64 [ 0, %.lr.ph188 ], [ %387, %378 ]
  %379 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %.0143186) #3
  %380 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3getILm0EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %379) #3
  %381 = load i32, ptr %380, align 4, !tbaa !5
  %382 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %.0143186) #3
  %383 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3getILm1EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %382) #3
  %384 = load double, ptr %383, align 8, !tbaa !9
  %385 = sext i32 %381 to i64
  %386 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %377, i64 noundef %385) #3
  store double %384, ptr %386, align 8, !tbaa !9
  %387 = add nuw i64 %.0143186, 1
  %388 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #3
  %389 = icmp ult i64 %387, %388
  br i1 %389, label %378, label %.loopexit, !llvm.loop !31

390:                                              ; preds = %7
  %391 = getelementptr inbounds i8, ptr %0, i64 136
  %392 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3topEv(ptr noundef nonnull align 8 dereferenceable(80) %391)
  %393 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(24) %392)
          to label %394 unwind label %19

394:                                              ; preds = %390
  call void @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3popEv(ptr noundef nonnull align 8 dereferenceable(80) %391)
  %395 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #3
  %.not255 = icmp eq i64 %395, 0
  br i1 %.not255, label %._crit_edge178, label %.lr.ph177

.lr.ph177:                                        ; preds = %394
  %396 = getelementptr inbounds i8, ptr %0, i64 80
  br label %400

._crit_edge178:                                   ; preds = %400, %394
  %397 = getelementptr inbounds i8, ptr %0, i64 216
  %398 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3topEv(ptr noundef nonnull align 8 dereferenceable(80) %397)
  %399 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(24) %398)
          to label %412 unwind label %19

400:                                              ; preds = %.lr.ph177, %400
  %.0141175 = phi i64 [ 0, %.lr.ph177 ], [ %409, %400 ]
  %401 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %.0141175) #3
  %402 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3getILm0EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %401) #3
  %403 = load i32, ptr %402, align 4, !tbaa !5
  %404 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %.0141175) #3
  %405 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3getILm1EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %404) #3
  %406 = load double, ptr %405, align 8, !tbaa !9
  %407 = sext i32 %403 to i64
  %408 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %396, i64 noundef %407) #3
  store double %406, ptr %408, align 8, !tbaa !9
  %409 = add nuw i64 %.0141175, 1
  %410 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #3
  %411 = icmp ult i64 %409, %410
  br i1 %411, label %400, label %._crit_edge178, !llvm.loop !32

412:                                              ; preds = %._crit_edge178
  call void @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3popEv(ptr noundef nonnull align 8 dereferenceable(80) %397)
  %413 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #3
  %.not256 = icmp eq i64 %413, 0
  br i1 %.not256, label %.loopexit, label %.lr.ph181

.lr.ph181:                                        ; preds = %412
  %414 = getelementptr inbounds i8, ptr %0, i64 104
  br label %415

415:                                              ; preds = %.lr.ph181, %415
  %.0139179 = phi i64 [ 0, %.lr.ph181 ], [ %424, %415 ]
  %416 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %.0139179) #3
  %417 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3getILm0EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %416) #3
  %418 = load i32, ptr %417, align 4, !tbaa !5
  %419 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %.0139179) #3
  %420 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3getILm1EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %419) #3
  %421 = load double, ptr %420, align 8, !tbaa !9
  %422 = sext i32 %418 to i64
  %423 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %414, i64 noundef %422) #3
  store double %421, ptr %423, align 8, !tbaa !9
  %424 = add nuw i64 %.0139179, 1
  %425 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #3
  %426 = icmp ult i64 %424, %425
  br i1 %426, label %415, label %.loopexit, !llvm.loop !33

427:                                              ; preds = %7
  %428 = getelementptr inbounds i8, ptr %0, i64 296
  %429 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3topEv(ptr noundef nonnull align 8 dereferenceable(80) %428)
  %430 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(24) %429)
          to label %431 unwind label %19

431:                                              ; preds = %427
  call void @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3popEv(ptr noundef nonnull align 8 dereferenceable(80) %428)
  %432 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #3
  %.not = icmp eq i64 %432, 0
  br i1 %.not, label %._crit_edge, label %.lr.ph

.lr.ph:                                           ; preds = %431
  %433 = getelementptr inbounds i8, ptr %0, i64 32
  br label %437

._crit_edge:                                      ; preds = %437, %431
  %434 = getelementptr inbounds i8, ptr %0, i64 376
  %435 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3topEv(ptr noundef nonnull align 8 dereferenceable(80) %434)
  %436 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(24) %435)
          to label %449 unwind label %19

437:                                              ; preds = %.lr.ph, %437
  %.0137167 = phi i64 [ 0, %.lr.ph ], [ %446, %437 ]
  %438 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %.0137167) #3
  %439 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3getILm0EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %438) #3
  %440 = load i32, ptr %439, align 4, !tbaa !5
  %441 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %.0137167) #3
  %442 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3getILm1EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %441) #3
  %443 = load double, ptr %442, align 8, !tbaa !9
  %444 = sext i32 %440 to i64
  %445 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %433, i64 noundef %444) #3
  store double %443, ptr %445, align 8, !tbaa !9
  %446 = add nuw i64 %.0137167, 1
  %447 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #3
  %448 = icmp ult i64 %446, %447
  br i1 %448, label %437, label %._crit_edge, !llvm.loop !34

449:                                              ; preds = %._crit_edge
  call void @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3popEv(ptr noundef nonnull align 8 dereferenceable(80) %434)
  %450 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #3
  %.not253 = icmp eq i64 %450, 0
  br i1 %.not253, label %._crit_edge171, label %.lr.ph170

.lr.ph170:                                        ; preds = %449
  %451 = getelementptr inbounds i8, ptr %0, i64 56
  br label %455

._crit_edge171:                                   ; preds = %455, %449
  %452 = getelementptr inbounds i8, ptr %0, i64 456
  %453 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3topEv(ptr noundef nonnull align 8 dereferenceable(80) %452)
  %454 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(24) %453)
          to label %467 unwind label %19

455:                                              ; preds = %.lr.ph170, %455
  %.0135168 = phi i64 [ 0, %.lr.ph170 ], [ %464, %455 ]
  %456 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %.0135168) #3
  %457 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3getILm0EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %456) #3
  %458 = load i32, ptr %457, align 4, !tbaa !5
  %459 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %.0135168) #3
  %460 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3getILm1EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %459) #3
  %461 = load double, ptr %460, align 8, !tbaa !9
  %462 = sext i32 %458 to i64
  %463 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %451, i64 noundef %462) #3
  store double %461, ptr %463, align 8, !tbaa !9
  %464 = add nuw i64 %.0135168, 1
  %465 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #3
  %466 = icmp ult i64 %464, %465
  br i1 %466, label %455, label %._crit_edge171, !llvm.loop !35

467:                                              ; preds = %._crit_edge171
  call void @_ZNSt5stackISt6vectorISt4pairIidESaIS2_EESt5dequeIS4_SaIS4_EEE3popEv(ptr noundef nonnull align 8 dereferenceable(80) %452)
  %468 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #3
  %.not254 = icmp eq i64 %468, 0
  br i1 %.not254, label %.loopexit, label %.lr.ph174

.lr.ph174:                                        ; preds = %467
  %469 = getelementptr inbounds i8, ptr %0, i64 8
  br label %470

470:                                              ; preds = %.lr.ph174, %470
  %.0133172 = phi i64 [ 0, %.lr.ph174 ], [ %479, %470 ]
  %471 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %.0133172) #3
  %472 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3getILm0EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %471) #3
  %473 = load i32, ptr %472, align 4, !tbaa !5
  %474 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %.0133172) #3
  %475 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3getILm1EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16) %474) #3
  %476 = load double, ptr %475, align 8, !tbaa !9
  %477 = sext i32 %473 to i64
  %478 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %469, i64 noundef %477) #3
  store double %476, ptr %478, align 8, !tbaa !9
  %479 = add nuw i64 %.0133172, 1
  %480 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #3
  %481 = icmp ult i64 %479, %480
  br i1 %481, label %470, label %.loopexit, !llvm.loop !36

.loopexit:                                        ; preds = %470, %415, %378, %339, %300, %245, %190, %171, %132, %91, %36, %467, %412, %375, %336, %297, %242, %187, %168, %129, %88, %33, %351, %312, %144, %103, %7
  call void @_ZNSt6vectorISt4pairIidESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %8) #3
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %8) #3
  ret void
}

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

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

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3getILm0EidERNSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeERS4_(ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #1

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt6vectorISt4pairIidESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24)) 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, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"double", !7, i64 0}
!11 = distinct !{!11, !12}
!12 = !{!"llvm.loop.mustprogress"}
!13 = distinct !{!13, !12}
!14 = distinct !{!14, !12}
!15 = distinct !{!15, !12}
!16 = distinct !{!16, !12}
!17 = distinct !{!17, !12}
!18 = distinct !{!18, !12}
!19 = distinct !{!19, !12}
!20 = distinct !{!20, !12}
!21 = distinct !{!21, !12}
!22 = distinct !{!22, !12}
!23 = distinct !{!23, !12}
!24 = distinct !{!24, !12}
!25 = distinct !{!25, !12}
!26 = distinct !{!26, !12}
!27 = distinct !{!27, !12}
!28 = distinct !{!28, !12}
!29 = distinct !{!29, !12}
!30 = distinct !{!30, !12}
!31 = distinct !{!31, !12}
!32 = distinct !{!32, !12}
!33 = distinct !{!33, !12}
!34 = distinct !{!34, !12}
!35 = distinct !{!35, !12}
!36 = distinct !{!36, !12}


; Effective O3 passes: CorrelatedValuePropagationPass,EarlyCSEPass,GlobalOptPass,InferFunctionAttrsPass,InstCombinePass,JumpThreadingPass,LICMPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,SROAPass,SimplifyCFGPass