; LLVM IR from ERGO-Code/HiGHS :: src/mip/HighsCliqueTable.ll (ZN16HighsCliqueTable16runCliqueMergingER11HighsDomain)

; 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" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<HighsCliqueTable::CliqueVar, std::allocator<HighsCliqueTable::CliqueVar>>::_Vector_impl" }
%"struct.std::_Vector_base<HighsCliqueTable::CliqueVar, std::allocator<HighsCliqueTable::CliqueVar>>::_Vector_impl" = type { %"struct.std::_Vector_base<HighsCliqueTable::CliqueVar, std::allocator<HighsCliqueTable::CliqueVar>>::_Vector_impl_data" }
%"struct.std::_Vector_base<HighsCliqueTable::CliqueVar, std::allocator<HighsCliqueTable::CliqueVar>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.26" = type { %"struct.std::_Vector_base.27" }
%"struct.std::_Vector_base.27" = type { %"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl" }
%"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl" = type { %"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl_data" }
%"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"struct.HighsCliqueTable::CliqueVar" = type { i32 }
%class.anon.419 = type { ptr, ptr, ptr }
%class.anon.420 = type { ptr }
%class.anon.421 = type { ptr }
%"class.__gnu_cxx::__normal_iterator" = type { ptr }
%"class.__gnu_cxx::__normal_iterator.57" = type { ptr }
%class.anon.422 = type { ptr }
%class.anon.423 = type { ptr }
%class.anon.424 = type { ptr }
%"class.__gnu_cxx::__normal_iterator.60" = type { ptr }
%class.anon.426 = type { ptr }
%class.HighsCliqueTable = type { %"class.std::vector", %"class.std::vector.3", %"class.std::vector.8", %class.HighsHashTable, %"class.std::set", %"class.std::vector.26", %"class.std::vector.31", %"class.std::vector.26", %"class.std::vector", %"class.std::vector.26", %"class.std::vector.36", %"class.std::vector.26", %"class.std::vector.41", %"class.std::vector.46", %"class.std::vector.46", %"class.std::vector.51", %"class.std::vector.26", %class.HighsRandom, i32, i32, i32, i32, i8, i64 }
%"class.std::vector.3" = type { %"struct.std::_Vector_base.4" }
%"struct.std::_Vector_base.4" = type { %"struct.std::_Vector_base<HighsHashTree<int, int>, std::allocator<HighsHashTree<int, int>>>::_Vector_impl" }
%"struct.std::_Vector_base<HighsHashTree<int, int>, std::allocator<HighsHashTree<int, int>>>::_Vector_impl" = type { %"struct.std::_Vector_base<HighsHashTree<int, int>, std::allocator<HighsHashTree<int, int>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<HighsHashTree<int, int>, std::allocator<HighsHashTree<int, int>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.8" = type { %"struct.std::_Vector_base.9" }
%"struct.std::_Vector_base.9" = type { %"struct.std::_Vector_base<HighsHashTree<int>, std::allocator<HighsHashTree<int>>>::_Vector_impl" }
%"struct.std::_Vector_base<HighsHashTree<int>, std::allocator<HighsHashTree<int>>>::_Vector_impl" = type { %"struct.std::_Vector_base<HighsHashTree<int>, std::allocator<HighsHashTree<int>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<HighsHashTree<int>, std::allocator<HighsHashTree<int>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%class.HighsHashTable = type { %"class.std::unique_ptr", %"class.std::unique_ptr.15", i64, i64, i64 }
%"class.std::unique_ptr" = type { %"struct.std::__uniq_ptr_data" }
%"struct.std::__uniq_ptr_data" = type { %"class.std::__uniq_ptr_impl" }
%"class.std::__uniq_ptr_impl" = type { %"class.std::tuple" }
%"class.std::tuple" = type { %"struct.std::_Tuple_impl" }
%"struct.std::_Tuple_impl" = type { %"struct.std::_Head_base.14" }
%"struct.std::_Head_base.14" = type { ptr }
%"class.std::unique_ptr.15" = type { %"struct.std::__uniq_ptr_data.16" }
%"struct.std::__uniq_ptr_data.16" = type { %"class.std::__uniq_ptr_impl.17" }
%"class.std::__uniq_ptr_impl.17" = type { %"class.std::tuple.18" }
%"class.std::tuple.18" = type { %"struct.std::_Tuple_impl.19" }
%"struct.std::_Tuple_impl.19" = type { %"struct.std::_Head_base.22" }
%"struct.std::_Head_base.22" = type { ptr }
%"class.std::set" = type { %"class.std::_Rb_tree" }
%"class.std::_Rb_tree" = type { %"struct.std::_Rb_tree<std::pair<int, int>, std::pair<int, int>, std::_Identity<std::pair<int, int>>, std::less<std::pair<int, int>>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::pair<int, int>, std::pair<int, int>, std::_Identity<std::pair<int, int>>, std::less<std::pair<int, int>>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"struct.std::_Rb_tree_header" = type { %"struct.std::_Rb_tree_node_base", i64 }
%"struct.std::_Rb_tree_node_base" = type { i32, ptr, ptr, ptr }
%"class.std::vector.31" = type { %"struct.std::_Vector_base.32" }
%"struct.std::_Vector_base.32" = type { %"struct.std::_Vector_base<HighsCliqueTable::Clique, std::allocator<HighsCliqueTable::Clique>>::_Vector_impl" }
%"struct.std::_Vector_base<HighsCliqueTable::Clique, std::allocator<HighsCliqueTable::Clique>>::_Vector_impl" = type { %"struct.std::_Vector_base<HighsCliqueTable::Clique, std::allocator<HighsCliqueTable::Clique>>::_Vector_impl_data" }
%"struct.std::_Vector_base<HighsCliqueTable::Clique, std::allocator<HighsCliqueTable::Clique>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.36" = type { %"struct.std::_Vector_base.37" }
%"struct.std::_Vector_base.37" = type { %"struct.std::_Vector_base<HighsCliqueTable::Substitution, std::allocator<HighsCliqueTable::Substitution>>::_Vector_impl" }
%"struct.std::_Vector_base<HighsCliqueTable::Substitution, std::allocator<HighsCliqueTable::Substitution>>::_Vector_impl" = type { %"struct.std::_Vector_base<HighsCliqueTable::Substitution, std::allocator<HighsCliqueTable::Substitution>>::_Vector_impl_data" }
%"struct.std::_Vector_base<HighsCliqueTable::Substitution, std::allocator<HighsCliqueTable::Substitution>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.41" = type { %"struct.std::_Vector_base.42" }
%"struct.std::_Vector_base.42" = type { %"struct.std::_Vector_base<std::pair<int, HighsCliqueTable::CliqueVar>, std::allocator<std::pair<int, HighsCliqueTable::CliqueVar>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::pair<int, HighsCliqueTable::CliqueVar>, std::allocator<std::pair<int, HighsCliqueTable::CliqueVar>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::pair<int, HighsCliqueTable::CliqueVar>, std::allocator<std::pair<int, HighsCliqueTable::CliqueVar>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::pair<int, HighsCliqueTable::CliqueVar>, std::allocator<std::pair<int, HighsCliqueTable::CliqueVar>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.46" = type { %"struct.std::_Vector_base.47" }
%"struct.std::_Vector_base.47" = type { %"struct.std::_Vector_base<unsigned char, std::allocator<unsigned char>>::_Vector_impl" }
%"struct.std::_Vector_base<unsigned char, std::allocator<unsigned char>>::_Vector_impl" = type { %"struct.std::_Vector_base<unsigned char, std::allocator<unsigned char>>::_Vector_impl_data" }
%"struct.std::_Vector_base<unsigned char, std::allocator<unsigned char>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.51" = type { %"struct.std::_Vector_base.52" }
%"struct.std::_Vector_base.52" = type { %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int>>::_Vector_impl" }
%"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int>>::_Vector_impl" = type { %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int>>::_Vector_impl_data" }
%"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%class.HighsRandom = type { i64 }
%"struct.HighsCliqueTable::Clique" = type { i32, i32, i32, i32, i8 }

@.str.52 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [16 x i8], align 1
@__PRETTY_FUNCTION__._ZN16HighsCliqueTable16runCliqueMergingER11HighsDomain = external hidden unnamed_addr constant [55 x i8], align 1

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

declare i32 @__gxx_personality_v0(...)

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZNK16HighsCliqueTable9CliqueVar5indexEv(ptr noundef nonnull align 4 dereferenceable(4)) #2 align 2

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

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

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

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

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite)
declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #3

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN16HighsCliqueTable12removeCliqueEi(ptr noundef nonnull align 8 dereferenceable(488), i32 noundef) #4 align 2

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNKSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE5emptyEv(ptr noundef nonnull align 8 dereferenceable(24)) #2 align 2

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

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNK16HighsCliqueTable9CliqueVareqERKS0_(ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4)) #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN16HighsCliqueTable11doAddCliqueEPKNS_9CliqueVarEibi(ptr noundef nonnull align 8 dereferenceable(488), ptr noundef, i32 noundef, i1 noundef zeroext, i32 noundef) #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZNK16HighsCliqueTable10numCliquesENS_9CliqueVarE(ptr noundef nonnull align 8 dereferenceable(488), i32) #2 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN16HighsCliqueTable25processInfeasibleVerticesER11HighsDomain(ptr noundef nonnull align 8 dereferenceable(488), ptr noundef nonnull align 8 dereferenceable(824)) #4 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN11HighsRandom7shuffleIN16HighsCliqueTable9CliqueVarEEEvPT_i(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef, i32 noundef) #4 align 2

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZNK11HighsDomain16numModelNonzerosEv(ptr noundef nonnull align 8 dereferenceable(824)) #4 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN16HighsCliqueTable16vertexInfeasibleER11HighsDomainii(ptr noundef nonnull align 8 dereferenceable(488), ptr noundef nonnull align 8 dereferenceable(824), i32 noundef, i32 noundef) #4 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN16HighsCliqueTable16runCliqueMergingER11HighsDomainRSt6vectorINS_9CliqueVarESaIS3_EEb(ptr noundef nonnull align 8 dereferenceable(488), ptr noundef nonnull align 8 dereferenceable(824), ptr noundef nonnull align 8 dereferenceable(24), i1 noundef zeroext) #4 align 2

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

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN16HighsCliqueTable16runCliqueMergingER11HighsDomain(ptr noundef nonnull align 8 dereferenceable(488) %0, ptr noundef nonnull align 8 dereferenceable(824) %1) #4 align 2 personality ptr @__gxx_personality_v0 {
  %3 = alloca ptr, align 8
  %4 = alloca ptr, align 8
  %5 = alloca %"class.std::vector", align 8
  %6 = alloca ptr, align 8
  %7 = alloca i32, align 4
  %8 = alloca %"class.std::vector.26", align 8
  %9 = alloca i32, align 4
  %10 = alloca i32, align 4
  %11 = alloca i8, align 1
  %12 = alloca i32, align 4
  %13 = alloca i32, align 4
  %14 = alloca i32, align 4
  %15 = alloca ptr, align 8
  %16 = alloca %"struct.HighsCliqueTable::CliqueVar", align 4
  %17 = alloca i32, align 4
  %18 = alloca %"struct.HighsCliqueTable::CliqueVar", align 4
  %19 = alloca i32, align 4
  %20 = alloca i32, align 4
  %21 = alloca %"struct.HighsCliqueTable::CliqueVar", align 4
  %22 = alloca i32, align 4
  %23 = alloca %class.anon.419, align 8
  %24 = alloca %class.anon.420, align 8
  %25 = alloca %class.anon.421, align 8
  %26 = alloca i32, align 4
  %27 = alloca ptr, align 8
  %28 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %29 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %30 = alloca %"struct.HighsCliqueTable::CliqueVar", align 4
  %31 = alloca i32, align 4
  %32 = alloca i32, align 4
  %33 = alloca %"struct.HighsCliqueTable::CliqueVar", align 4
  %34 = alloca %"class.__gnu_cxx::__normal_iterator.57", align 8
  %35 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %36 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %37 = alloca %"class.__gnu_cxx::__normal_iterator.57", align 8
  %38 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %39 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %40 = alloca i64, align 8
  %41 = alloca %"struct.HighsCliqueTable::CliqueVar", align 4
  %42 = alloca i32, align 4
  %43 = alloca %"struct.HighsCliqueTable::CliqueVar", align 4
  %44 = alloca %"class.__gnu_cxx::__normal_iterator.57", align 8
  %45 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %46 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %47 = alloca %"class.__gnu_cxx::__normal_iterator.57", align 8
  %48 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %49 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %50 = alloca ptr, align 8
  %51 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %52 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %53 = alloca %"struct.HighsCliqueTable::CliqueVar", align 4
  %54 = alloca i32, align 4
  %55 = alloca i32, align 4
  %56 = alloca %"class.__gnu_cxx::__normal_iterator.57", align 8
  %57 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %58 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %59 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %60 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %61 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %62 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %63 = alloca %"class.__gnu_cxx::__normal_iterator.57", align 8
  %64 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %65 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %66 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %67 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %68 = alloca %class.anon.422, align 8
  %69 = alloca %"class.__gnu_cxx::__normal_iterator.57", align 8
  %70 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %71 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %72 = alloca ptr, align 8
  %73 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %74 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %75 = alloca %"struct.HighsCliqueTable::CliqueVar", align 4
  %76 = alloca %class.anon.423, align 8
  %77 = alloca %class.anon.424, align 8
  %78 = alloca i8, align 1
  %79 = alloca i32, align 4
  %80 = alloca ptr, align 8
  %81 = alloca %"class.__gnu_cxx::__normal_iterator.60", align 8
  %82 = alloca %"class.__gnu_cxx::__normal_iterator.60", align 8
  %83 = alloca i32, align 4
  %84 = alloca i32, align 4
  %85 = alloca ptr, align 8
  %86 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %87 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %88 = alloca %"struct.HighsCliqueTable::CliqueVar", align 4
  %89 = alloca i8, align 1
  %90 = alloca i8, align 1
  %91 = alloca i32, align 4
  %92 = alloca %"class.__gnu_cxx::__normal_iterator.57", align 8
  %93 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %94 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %95 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %96 = alloca %class.anon.426, align 8
  %97 = alloca %"class.__gnu_cxx::__normal_iterator.57", align 8
  %98 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %99 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %100 = alloca i32, align 4
  %101 = alloca i32, align 4
  %102 = alloca %"class.__gnu_cxx::__normal_iterator.57", align 8
  %103 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %104 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %105 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %106 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %107 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %108 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  store ptr %0, ptr %3, align 8, !tbaa !5
  store ptr %1, ptr %4, align 8, !tbaa !5
  %109 = load ptr, ptr %3, align 8
  call void @llvm.lifetime.start.p0(i64 24, ptr %5) #7
  call void @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %5) #7
  %110 = getelementptr inbounds %class.HighsCliqueTable, ptr %109, i32 0, i32 13
  %111 = getelementptr inbounds %class.HighsCliqueTable, ptr %109, i32 0, i32 1
  %112 = call noundef i64 @_ZNKSt6vectorI13HighsHashTreeIiiESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %111) #7
  invoke void @_ZNSt6vectorIhSaIhEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %110, i64 noundef %112)
          to label %113 unwind label %127

113:                                              ; preds = %2
  call void @llvm.lifetime.start.p0(i64 24, ptr %8) #7
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %8) #7
  %114 = getelementptr inbounds %class.HighsCliqueTable, ptr %109, i32 0, i32 1
  %115 = call noundef i64 @_ZNKSt6vectorI13HighsHashTreeIiiESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %114) #7
  invoke void @_ZNSt6vectorIiSaIiEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %115)
          to label %116 unwind label %131

116:                                              ; preds = %113
  %117 = getelementptr inbounds %class.HighsCliqueTable, ptr %109, i32 0, i32 15
  %118 = call noundef i64 @_ZNKSt6vectorIjSaIjEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %117) #7
  %119 = getelementptr inbounds %class.HighsCliqueTable, ptr %109, i32 0, i32 6
  %120 = call noundef i64 @_ZNKSt6vectorIN16HighsCliqueTable6CliqueESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %119) #7
  %121 = icmp ult i64 %118, %120
  br i1 %121, label %122, label %135

122:                                              ; preds = %116
  %123 = getelementptr inbounds %class.HighsCliqueTable, ptr %109, i32 0, i32 15
  %124 = getelementptr inbounds %class.HighsCliqueTable, ptr %109, i32 0, i32 6
  %125 = call noundef i64 @_ZNKSt6vectorIN16HighsCliqueTable6CliqueESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %124) #7
  invoke void @_ZNSt6vectorIjSaIjEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %123, i64 noundef %125)
          to label %126 unwind label %131

126:                                              ; preds = %122
  br label %135

127:                                              ; preds = %2
  %128 = landingpad { ptr, i32 }
          cleanup
  %129 = extractvalue { ptr, i32 } %128, 0
  store ptr %129, ptr %6, align 8
  %130 = extractvalue { ptr, i32 } %128, 1
  store i32 %130, ptr %7, align 4
  br label %1023

131:                                              ; preds = %122, %113
  %132 = landingpad { ptr, i32 }
          cleanup
  %133 = extractvalue { ptr, i32 } %132, 0
  store ptr %133, ptr %6, align 8
  %134 = extractvalue { ptr, i32 } %132, 1
  store i32 %134, ptr %7, align 4
  br label %1022

135:                                              ; preds = %126, %116
  call void @llvm.lifetime.start.p0(i64 4, ptr %9) #7
  %136 = getelementptr inbounds %class.HighsCliqueTable, ptr %109, i32 0, i32 6
  %137 = call noundef i64 @_ZNKSt6vectorIN16HighsCliqueTable6CliqueESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %136) #7
  %138 = trunc i64 %137 to i32
  store i32 %138, ptr %9, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %10) #7
  %139 = getelementptr inbounds %class.HighsCliqueTable, ptr %109, i32 0, i32 19
  %140 = load i32, ptr %139, align 4, !tbaa !11
  %141 = load ptr, ptr %4, align 8, !tbaa !5
  %142 = invoke noundef i32 @_ZNK11HighsDomain16numModelNonzerosEv(ptr noundef nonnull align 8 dereferenceable(824) %141)
          to label %143 unwind label %150

143:                                              ; preds = %135
  %144 = add nsw i32 %140, %142
  store i32 %144, ptr %10, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %11) #7
  store i8 0, ptr %11, align 1, !tbaa !73
  call void @llvm.lifetime.start.p0(i64 4, ptr %12) #7
  store i32 0, ptr %12, align 4, !tbaa !9
  br label %145

145:                                              ; preds = %925, %143
  %146 = load i32, ptr %12, align 4, !tbaa !9
  %147 = load i32, ptr %9, align 4, !tbaa !9
  %148 = icmp ne i32 %146, %147
  br i1 %148, label %154, label %149

149:                                              ; preds = %145
  store i32 2, ptr %13, align 4
  br label %930

150:                                              ; preds = %135
  %151 = landingpad { ptr, i32 }
          cleanup
  %152 = extractvalue { ptr, i32 } %151, 0
  store ptr %152, ptr %6, align 8
  %153 = extractvalue { ptr, i32 } %151, 1
  store i32 %153, ptr %7, align 4
  br label %1021

154:                                              ; preds = %145
  %155 = getelementptr inbounds %class.HighsCliqueTable, ptr %109, i32 0, i32 6
  %156 = load i32, ptr %12, align 4, !tbaa !9
  %157 = sext i32 %156 to i64
  %158 = call noundef nonnull align 4 dereferenceable(20) ptr @_ZNSt6vectorIN16HighsCliqueTable6CliqueESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %155, i64 noundef %157) #7
  %159 = getelementptr inbounds %"struct.HighsCliqueTable::Clique", ptr %158, i32 0, i32 0
  %160 = load i32, ptr %159, align 4, !tbaa !74
  %161 = icmp eq i32 %160, -1
  br i1 %161, label %162, label %163

162:                                              ; preds = %154
  br label %925

163:                                              ; preds = %154
  %164 = getelementptr inbounds %class.HighsCliqueTable, ptr %109, i32 0, i32 6
  %165 = load i32, ptr %12, align 4, !tbaa !9
  %166 = sext i32 %165 to i64
  %167 = call noundef nonnull align 4 dereferenceable(20) ptr @_ZNSt6vectorIN16HighsCliqueTable6CliqueESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %164, i64 noundef %166) #7
  %168 = getelementptr inbounds %"struct.HighsCliqueTable::Clique", ptr %167, i32 0, i32 4
  %169 = load i8, ptr %168, align 4, !tbaa !76, !range !77, !noundef !78
  %170 = trunc i8 %169 to i1
  br i1 %170, label %180, label %171

171:                                              ; preds = %163
  %172 = getelementptr inbounds %class.HighsCliqueTable, ptr %109, i32 0, i32 6
  %173 = load i32, ptr %12, align 4, !tbaa !9
  %174 = sext i32 %173 to i64
  %175 = call noundef nonnull align 4 dereferenceable(20) ptr @_ZNSt6vectorIN16HighsCliqueTable6CliqueESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %172, i64 noundef %174) #7
  %176 = getelementptr inbounds %"struct.HighsCliqueTable::Clique", ptr %175, i32 0, i32 2
  %177 = load i32, ptr %176, align 4, !tbaa !79
  %178 = icmp eq i32 %177, 2147483647
  br i1 %178, label %179, label %180

179:                                              ; preds = %171
  br label %925

180:                                              ; preds = %171, %163
  %181 = getelementptr inbounds %class.HighsCliqueTable, ptr %109, i32 0, i32 6
  %182 = load i32, ptr %12, align 4, !tbaa !9
  %183 = sext i32 %182 to i64
  %184 = call noundef nonnull align 4 dereferenceable(20) ptr @_ZNSt6vectorIN16HighsCliqueTable6CliqueESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %181, i64 noundef %183) #7
  %185 = getelementptr inbounds %"struct.HighsCliqueTable::Clique", ptr %184, i32 0, i32 2
  %186 = load i32, ptr %185, align 4, !tbaa !79
  %187 = icmp eq i32 %186, -1
  br i1 %187, label %188, label %189

188:                                              ; preds = %180
  store i8 1, ptr %11, align 1, !tbaa !73
  br label %925

189:                                              ; preds = %180
  call void @llvm.lifetime.start.p0(i64 4, ptr %14) #7
  %190 = getelementptr inbounds %class.HighsCliqueTable, ptr %109, i32 0, i32 6
  %191 = load i32, ptr %12, align 4, !tbaa !9
  %192 = sext i32 %191 to i64
  %193 = call noundef nonnull align 4 dereferenceable(20) ptr @_ZNSt6vectorIN16HighsCliqueTable6CliqueESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %190, i64 noundef %192) #7
  %194 = getelementptr inbounds %"struct.HighsCliqueTable::Clique", ptr %193, i32 0, i32 1
  %195 = load i32, ptr %194, align 4, !tbaa !80
  %196 = getelementptr inbounds %class.HighsCliqueTable, ptr %109, i32 0, i32 6
  %197 = load i32, ptr %12, align 4, !tbaa !9
  %198 = sext i32 %197 to i64
  %199 = call noundef nonnull align 4 dereferenceable(20) ptr @_ZNSt6vectorIN16HighsCliqueTable6CliqueESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %196, i64 noundef %198) #7
  %200 = getelementptr inbounds %"struct.HighsCliqueTable::Clique", ptr %199, i32 0, i32 0
  %201 = load i32, ptr %200, align 4, !tbaa !74
  %202 = sub nsw i32 %195, %201
  store i32 %202, ptr %14, align 4, !tbaa !9
  %203 = load i32, ptr %14, align 4, !tbaa !9
  %204 = icmp ne i32 %203, 0
  br i1 %204, label %205, label %206

205:                                              ; preds = %189
  br label %208

206:                                              ; preds = %189
  call void @__assert_fail(ptr noundef @.str.60, ptr noundef @.str.52, i32 noundef 2080, ptr noundef @__PRETTY_FUNCTION__._ZN16HighsCliqueTable16runCliqueMergingER11HighsDomain) #8
  unreachable

207:                                              ; No predecessors!
  br label %208

208:                                              ; preds = %207, %205
  %209 = load i32, ptr %14, align 4, !tbaa !9
  %210 = icmp eq i32 %209, 0
  br i1 %210, label %211, label %212

211:                                              ; preds = %208
  store i32 4, ptr %13, align 4
  br label %922

212:                                              ; preds = %208
  call void @llvm.lifetime.start.p0(i64 8, ptr %15) #7
  %213 = getelementptr inbounds %class.HighsCliqueTable, ptr %109, i32 0, i32 0
  %214 = getelementptr inbounds %class.HighsCliqueTable, ptr %109, i32 0, i32 6
  %215 = load i32, ptr %12, align 4, !tbaa !9
  %216 = sext i32 %215 to i64
  %217 = call noundef nonnull align 4 dereferenceable(20) ptr @_ZNSt6vectorIN16HighsCliqueTable6CliqueESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %214, i64 noundef %216) #7
  %218 = getelementptr inbounds %"struct.HighsCliqueTable::Clique", ptr %217, i32 0, i32 0
  %219 = load i32, ptr %218, align 4, !tbaa !74
  %220 = sext i32 %219 to i64
  %221 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %213, i64 noundef %220) #7
  store ptr %221, ptr %15, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %16) #7
  %222 = load ptr, ptr %15, align 8, !tbaa !5
  %223 = getelementptr inbounds %"struct.HighsCliqueTable::CliqueVar", ptr %222, i64 0
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %16, ptr align 4 %223, i64 4, i1 false), !tbaa.struct !81
  call void @llvm.lifetime.start.p0(i64 4, ptr %17) #7
  %224 = load ptr, ptr %15, align 8, !tbaa !5
  %225 = getelementptr inbounds %"struct.HighsCliqueTable::CliqueVar", ptr %224, i64 0
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %18, ptr align 4 %225, i64 4, i1 false), !tbaa.struct !81
  %226 = getelementptr inbounds %"struct.HighsCliqueTable::CliqueVar", ptr %18, i32 0, i32 0
  %227 = load i32, ptr %226, align 4
  %228 = invoke noundef i32 @_ZNK16HighsCliqueTable10numCliquesENS_9CliqueVarE(ptr noundef nonnull align 8 dereferenceable(488) %109, i32 %227)
          to label %229 unwind label %235

229:                                              ; preds = %212
  store i32 %228, ptr %17, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %19) #7
  store i32 1, ptr %19, align 4, !tbaa !9
  br label %230

230:                                              ; preds = %262, %229
  %231 = load i32, ptr %19, align 4, !tbaa !9
  %232 = load i32, ptr %14, align 4, !tbaa !9
  %233 = icmp ne i32 %231, %232
  br i1 %233, label %239, label %234

234:                                              ; preds = %230
  store i32 5, ptr %13, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #7
  br label %265

235:                                              ; preds = %212
  %236 = landingpad { ptr, i32 }
          cleanup
  %237 = extractvalue { ptr, i32 } %236, 0
  store ptr %237, ptr %6, align 8
  %238 = extractvalue { ptr, i32 } %236, 1
  store i32 %238, ptr %7, align 4
  br label %929

239:                                              ; preds = %230
  call void @llvm.lifetime.start.p0(i64 4, ptr %20) #7
  %240 = load ptr, ptr %15, align 8, !tbaa !5
  %241 = load i32, ptr %19, align 4, !tbaa !9
  %242 = sext i32 %241 to i64
  %243 = getelementptr inbounds %"struct.HighsCliqueTable::CliqueVar", ptr %240, i64 %242
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %21, ptr align 4 %243, i64 4, i1 false), !tbaa.struct !81
  %244 = getelementptr inbounds %"struct.HighsCliqueTable::CliqueVar", ptr %21, i32 0, i32 0
  %245 = load i32, ptr %244, align 4
  %246 = invoke noundef i32 @_ZNK16HighsCliqueTable10numCliquesENS_9CliqueVarE(ptr noundef nonnull align 8 dereferenceable(488) %109, i32 %245)
          to label %247 unwind label %257

247:                                              ; preds = %239
  store i32 %246, ptr %20, align 4, !tbaa !9
  %248 = load i32, ptr %20, align 4, !tbaa !9
  %249 = load i32, ptr %17, align 4, !tbaa !9
  %250 = icmp slt i32 %248, %249
  br i1 %250, label %251, label %261

251:                                              ; preds = %247
  %252 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %252, ptr %17, align 4, !tbaa !9
  %253 = load ptr, ptr %15, align 8, !tbaa !5
  %254 = load i32, ptr %19, align 4, !tbaa !9
  %255 = sext i32 %254 to i64
  %256 = getelementptr inbounds %"struct.HighsCliqueTable::CliqueVar", ptr %253, i64 %255
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %16, ptr align 4 %256, i64 4, i1 false), !tbaa.struct !81
  br label %261

257:                                              ; preds = %239
  %258 = landingpad { ptr, i32 }
          cleanup
  %259 = extractvalue { ptr, i32 } %258, 0
  store ptr %259, ptr %6, align 8
  %260 = extractvalue { ptr, i32 } %258, 1
  store i32 %260, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #7
  br label %929

261:                                              ; preds = %251, %247
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #7
  br label %262

262:                                              ; preds = %261
  %263 = load i32, ptr %19, align 4, !tbaa !9
  %264 = add nsw i32 %263, 1
  store i32 %264, ptr %19, align 4, !tbaa !9
  br label %230, !llvm.loop !83

265:                                              ; preds = %234
  call void @llvm.lifetime.start.p0(i64 4, ptr %22) #7
  store i32 0, ptr %22, align 4, !tbaa !9
  br label %266

266:                                              ; preds = %281, %265
  %267 = load i32, ptr %22, align 4, !tbaa !9
  %268 = load i32, ptr %14, align 4, !tbaa !9
  %269 = icmp ne i32 %267, %268
  br i1 %269, label %271, label %270

270:                                              ; preds = %266
  store i32 8, ptr %13, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #7
  br label %288

271:                                              ; preds = %266
  %272 = getelementptr inbounds %class.HighsCliqueTable, ptr %109, i32 0, i32 13
  %273 = load ptr, ptr %15, align 8, !tbaa !5
  %274 = load i32, ptr %22, align 4, !tbaa !9
  %275 = sext i32 %274 to i64
  %276 = getelementptr inbounds %"struct.HighsCliqueTable::CliqueVar", ptr %273, i64 %275
  %277 = invoke noundef i32 @_ZNK16HighsCliqueTable9CliqueVar5indexEv(ptr noundef nonnull align 4 dereferenceable(4) %276)
          to label %278 unwind label %284

278:                                              ; preds = %271
  %279 = sext i32 %277 to i64
  %280 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %272, i64 noundef %279) #7
  store i8 1, ptr %280, align 1, !tbaa !82
  br label %281

281:                                              ; preds = %278
  %282 = load i32, ptr %22, align 4, !tbaa !9
  %283 = add nsw i32 %282, 1
  store i32 %283, ptr %22, align 4, !tbaa !9
  br label %266, !llvm.loop !85

284:                                              ; preds = %271
  %285 = landingpad { ptr, i32 }
          cleanup
  %286 = extractvalue { ptr, i32 } %285, 0
  store ptr %286, ptr %6, align 8
  %287 = extractvalue { ptr, i32 } %285, 1
  store i32 %287, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #7
  br label %929

288:                                              ; preds = %270
  call void @llvm.lifetime.start.p0(i64 24, ptr %23) #7
  %289 = getelementptr inbounds %class.anon.419, ptr %23, i32 0, i32 0
  store ptr %109, ptr %289, align 8, !tbaa !86
  %290 = getelementptr inbounds %class.anon.419, ptr %23, i32 0, i32 1
  %291 = load ptr, ptr %4, align 8, !tbaa !5
  store ptr %291, ptr %290, align 8, !tbaa !5
  %292 = getelementptr inbounds %class.anon.419, ptr %23, i32 0, i32 2
  store ptr %5, ptr %292, align 8, !tbaa !5
  %293 = getelementptr inbounds %class.HighsCliqueTable, ptr %109, i32 0, i32 1
  %294 = invoke noundef i32 @_ZNK16HighsCliqueTable9CliqueVar5indexEv(ptr noundef nonnull align 4 dereferenceable(4) %16)
          to label %295 unwind label %312

295:                                              ; preds = %288
  %296 = sext i32 %294 to i64
  %297 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorI13HighsHashTreeIiiESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %293, i64 noundef %296) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %24) #7
  %298 = getelementptr inbounds %class.anon.420, ptr %24, i32 0, i32 0
  store ptr %23, ptr %298, align 8, !tbaa !5
  invoke void @"_ZNK13HighsHashTreeIiiE8for_eachIZN16HighsCliqueTable16runCliqueMergingER11HighsDomainE3$_1EEDTcldtcv19HighsHashTableEntryIiiE_E7forwardfp_EEOT_"(ptr noundef nonnull align 8 dereferenceable(8) %297, ptr noundef nonnull align 8 dereferenceable(8) %24)
          to label %299 unwind label %316

299:                                              ; preds = %295
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #7
  %300 = getelementptr inbounds %class.HighsCliqueTable, ptr %109, i32 0, i32 2
  %301 = invoke noundef i32 @_ZNK16HighsCliqueTable9CliqueVar5indexEv(ptr noundef nonnull align 4 dereferenceable(4) %16)
          to label %302 unwind label %312

302:                                              ; preds = %299
  %303 = sext i32 %301 to i64
  %304 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorI13HighsHashTreeIivESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %300, i64 noundef %303) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %25) #7
  %305 = getelementptr inbounds %class.anon.421, ptr %25, i32 0, i32 0
  store ptr %23, ptr %305, align 8, !tbaa !5
  invoke void @"_ZNK13HighsHashTreeIivE8for_eachIZN16HighsCliqueTable16runCliqueMergingER11HighsDomainE3$_2EEDTcldtcv19HighsHashTableEntryIivE_E7forwardfp_EEOT_"(ptr noundef nonnull align 8 dereferenceable(8) %304, ptr noundef nonnull align 8 dereferenceable(8) %25)
          to label %306 unwind label %320

306:                                              ; preds = %302
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %26) #7
  store i32 0, ptr %26, align 4, !tbaa !9
  br label %307

307:                                              ; preds = %334, %306
  %308 = load i32, ptr %26, align 4, !tbaa !9
  %309 = load i32, ptr %14, align 4, !tbaa !9
  %310 = icmp ne i32 %308, %309
  br i1 %310, label %324, label %311

311:                                              ; preds = %307
  store i32 11, ptr %13, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #7
  br label %341

312:                                              ; preds = %912, %430, %299, %288
  %313 = landingpad { ptr, i32 }
          cleanup
  %314 = extractvalue { ptr, i32 } %313, 0
  store ptr %314, ptr %6, align 8
  %315 = extractvalue { ptr, i32 } %313, 1
  store i32 %315, ptr %7, align 4
  br label %928

316:                                              ; preds = %295
  %317 = landingpad { ptr, i32 }
          cleanup
  %318 = extractvalue { ptr, i32 } %317, 0
  store ptr %318, ptr %6, align 8
  %319 = extractvalue { ptr, i32 } %317, 1
  store i32 %319, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #7
  br label %928

320:                                              ; preds = %302
  %321 = landingpad { ptr, i32 }
          cleanup
  %322 = extractvalue { ptr, i32 } %321, 0
  store ptr %322, ptr %6, align 8
  %323 = extractvalue { ptr, i32 } %321, 1
  store i32 %323, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #7
  br label %928

324:                                              ; preds = %307
  %325 = getelementptr inbounds %class.HighsCliqueTable, ptr %109, i32 0, i32 13
  %326 = load ptr, ptr %15, align 8, !tbaa !5
  %327 = load i32, ptr %26, align 4, !tbaa !9
  %328 = sext i32 %327 to i64
  %329 = getelementptr inbounds %"struct.HighsCliqueTable::CliqueVar", ptr %326, i64 %328
  %330 = invoke noundef i32 @_ZNK16HighsCliqueTable9CliqueVar5indexEv(ptr noundef nonnull align 4 dereferenceable(4) %329)
          to label %331 unwind label %337

331:                                              ; preds = %324
  %332 = sext i32 %330 to i64
  %333 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %325, i64 noundef %332) #7
  store i8 0, ptr %333, align 1, !tbaa !82
  br label %334

334:                                              ; preds = %331
  %335 = load i32, ptr %26, align 4, !tbaa !9
  %336 = add nsw i32 %335, 1
  store i32 %336, ptr %26, align 4, !tbaa !9
  br label %307, !llvm.loop !88

337:                                              ; preds = %324
  %338 = landingpad { ptr, i32 }
          cleanup
  %339 = extractvalue { ptr, i32 } %338, 0
  store ptr %339, ptr %6, align 8
  %340 = extractvalue { ptr, i32 } %338, 1
  store i32 %340, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #7
  br label %928

341:                                              ; preds = %311
  call void @llvm.lifetime.start.p0(i64 8, ptr %27) #7
  store ptr %5, ptr %27, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %28) #7
  %342 = load ptr, ptr %27, align 8, !tbaa !5
  %343 = call ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %342) #7
  %344 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %28, i32 0, i32 0
  store ptr %343, ptr %344, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %29) #7
  %345 = load ptr, ptr %27, align 8, !tbaa !5
  %346 = call ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %345) #7
  %347 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %29, i32 0, i32 0
  store ptr %346, ptr %347, align 8
  br label %348

348:                                              ; preds = %358, %341
  %349 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPN16HighsCliqueTable9CliqueVarESt6vectorIS2_SaIS2_EEEEbRKNS_17__normal_iteratorIT_T0_EESC_(ptr noundef nonnull align 8 dereferenceable(8) %28, ptr noundef nonnull align 8 dereferenceable(8) %29) #7
  br i1 %349, label %351, label %350

350:                                              ; preds = %348
  store i32 14, ptr %13, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %29) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #7
  br label %364

351:                                              ; preds = %348
  call void @llvm.lifetime.start.p0(i64 4, ptr %30) #7
  %352 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPN16HighsCliqueTable9CliqueVarESt6vectorIS2_SaIS2_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %28) #7
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %30, ptr align 4 %352, i64 4, i1 false), !tbaa.struct !81
  %353 = getelementptr inbounds %class.HighsCliqueTable, ptr %109, i32 0, i32 13
  %354 = invoke noundef i32 @_ZNK16HighsCliqueTable9CliqueVar5indexEv(ptr noundef nonnull align 4 dereferenceable(4) %30)
          to label %355 unwind label %360

355:                                              ; preds = %351
  %356 = sext i32 %354 to i64
  %357 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %353, i64 noundef %356) #7
  store i8 0, ptr %357, align 1, !tbaa !82
  call void @llvm.lifetime.end.p0(i64 4, ptr %30) #7
  br label %358

358:                                              ; preds = %355
  %359 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPN16HighsCliqueTable9CliqueVarESt6vectorIS2_SaIS2_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %28) #7
  br label %348

360:                                              ; preds = %351
  %361 = landingpad { ptr, i32 }
          cleanup
  %362 = extractvalue { ptr, i32 } %361, 0
  store ptr %362, ptr %6, align 8
  %363 = extractvalue { ptr, i32 } %361, 1
  store i32 %363, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %30) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %29) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #7
  br label %928

364:                                              ; preds = %350
  call void @llvm.lifetime.start.p0(i64 4, ptr %31) #7
  store i32 0, ptr %31, align 4, !tbaa !9
  br label %365

365:                                              ; preds = %415, %364
  %366 = load i32, ptr %31, align 4, !tbaa !9
  %367 = load i32, ptr %14, align 4, !tbaa !9
  %368 = icmp ne i32 %366, %367
  br i1 %368, label %369, label %372

369:                                              ; preds = %365
  %370 = call noundef zeroext i1 @_ZNKSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE5emptyEv(ptr noundef nonnull align 8 dereferenceable(24) %5) #7
  %371 = xor i1 %370, true
  br label %372

372:                                              ; preds = %369, %365
  %373 = phi i1 [ false, %365 ], [ %371, %369 ]
  br i1 %373, label %375, label %374

374:                                              ; preds = %372
  store i32 16, ptr %13, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #7
  br label %428

375:                                              ; preds = %372
  %376 = load ptr, ptr %15, align 8, !tbaa !5
  %377 = load i32, ptr %31, align 4, !tbaa !9
  %378 = sext i32 %377 to i64
  %379 = getelementptr inbounds %"struct.HighsCliqueTable::CliqueVar", ptr %376, i64 %378
  %380 = invoke noundef zeroext i1 @_ZNK16HighsCliqueTable9CliqueVareqERKS0_(ptr noundef nonnull align 4 dereferenceable(4) %379, ptr noundef nonnull align 4 dereferenceable(4) %16)
          to label %381 unwind label %383

381:                                              ; preds = %375
  br i1 %380, label %382, label %387

382:                                              ; preds = %381
  br label %415

383:                                              ; preds = %375
  %384 = landingpad { ptr, i32 }
          cleanup
  %385 = extractvalue { ptr, i32 } %384, 0
  store ptr %385, ptr %6, align 8
  %386 = extractvalue { ptr, i32 } %384, 1
  store i32 %386, ptr %7, align 4
  br label %427

387:                                              ; preds = %381
  call void @llvm.lifetime.start.p0(i64 4, ptr %32) #7
  %388 = getelementptr inbounds %class.HighsCliqueTable, ptr %109, i32 0, i32 23
  %389 = load ptr, ptr %15, align 8, !tbaa !5
  %390 = load i32, ptr %31, align 4, !tbaa !9
  %391 = sext i32 %390 to i64
  %392 = getelementptr inbounds %"struct.HighsCliqueTable::CliqueVar", ptr %389, i64 %391
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %33, ptr align 4 %392, i64 4, i1 false), !tbaa.struct !81
  %393 = call noundef ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %5) #7
  %394 = call noundef i64 @_ZNKSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %5) #7
  %395 = trunc i64 %394 to i32
  %396 = getelementptr inbounds %"struct.HighsCliqueTable::CliqueVar", ptr %33, i32 0, i32 0
  %397 = load i32, ptr %396, align 4
  %398 = invoke noundef i32 @_ZN16HighsCliqueTable21shrinkToNeighbourhoodERSt6vectorIiSaIiEERlNS_9CliqueVarEPS5_i(ptr noundef nonnull align 8 dereferenceable(488) %109, ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(8) %388, i32 %397, ptr noundef %393, i32 noundef %395)
          to label %399 unwind label %418

399:                                              ; preds = %387
  store i32 %398, ptr %32, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %35) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %36) #7
  %400 = call ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %5) #7
  %401 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %36, i32 0, i32 0
  store ptr %400, ptr %401, align 8
  %402 = load i32, ptr %32, align 4, !tbaa !9
  %403 = sext i32 %402 to i64
  %404 = call ptr @_ZNK9__gnu_cxx17__normal_iteratorIPN16HighsCliqueTable9CliqueVarESt6vectorIS2_SaIS2_EEEplEl(ptr noundef nonnull align 8 dereferenceable(8) %36, i64 noundef %403) #7
  %405 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %35, i32 0, i32 0
  store ptr %404, ptr %405, align 8
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKN16HighsCliqueTable9CliqueVarESt6vectorIS2_SaIS2_EEEC2IPS2_vEERKNS0_IT_S7_EE(ptr noundef nonnull align 8 dereferenceable(8) %34, ptr noundef nonnull align 8 dereferenceable(8) %35) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %38) #7
  %406 = call ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %5) #7
  %407 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %38, i32 0, i32 0
  store ptr %406, ptr %407, align 8
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKN16HighsCliqueTable9CliqueVarESt6vectorIS2_SaIS2_EEEC2IPS2_vEERKNS0_IT_S7_EE(ptr noundef nonnull align 8 dereferenceable(8) %37, ptr noundef nonnull align 8 dereferenceable(8) %38) #7
  %408 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.57", ptr %34, i32 0, i32 0
  %409 = load ptr, ptr %408, align 8
  %410 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.57", ptr %37, i32 0, i32 0
  %411 = load ptr, ptr %410, align 8
  %412 = invoke ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE5eraseEN9__gnu_cxx17__normal_iteratorIPKS1_S3_EES8_(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr %409, ptr %411)
          to label %413 unwind label %422

413:                                              ; preds = %399
  %414 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %39, i32 0, i32 0
  store ptr %412, ptr %414, align 8
  call void @llvm.lifetime.end.p0(i64 8, ptr %38) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %35) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #7
  br label %415

415:                                              ; preds = %413, %382
  %416 = load i32, ptr %31, align 4, !tbaa !9
  %417 = add nsw i32 %416, 1
  store i32 %417, ptr %31, align 4, !tbaa !9
  br label %365, !llvm.loop !89

418:                                              ; preds = %387
  %419 = landingpad { ptr, i32 }
          cleanup
  %420 = extractvalue { ptr, i32 } %419, 0
  store ptr %420, ptr %6, align 8
  %421 = extractvalue { ptr, i32 } %419, 1
  store i32 %421, ptr %7, align 4
  br label %426

422:                                              ; preds = %399
  %423 = landingpad { ptr, i32 }
          cleanup
  %424 = extractvalue { ptr, i32 } %423, 0
  store ptr %424, ptr %6, align 8
  %425 = extractvalue { ptr, i32 } %423, 1
  store i32 %425, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %38) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %35) #7
  br label %426

426:                                              ; preds = %422, %418
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #7
  br label %427

427:                                              ; preds = %426, %383
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #7
  br label %928

428:                                              ; preds = %374
  %429 = call noundef zeroext i1 @_ZNKSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE5emptyEv(ptr noundef nonnull align 8 dereferenceable(24) %5) #7
  br i1 %429, label %486, label %430

430:                                              ; preds = %428
  %431 = getelementptr inbounds %class.HighsCliqueTable, ptr %109, i32 0, i32 17
  %432 = call noundef ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %5) #7
  %433 = call noundef i64 @_ZNKSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %5) #7
  %434 = trunc i64 %433 to i32
  invoke void @_ZN11HighsRandom7shuffleIN16HighsCliqueTable9CliqueVarEEEvPT_i(ptr noundef nonnull align 8 dereferenceable(8) %431, ptr noundef %432, i32 noundef %434)
          to label %435 unwind label %312

435:                                              ; preds = %430
  call void @llvm.lifetime.start.p0(i64 8, ptr %40) #7
  store i64 0, ptr %40, align 8, !tbaa !90
  br label %436

436:                                              ; preds = %474, %435
  %437 = load i64, ptr %40, align 8, !tbaa !90
  %438 = call noundef i64 @_ZNKSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %5) #7
  %439 = icmp ult i64 %437, %438
  br i1 %439, label %440, label %485

440:                                              ; preds = %436
  call void @llvm.lifetime.start.p0(i64 4, ptr %41) #7
  %441 = load i64, ptr %40, align 8, !tbaa !90
  %442 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef %441) #7
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %41, ptr align 4 %442, i64 4, i1 false), !tbaa.struct !81
  %443 = load i64, ptr %40, align 8, !tbaa !90
  %444 = add i64 %443, 1
  store i64 %444, ptr %40, align 8, !tbaa !90
  call void @llvm.lifetime.start.p0(i64 4, ptr %42) #7
  %445 = load i64, ptr %40, align 8, !tbaa !90
  %446 = getelementptr inbounds %class.HighsCliqueTable, ptr %109, i32 0, i32 23
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %43, ptr align 4 %41, i64 4, i1 false), !tbaa.struct !81
  %447 = call noundef ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %5) #7
  %448 = load i64, ptr %40, align 8, !tbaa !90
  %449 = getelementptr inbounds %"struct.HighsCliqueTable::CliqueVar", ptr %447, i64 %448
  %450 = call noundef i64 @_ZNKSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %5) #7
  %451 = load i64, ptr %40, align 8, !tbaa !90
  %452 = sub i64 %450, %451
  %453 = trunc i64 %452 to i32
  %454 = getelementptr inbounds %"struct.HighsCliqueTable::CliqueVar", ptr %43, i32 0, i32 0
  %455 = load i32, ptr %454, align 4
  %456 = invoke noundef i32 @_ZN16HighsCliqueTable21shrinkToNeighbourhoodERSt6vectorIiSaIiEERlNS_9CliqueVarEPS5_i(ptr noundef nonnull align 8 dereferenceable(488) %109, ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(8) %446, i32 %455, ptr noundef %449, i32 noundef %453)
          to label %457 unwind label %476

457:                                              ; preds = %440
  %458 = sext i32 %456 to i64
  %459 = add i64 %445, %458
  %460 = trunc i64 %459 to i32
  store i32 %460, ptr %42, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %45) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %46) #7
  %461 = call ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %5) #7
  %462 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %46, i32 0, i32 0
  store ptr %461, ptr %462, align 8
  %463 = load i32, ptr %42, align 4, !tbaa !9
  %464 = sext i32 %463 to i64
  %465 = call ptr @_ZNK9__gnu_cxx17__normal_iteratorIPN16HighsCliqueTable9CliqueVarESt6vectorIS2_SaIS2_EEEplEl(ptr noundef nonnull align 8 dereferenceable(8) %46, i64 noundef %464) #7
  %466 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %45, i32 0, i32 0
  store ptr %465, ptr %466, align 8
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKN16HighsCliqueTable9CliqueVarESt6vectorIS2_SaIS2_EEEC2IPS2_vEERKNS0_IT_S7_EE(ptr noundef nonnull align 8 dereferenceable(8) %44, ptr noundef nonnull align 8 dereferenceable(8) %45) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %48) #7
  %467 = call ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %5) #7
  %468 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %48, i32 0, i32 0
  store ptr %467, ptr %468, align 8
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKN16HighsCliqueTable9CliqueVarESt6vectorIS2_SaIS2_EEEC2IPS2_vEERKNS0_IT_S7_EE(ptr noundef nonnull align 8 dereferenceable(8) %47, ptr noundef nonnull align 8 dereferenceable(8) %48) #7
  %469 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.57", ptr %44, i32 0, i32 0
  %470 = load ptr, ptr %469, align 8
  %471 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.57", ptr %47, i32 0, i32 0
  %472 = load ptr, ptr %471, align 8
  %473 = invoke ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE5eraseEN9__gnu_cxx17__normal_iteratorIPKS1_S3_EES8_(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr %470, ptr %472)
          to label %474 unwind label %480

474:                                              ; preds = %457
  %475 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %49, i32 0, i32 0
  store ptr %473, ptr %475, align 8
  call void @llvm.lifetime.end.p0(i64 8, ptr %48) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #7
  br label %436, !llvm.loop !91

476:                                              ; preds = %440
  %477 = landingpad { ptr, i32 }
          cleanup
  %478 = extractvalue { ptr, i32 } %477, 0
  store ptr %478, ptr %6, align 8
  %479 = extractvalue { ptr, i32 } %477, 1
  store i32 %479, ptr %7, align 4
  br label %484

480:                                              ; preds = %457
  %481 = landingpad { ptr, i32 }
          cleanup
  %482 = extractvalue { ptr, i32 } %481, 0
  store ptr %482, ptr %6, align 8
  %483 = extractvalue { ptr, i32 } %481, 1
  store i32 %483, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %48) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #7
  br label %484

484:                                              ; preds = %480, %476
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #7
  br label %928

485:                                              ; preds = %436
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #7
  br label %486

486:                                              ; preds = %485, %428
  %487 = getelementptr inbounds %class.HighsCliqueTable, ptr %109, i32 0, i32 6
  %488 = load i32, ptr %12, align 4, !tbaa !9
  %489 = sext i32 %488 to i64
  %490 = call noundef nonnull align 4 dereferenceable(20) ptr @_ZNSt6vectorIN16HighsCliqueTable6CliqueESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %487, i64 noundef %489) #7
  %491 = getelementptr inbounds %"struct.HighsCliqueTable::Clique", ptr %490, i32 0, i32 4
  %492 = load i8, ptr %491, align 4, !tbaa !76, !range !77, !noundef !78
  %493 = trunc i8 %492 to i1
  br i1 %493, label %494, label %519

494:                                              ; preds = %486
  call void @llvm.lifetime.start.p0(i64 8, ptr %50) #7
  store ptr %5, ptr %50, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %51) #7
  %495 = load ptr, ptr %50, align 8, !tbaa !5
  %496 = call ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %495) #7
  %497 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %51, i32 0, i32 0
  store ptr %496, ptr %497, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %52) #7
  %498 = load ptr, ptr %50, align 8, !tbaa !5
  %499 = call ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %498) #7
  %500 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %52, i32 0, i32 0
  store ptr %499, ptr %500, align 8
  br label %501

501:                                              ; preds = %512, %494
  %502 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPN16HighsCliqueTable9CliqueVarESt6vectorIS2_SaIS2_EEEEbRKNS_17__normal_iteratorIT_T0_EESC_(ptr noundef nonnull align 8 dereferenceable(8) %51, ptr noundef nonnull align 8 dereferenceable(8) %52) #7
  br i1 %502, label %504, label %503

503:                                              ; preds = %501
  store i32 21, ptr %13, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %52) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %51) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %50) #7
  br label %518

504:                                              ; preds = %501
  call void @llvm.lifetime.start.p0(i64 4, ptr %53) #7
  %505 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPN16HighsCliqueTable9CliqueVarESt6vectorIS2_SaIS2_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %51) #7
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %53, ptr align 4 %505, i64 4, i1 false), !tbaa.struct !81
  %506 = load ptr, ptr %4, align 8, !tbaa !5
  %507 = load i32, ptr %53, align 4
  %508 = and i32 %507, 2147483647
  %509 = load i32, ptr %53, align 4
  %510 = lshr i32 %509, 31
  invoke void @_ZN16HighsCliqueTable16vertexInfeasibleER11HighsDomainii(ptr noundef nonnull align 8 dereferenceable(488) %109, ptr noundef nonnull align 8 dereferenceable(824) %506, i32 noundef %508, i32 noundef %510)
          to label %511 unwind label %514

511:                                              ; preds = %504
  call void @llvm.lifetime.end.p0(i64 4, ptr %53) #7
  br label %512

512:                                              ; preds = %511
  %513 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPN16HighsCliqueTable9CliqueVarESt6vectorIS2_SaIS2_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %51) #7
  br label %501

514:                                              ; preds = %504
  %515 = landingpad { ptr, i32 }
          cleanup
  %516 = extractvalue { ptr, i32 } %515, 0
  store ptr %516, ptr %6, align 8
  %517 = extractvalue { ptr, i32 } %515, 1
  store i32 %517, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %53) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %52) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %51) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %50) #7
  br label %928

518:                                              ; preds = %503
  br label %912

519:                                              ; preds = %486
  call void @llvm.lifetime.start.p0(i64 4, ptr %54) #7
  %520 = getelementptr inbounds %class.HighsCliqueTable, ptr %109, i32 0, i32 6
  %521 = load i32, ptr %12, align 4, !tbaa !9
  %522 = sext i32 %521 to i64
  %523 = call noundef nonnull align 4 dereferenceable(20) ptr @_ZNSt6vectorIN16HighsCliqueTable6CliqueESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %520, i64 noundef %522) #7
  %524 = getelementptr inbounds %"struct.HighsCliqueTable::Clique", ptr %523, i32 0, i32 2
  %525 = load i32, ptr %524, align 4, !tbaa !79
  store i32 %525, ptr %54, align 4, !tbaa !9
  %526 = getelementptr inbounds %class.HighsCliqueTable, ptr %109, i32 0, i32 6
  %527 = load i32, ptr %12, align 4, !tbaa !9
  %528 = sext i32 %527 to i64
  %529 = call noundef nonnull align 4 dereferenceable(20) ptr @_ZNSt6vectorIN16HighsCliqueTable6CliqueESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %526, i64 noundef %528) #7
  %530 = getelementptr inbounds %"struct.HighsCliqueTable::Clique", ptr %529, i32 0, i32 2
  store i32 2147483647, ptr %530, align 4, !tbaa !79
  call void @llvm.lifetime.start.p0(i64 4, ptr %55) #7
  %531 = call noundef i64 @_ZNKSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %5) #7
  %532 = trunc i64 %531 to i32
  store i32 %532, ptr %55, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %57) #7
  %533 = call ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %5) #7
  %534 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %57, i32 0, i32 0
  store ptr %533, ptr %534, align 8
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKN16HighsCliqueTable9CliqueVarESt6vectorIS2_SaIS2_EEEC2IPS2_vEERKNS0_IT_S7_EE(ptr noundef nonnull align 8 dereferenceable(8) %56, ptr noundef nonnull align 8 dereferenceable(8) %57) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %59) #7
  %535 = getelementptr inbounds %class.HighsCliqueTable, ptr %109, i32 0, i32 0
  %536 = call ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %535) #7
  %537 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %59, i32 0, i32 0
  store ptr %536, ptr %537, align 8
  %538 = getelementptr inbounds %class.HighsCliqueTable, ptr %109, i32 0, i32 6
  %539 = load i32, ptr %12, align 4, !tbaa !9
  %540 = sext i32 %539 to i64
  %541 = call noundef nonnull align 4 dereferenceable(20) ptr @_ZNSt6vectorIN16HighsCliqueTable6CliqueESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %538, i64 noundef %540) #7
  %542 = getelementptr inbounds %"struct.HighsCliqueTable::Clique", ptr %541, i32 0, i32 0
  %543 = load i32, ptr %542, align 4, !tbaa !74
  %544 = sext i32 %543 to i64
  %545 = call ptr @_ZNK9__gnu_cxx17__normal_iteratorIPN16HighsCliqueTable9CliqueVarESt6vectorIS2_SaIS2_EEEplEl(ptr noundef nonnull align 8 dereferenceable(8) %59, i64 noundef %544) #7
  %546 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %58, i32 0, i32 0
  store ptr %545, ptr %546, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %61) #7
  %547 = getelementptr inbounds %class.HighsCliqueTable, ptr %109, i32 0, i32 0
  %548 = call ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %547) #7
  %549 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %61, i32 0, i32 0
  store ptr %548, ptr %549, align 8
  %550 = getelementptr inbounds %class.HighsCliqueTable, ptr %109, i32 0, i32 6
  %551 = load i32, ptr %12, align 4, !tbaa !9
  %552 = sext i32 %551 to i64
  %553 = call noundef nonnull align 4 dereferenceable(20) ptr @_ZNSt6vectorIN16HighsCliqueTable6CliqueESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %550, i64 noundef %552) #7
  %554 = getelementptr inbounds %"struct.HighsCliqueTable::Clique", ptr %553, i32 0, i32 1
  %555 = load i32, ptr %554, align 4, !tbaa !80
  %556 = sext i32 %555 to i64
  %557 = call ptr @_ZNK9__gnu_cxx17__normal_iteratorIPN16HighsCliqueTable9CliqueVarESt6vectorIS2_SaIS2_EEEplEl(ptr noundef nonnull align 8 dereferenceable(8) %61, i64 noundef %556) #7
  %558 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %60, i32 0, i32 0
  store ptr %557, ptr %558, align 8
  %559 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.57", ptr %56, i32 0, i32 0
  %560 = load ptr, ptr %559, align 8
  %561 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %58, i32 0, i32 0
  %562 = load ptr, ptr %561, align 8
  %563 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %60, i32 0, i32 0
  %564 = load ptr, ptr %563, align 8
  %565 = invoke ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE6insertIN9__gnu_cxx17__normal_iteratorIPS1_S3_EEvEES8_NS6_IPKS1_S3_EET_SC_(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr %560, ptr %562, ptr %564)
          to label %566 unwind label %606

566:                                              ; preds = %519
  %567 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %62, i32 0, i32 0
  store ptr %565, ptr %567, align 8
  call void @llvm.lifetime.end.p0(i64 8, ptr %61) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %59) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %57) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %64) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %66) #7
  %568 = call ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %5) #7
  %569 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %66, i32 0, i32 0
  store ptr %568, ptr %569, align 8
  %570 = load i32, ptr %55, align 4, !tbaa !9
  %571 = sext i32 %570 to i64
  %572 = call ptr @_ZNK9__gnu_cxx17__normal_iteratorIPN16HighsCliqueTable9CliqueVarESt6vectorIS2_SaIS2_EEEplEl(ptr noundef nonnull align 8 dereferenceable(8) %66, i64 noundef %571) #7
  %573 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %65, i32 0, i32 0
  store ptr %572, ptr %573, align 8
  %574 = call ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %5) #7
  %575 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %67, i32 0, i32 0
  store ptr %574, ptr %575, align 8
  %576 = getelementptr inbounds %class.anon.422, ptr %68, i32 0, i32 0
  store ptr %109, ptr %576, align 8, !tbaa !92
  %577 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %65, i32 0, i32 0
  %578 = load ptr, ptr %577, align 8
  %579 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %67, i32 0, i32 0
  %580 = load ptr, ptr %579, align 8
  %581 = getelementptr inbounds %class.anon.422, ptr %68, i32 0, i32 0
  %582 = load ptr, ptr %581, align 8
  %583 = invoke ptr @"_ZSt9remove_ifIN9__gnu_cxx17__normal_iteratorIPN16HighsCliqueTable9CliqueVarESt6vectorIS3_SaIS3_EEEEZNS2_16runCliqueMergingER11HighsDomainE3$_3ET_SC_SC_T0_"(ptr %578, ptr %580, ptr %582)
          to label %584 unwind label %610

584:                                              ; preds = %566
  %585 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %64, i32 0, i32 0
  store ptr %583, ptr %585, align 8
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKN16HighsCliqueTable9CliqueVarESt6vectorIS2_SaIS2_EEEC2IPS2_vEERKNS0_IT_S7_EE(ptr noundef nonnull align 8 dereferenceable(8) %63, ptr noundef nonnull align 8 dereferenceable(8) %64) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %70) #7
  %586 = call ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %5) #7
  %587 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %70, i32 0, i32 0
  store ptr %586, ptr %587, align 8
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKN16HighsCliqueTable9CliqueVarESt6vectorIS2_SaIS2_EEEC2IPS2_vEERKNS0_IT_S7_EE(ptr noundef nonnull align 8 dereferenceable(8) %69, ptr noundef nonnull align 8 dereferenceable(8) %70) #7
  %588 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.57", ptr %63, i32 0, i32 0
  %589 = load ptr, ptr %588, align 8
  %590 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.57", ptr %69, i32 0, i32 0
  %591 = load ptr, ptr %590, align 8
  %592 = invoke ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE5eraseEN9__gnu_cxx17__normal_iteratorIPKS1_S3_EES8_(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr %589, ptr %591)
          to label %593 unwind label %614

593:                                              ; preds = %584
  %594 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %71, i32 0, i32 0
  store ptr %592, ptr %594, align 8
  call void @llvm.lifetime.end.p0(i64 8, ptr %70) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %66) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %64) #7
  %595 = load i32, ptr %12, align 4, !tbaa !9
  invoke void @_ZN16HighsCliqueTable12removeCliqueEi(ptr noundef nonnull align 8 dereferenceable(488) %109, i32 noundef %595)
          to label %596 unwind label %619

596:                                              ; preds = %593
  call void @llvm.lifetime.start.p0(i64 8, ptr %72) #7
  store ptr %5, ptr %72, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %73) #7
  %597 = load ptr, ptr %72, align 8, !tbaa !5
  %598 = call ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %597) #7
  %599 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %73, i32 0, i32 0
  store ptr %598, ptr %599, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %74) #7
  %600 = load ptr, ptr %72, align 8, !tbaa !5
  %601 = call ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %600) #7
  %602 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %74, i32 0, i32 0
  store ptr %601, ptr %602, align 8
  br label %603

603:                                              ; preds = %639, %596
  %604 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPN16HighsCliqueTable9CliqueVarESt6vectorIS2_SaIS2_EEEEbRKNS_17__normal_iteratorIT_T0_EESC_(ptr noundef nonnull align 8 dereferenceable(8) %73, ptr noundef nonnull align 8 dereferenceable(8) %74) #7
  br i1 %604, label %623, label %605

605:                                              ; preds = %603
  store i32 23, ptr %13, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %74) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %73) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %72) #7
  br label %654

606:                                              ; preds = %519
  %607 = landingpad { ptr, i32 }
          cleanup
  %608 = extractvalue { ptr, i32 } %607, 0
  store ptr %608, ptr %6, align 8
  %609 = extractvalue { ptr, i32 } %607, 1
  store i32 %609, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %61) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %59) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %57) #7
  br label %911

610:                                              ; preds = %566
  %611 = landingpad { ptr, i32 }
          cleanup
  %612 = extractvalue { ptr, i32 } %611, 0
  store ptr %612, ptr %6, align 8
  %613 = extractvalue { ptr, i32 } %611, 1
  store i32 %613, ptr %7, align 4
  br label %618

614:                                              ; preds = %584
  %615 = landingpad { ptr, i32 }
          cleanup
  %616 = extractvalue { ptr, i32 } %615, 0
  store ptr %616, ptr %6, align 8
  %617 = extractvalue { ptr, i32 } %615, 1
  store i32 %617, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %70) #7
  br label %618

618:                                              ; preds = %614, %610
  call void @llvm.lifetime.end.p0(i64 8, ptr %66) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %64) #7
  br label %911

619:                                              ; preds = %593
  %620 = landingpad { ptr, i32 }
          cleanup
  %621 = extractvalue { ptr, i32 } %620, 0
  store ptr %621, ptr %6, align 8
  %622 = extractvalue { ptr, i32 } %620, 1
  store i32 %622, ptr %7, align 4
  br label %911

623:                                              ; preds = %603
  call void @llvm.lifetime.start.p0(i64 4, ptr %75) #7
  %624 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPN16HighsCliqueTable9CliqueVarESt6vectorIS2_SaIS2_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %73) #7
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %75, ptr align 4 %624, i64 4, i1 false), !tbaa.struct !81
  %625 = getelementptr inbounds %class.HighsCliqueTable, ptr %109, i32 0, i32 1
  %626 = invoke noundef i32 @_ZNK16HighsCliqueTable9CliqueVar5indexEv(ptr noundef nonnull align 4 dereferenceable(4) %75)
          to label %627 unwind label %641

627:                                              ; preds = %623
  %628 = sext i32 %626 to i64
  %629 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorI13HighsHashTreeIiiESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %625, i64 noundef %628) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %76) #7
  %630 = getelementptr inbounds %class.anon.423, ptr %76, i32 0, i32 0
  store ptr %109, ptr %630, align 8, !tbaa !94
  invoke void @"_ZNK13HighsHashTreeIiiE8for_eachIZN16HighsCliqueTable16runCliqueMergingER11HighsDomainE3$_4EEDTcldtcv19HighsHashTableEntryIiiE_E7forwardfp_EEOT_"(ptr noundef nonnull align 8 dereferenceable(8) %629, ptr noundef nonnull align 8 dereferenceable(8) %76)
          to label %631 unwind label %645

631:                                              ; preds = %627
  call void @llvm.lifetime.end.p0(i64 8, ptr %76) #7
  %632 = getelementptr inbounds %class.HighsCliqueTable, ptr %109, i32 0, i32 2
  %633 = invoke noundef i32 @_ZNK16HighsCliqueTable9CliqueVar5indexEv(ptr noundef nonnull align 4 dereferenceable(4) %75)
          to label %634 unwind label %641

634:                                              ; preds = %631
  %635 = sext i32 %633 to i64
  %636 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorI13HighsHashTreeIivESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %632, i64 noundef %635) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %77) #7
  %637 = getelementptr inbounds %class.anon.424, ptr %77, i32 0, i32 0
  store ptr %109, ptr %637, align 8, !tbaa !96
  invoke void @"_ZNK13HighsHashTreeIivE8for_eachIZN16HighsCliqueTable16runCliqueMergingER11HighsDomainE3$_5EEDTcldtcv19HighsHashTableEntryIivE_E7forwardfp_EEOT_"(ptr noundef nonnull align 8 dereferenceable(8) %636, ptr noundef nonnull align 8 dereferenceable(8) %77)
          to label %638 unwind label %649

638:                                              ; preds = %634
  call void @llvm.lifetime.end.p0(i64 8, ptr %77) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %75) #7
  br label %639

639:                                              ; preds = %638
  %640 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPN16HighsCliqueTable9CliqueVarESt6vectorIS2_SaIS2_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %73) #7
  br label %603

641:                                              ; preds = %631, %623
  %642 = landingpad { ptr, i32 }
          cleanup
  %643 = extractvalue { ptr, i32 } %642, 0
  store ptr %643, ptr %6, align 8
  %644 = extractvalue { ptr, i32 } %642, 1
  store i32 %644, ptr %7, align 4
  br label %653

645:                                              ; preds = %627
  %646 = landingpad { ptr, i32 }
          cleanup
  %647 = extractvalue { ptr, i32 } %646, 0
  store ptr %647, ptr %6, align 8
  %648 = extractvalue { ptr, i32 } %646, 1
  store i32 %648, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %76) #7
  br label %653

649:                                              ; preds = %634
  %650 = landingpad { ptr, i32 }
          cleanup
  %651 = extractvalue { ptr, i32 } %650, 0
  store ptr %651, ptr %6, align 8
  %652 = extractvalue { ptr, i32 } %650, 1
  store i32 %652, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %77) #7
  br label %653

653:                                              ; preds = %649, %645, %641
  call void @llvm.lifetime.end.p0(i64 4, ptr %75) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %74) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %73) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %72) #7
  br label %911

654:                                              ; preds = %605
  call void @llvm.lifetime.start.p0(i64 1, ptr %78) #7
  store i8 0, ptr %78, align 1, !tbaa !73
  call void @llvm.lifetime.start.p0(i64 4, ptr %79) #7
  store i32 2147483647, ptr %79, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %80) #7
  %655 = getelementptr inbounds %class.HighsCliqueTable, ptr %109, i32 0, i32 16
  store ptr %655, ptr %80, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %81) #7
  %656 = load ptr, ptr %80, align 8, !tbaa !5
  %657 = call ptr @_ZNSt6vectorIiSaIiEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %656) #7
  %658 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.60", ptr %81, i32 0, i32 0
  store ptr %657, ptr %658, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %82) #7
  %659 = load ptr, ptr %80, align 8, !tbaa !5
  %660 = call ptr @_ZNSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %659) #7
  %661 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.60", ptr %82, i32 0, i32 0
  store ptr %660, ptr %661, align 8
  br label %662

662:                                              ; preds = %807, %654
  %663 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESA_(ptr noundef nonnull align 8 dereferenceable(8) %81, ptr noundef nonnull align 8 dereferenceable(8) %82) #7
  br i1 %663, label %665, label %664

664:                                              ; preds = %662
  store i32 25, ptr %13, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %82) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %81) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %80) #7
  br label %810

665:                                              ; preds = %662
  call void @llvm.lifetime.start.p0(i64 4, ptr %83) #7
  %666 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %81) #7
  %667 = load i32, ptr %666, align 4, !tbaa !9
  store i32 %667, ptr %83, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %84) #7
  %668 = getelementptr inbounds %class.HighsCliqueTable, ptr %109, i32 0, i32 15
  %669 = load i32, ptr %83, align 4, !tbaa !9
  %670 = sext i32 %669 to i64
  %671 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %668, i64 noundef %670) #7
  %672 = load i32, ptr %671, align 4, !tbaa !9
  store i32 %672, ptr %84, align 4, !tbaa !9
  %673 = getelementptr inbounds %class.HighsCliqueTable, ptr %109, i32 0, i32 15
  %674 = load i32, ptr %83, align 4, !tbaa !9
  %675 = sext i32 %674 to i64
  %676 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %673, i64 noundef %675) #7
  store i32 0, ptr %676, align 4, !tbaa !9
  %677 = load i32, ptr %84, align 4, !tbaa !9
  %678 = call noundef i64 @_ZNKSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %5) #7
  %679 = trunc i64 %678 to i32
  %680 = icmp eq i32 %677, %679
  br i1 %680, label %681, label %705

681:                                              ; preds = %665
  store i8 1, ptr %78, align 1, !tbaa !73
  %682 = getelementptr inbounds %class.HighsCliqueTable, ptr %109, i32 0, i32 6
  %683 = load i32, ptr %83, align 4, !tbaa !9
  %684 = sext i32 %683 to i64
  %685 = call noundef nonnull align 4 dereferenceable(20) ptr @_ZNSt6vectorIN16HighsCliqueTable6CliqueESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %682, i64 noundef %684) #7
  %686 = getelementptr inbounds %"struct.HighsCliqueTable::Clique", ptr %685, i32 0, i32 2
  %687 = load i32, ptr %686, align 4, !tbaa !79
  %688 = icmp ne i32 %687, 2147483647
  br i1 %688, label %689, label %704

689:                                              ; preds = %681
  %690 = getelementptr inbounds %class.HighsCliqueTable, ptr %109, i32 0, i32 6
  %691 = load i32, ptr %83, align 4, !tbaa !9
  %692 = sext i32 %691 to i64
  %693 = call noundef nonnull align 4 dereferenceable(20) ptr @_ZNSt6vectorIN16HighsCliqueTable6CliqueESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %690, i64 noundef %692) #7
  %694 = getelementptr inbounds %"struct.HighsCliqueTable::Clique", ptr %693, i32 0, i32 2
  %695 = load i32, ptr %694, align 4, !tbaa !79
  %696 = icmp ne i32 %695, -1
  br i1 %696, label %697, label %704

697:                                              ; preds = %689
  %698 = getelementptr inbounds %class.HighsCliqueTable, ptr %109, i32 0, i32 6
  %699 = load i32, ptr %83, align 4, !tbaa !9
  %700 = sext i32 %699 to i64
  %701 = call noundef nonnull align 4 dereferenceable(20) ptr @_ZNSt6vectorIN16HighsCliqueTable6CliqueESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %698, i64 noundef %700) #7
  %702 = getelementptr inbounds %"struct.HighsCliqueTable::Clique", ptr %701, i32 0, i32 2
  %703 = load i32, ptr %702, align 4, !tbaa !79
  store i32 %703, ptr %79, align 4, !tbaa !9
  br label %704

704:                                              ; preds = %697, %689, %681
  br label %806

705:                                              ; preds = %665
  %706 = getelementptr inbounds %class.HighsCliqueTable, ptr %109, i32 0, i32 6
  %707 = load i32, ptr %83, align 4, !tbaa !9
  %708 = sext i32 %707 to i64
  %709 = call noundef nonnull align 4 dereferenceable(20) ptr @_ZNSt6vectorIN16HighsCliqueTable6CliqueESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %706, i64 noundef %708) #7
  %710 = getelementptr inbounds %"struct.HighsCliqueTable::Clique", ptr %709, i32 0, i32 1
  %711 = load i32, ptr %710, align 4, !tbaa !80
  %712 = getelementptr inbounds %class.HighsCliqueTable, ptr %109, i32 0, i32 6
  %713 = load i32, ptr %83, align 4, !tbaa !9
  %714 = sext i32 %713 to i64
  %715 = call noundef nonnull align 4 dereferenceable(20) ptr @_ZNSt6vectorIN16HighsCliqueTable6CliqueESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %712, i64 noundef %714) #7
  %716 = getelementptr inbounds %"struct.HighsCliqueTable::Clique", ptr %715, i32 0, i32 0
  %717 = load i32, ptr %716, align 4, !tbaa !74
  %718 = sub nsw i32 %711, %717
  %719 = getelementptr inbounds %class.HighsCliqueTable, ptr %109, i32 0, i32 6
  %720 = load i32, ptr %83, align 4, !tbaa !9
  %721 = sext i32 %720 to i64
  %722 = call noundef nonnull align 4 dereferenceable(20) ptr @_ZNSt6vectorIN16HighsCliqueTable6CliqueESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %719, i64 noundef %721) #7
  %723 = getelementptr inbounds %"struct.HighsCliqueTable::Clique", ptr %722, i32 0, i32 3
  %724 = load i32, ptr %723, align 4, !tbaa !98
  %725 = sub nsw i32 %718, %724
  %726 = load i32, ptr %84, align 4, !tbaa !9
  %727 = icmp eq i32 %725, %726
  br i1 %727, label %728, label %805

728:                                              ; preds = %705
  %729 = getelementptr inbounds %class.HighsCliqueTable, ptr %109, i32 0, i32 6
  %730 = load i32, ptr %83, align 4, !tbaa !9
  %731 = sext i32 %730 to i64
  %732 = call noundef nonnull align 4 dereferenceable(20) ptr @_ZNSt6vectorIN16HighsCliqueTable6CliqueESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %729, i64 noundef %731) #7
  %733 = getelementptr inbounds %"struct.HighsCliqueTable::Clique", ptr %732, i32 0, i32 4
  %734 = load i8, ptr %733, align 4, !tbaa !76, !range !77, !noundef !78
  %735 = trunc i8 %734 to i1
  br i1 %735, label %736, label %797

736:                                              ; preds = %728
  call void @llvm.lifetime.start.p0(i64 8, ptr %85) #7
  store ptr %5, ptr %85, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %86) #7
  %737 = load ptr, ptr %85, align 8, !tbaa !5
  %738 = call ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %737) #7
  %739 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %86, i32 0, i32 0
  store ptr %738, ptr %739, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %87) #7
  %740 = load ptr, ptr %85, align 8, !tbaa !5
  %741 = call ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %740) #7
  %742 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %87, i32 0, i32 0
  store ptr %741, ptr %742, align 8
  br label %743

743:                                              ; preds = %794, %736
  %744 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPN16HighsCliqueTable9CliqueVarESt6vectorIS2_SaIS2_EEEEbRKNS_17__normal_iteratorIT_T0_EESC_(ptr noundef nonnull align 8 dereferenceable(8) %86, ptr noundef nonnull align 8 dereferenceable(8) %87) #7
  br i1 %744, label %746, label %745

745:                                              ; preds = %743
  store i32 27, ptr %13, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %87) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %86) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %85) #7
  br label %796

746:                                              ; preds = %743
  call void @llvm.lifetime.start.p0(i64 4, ptr %88) #7
  %747 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPN16HighsCliqueTable9CliqueVarESt6vectorIS2_SaIS2_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %86) #7
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %88, ptr align 4 %747, i64 4, i1 false), !tbaa.struct !81
  call void @llvm.lifetime.start.p0(i64 1, ptr %89) #7
  %748 = getelementptr inbounds %class.HighsCliqueTable, ptr %109, i32 0, i32 6
  %749 = load i32, ptr %83, align 4, !tbaa !9
  %750 = sext i32 %749 to i64
  %751 = call noundef nonnull align 4 dereferenceable(20) ptr @_ZNSt6vectorIN16HighsCliqueTable6CliqueESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %748, i64 noundef %750) #7
  %752 = getelementptr inbounds %"struct.HighsCliqueTable::Clique", ptr %751, i32 0, i32 1
  %753 = load i32, ptr %752, align 4, !tbaa !80
  %754 = getelementptr inbounds %class.HighsCliqueTable, ptr %109, i32 0, i32 6
  %755 = load i32, ptr %83, align 4, !tbaa !9
  %756 = sext i32 %755 to i64
  %757 = call noundef nonnull align 4 dereferenceable(20) ptr @_ZNSt6vectorIN16HighsCliqueTable6CliqueESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %754, i64 noundef %756) #7
  %758 = getelementptr inbounds %"struct.HighsCliqueTable::Clique", ptr %757, i32 0, i32 0
  %759 = load i32, ptr %758, align 4, !tbaa !74
  %760 = sub nsw i32 %753, %759
  %761 = icmp eq i32 %760, 2
  %762 = zext i1 %761 to i8
  store i8 %762, ptr %89, align 1, !tbaa !73
  call void @llvm.lifetime.start.p0(i64 1, ptr %90) #7
  %763 = load i8, ptr %89, align 1, !tbaa !73, !range !77, !noundef !78
  %764 = trunc i8 %763 to i1
  br i1 %764, label %765, label %773

765:                                              ; preds = %746
  %766 = getelementptr inbounds %class.HighsCliqueTable, ptr %109, i32 0, i32 2
  %767 = invoke noundef i32 @_ZNK16HighsCliqueTable9CliqueVar5indexEv(ptr noundef nonnull align 4 dereferenceable(4) %88)
          to label %768 unwind label %789

768:                                              ; preds = %765
  %769 = sext i32 %767 to i64
  %770 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorI13HighsHashTreeIivESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %766, i64 noundef %769) #7
  %771 = invoke noundef zeroext i1 @_ZNK13HighsHashTreeIivE8containsERKi(ptr noundef nonnull align 8 dereferenceable(8) %770, ptr noundef nonnull align 4 dereferenceable(4) %83)
          to label %772 unwind label %789

772:                                              ; preds = %768
  br label %781

773:                                              ; preds = %746
  %774 = getelementptr inbounds %class.HighsCliqueTable, ptr %109, i32 0, i32 1
  %775 = invoke noundef i32 @_ZNK16HighsCliqueTable9CliqueVar5indexEv(ptr noundef nonnull align 4 dereferenceable(4) %88)
          to label %776 unwind label %789

776:                                              ; preds = %773
  %777 = sext i32 %775 to i64
  %778 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorI13HighsHashTreeIiiESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %774, i64 noundef %777) #7
  %779 = invoke noundef zeroext i1 @_ZNK13HighsHashTreeIiiE8containsERKi(ptr noundef nonnull align 8 dereferenceable(8) %778, ptr noundef nonnull align 4 dereferenceable(4) %83)
          to label %780 unwind label %789

780:                                              ; preds = %776
  br label %781

781:                                              ; preds = %780, %772
  %782 = phi i1 [ %771, %772 ], [ %779, %780 ]
  %783 = zext i1 %782 to i8
  store i8 %783, ptr %90, align 1, !tbaa !73
  %784 = load i8, ptr %90, align 1, !tbaa !73, !range !77, !noundef !78
  %785 = trunc i8 %784 to i1
  br i1 %785, label %793, label %786

786:                                              ; preds = %781
  %787 = getelementptr inbounds %class.HighsCliqueTable, ptr %109, i32 0, i32 8
  invoke void @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE9push_backERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %787, ptr noundef nonnull align 4 dereferenceable(4) %88)
          to label %788 unwind label %789

788:                                              ; preds = %786
  br label %793

789:                                              ; preds = %786, %776, %773, %768, %765
  %790 = landingpad { ptr, i32 }
          cleanup
  %791 = extractvalue { ptr, i32 } %790, 0
  store ptr %791, ptr %6, align 8
  %792 = extractvalue { ptr, i32 } %790, 1
  store i32 %792, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 1, ptr %90) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %89) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %88) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %87) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %86) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %85) #7
  br label %809

793:                                              ; preds = %788, %781
  call void @llvm.lifetime.end.p0(i64 1, ptr %90) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %89) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %88) #7
  br label %794

794:                                              ; preds = %793
  %795 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPN16HighsCliqueTable9CliqueVarESt6vectorIS2_SaIS2_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %86) #7
  br label %743

796:                                              ; preds = %745
  br label %804

797:                                              ; preds = %728
  %798 = load i32, ptr %83, align 4, !tbaa !9
  invoke void @_ZN16HighsCliqueTable12removeCliqueEi(ptr noundef nonnull align 8 dereferenceable(488) %109, i32 noundef %798)
          to label %799 unwind label %800

799:                                              ; preds = %797
  br label %804

800:                                              ; preds = %797
  %801 = landingpad { ptr, i32 }
          cleanup
  %802 = extractvalue { ptr, i32 } %801, 0
  store ptr %802, ptr %6, align 8
  %803 = extractvalue { ptr, i32 } %801, 1
  store i32 %803, ptr %7, align 4
  br label %809

804:                                              ; preds = %799, %796
  br label %805

805:                                              ; preds = %804, %705
  br label %806

806:                                              ; preds = %805, %704
  call void @llvm.lifetime.end.p0(i64 4, ptr %84) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %83) #7
  br label %807

807:                                              ; preds = %806
  %808 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %81) #7
  br label %662

809:                                              ; preds = %800, %789
  call void @llvm.lifetime.end.p0(i64 4, ptr %84) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %83) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %82) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %81) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %80) #7
  br label %910

810:                                              ; preds = %664
  %811 = getelementptr inbounds %class.HighsCliqueTable, ptr %109, i32 0, i32 16
  call void @_ZNSt6vectorIiSaIiEE5clearEv(ptr noundef nonnull align 8 dereferenceable(24) %811) #7
  %812 = load i8, ptr %78, align 1, !tbaa !73, !range !77, !noundef !78
  %813 = trunc i8 %812 to i1
  br i1 %813, label %881, label %814

814:                                              ; preds = %810
  call void @llvm.lifetime.start.p0(i64 4, ptr %91) #7
  store i32 0, ptr %91, align 4, !tbaa !9
  br label %815

815:                                              ; preds = %827, %814
  %816 = load i32, ptr %91, align 4, !tbaa !9
  %817 = load i32, ptr %55, align 4, !tbaa !9
  %818 = icmp slt i32 %816, %817
  br i1 %818, label %820, label %819

819:                                              ; preds = %815
  store i32 29, ptr %13, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %91) #7
  br label %834

820:                                              ; preds = %815
  %821 = getelementptr inbounds %class.HighsCliqueTable, ptr %109, i32 0, i32 12
  %822 = load i32, ptr %91, align 4, !tbaa !9
  %823 = sext i32 %822 to i64
  %824 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef %823) #7
  %825 = invoke noundef nonnull align 1 ptr @_ZNSt6vectorISt4pairIiN16HighsCliqueTable9CliqueVarEESaIS3_EE12emplace_backIJRiRS2_EEERS3_DpOT_(ptr noundef nonnull align 8 dereferenceable(24) %821, ptr noundef nonnull align 4 dereferenceable(4) %54, ptr noundef nonnull align 4 dereferenceable(4) %824)
          to label %826 unwind label %830

826:                                              ; preds = %820
  br label %827

827:                                              ; preds = %826
  %828 = load i32, ptr %91, align 4, !tbaa !9
  %829 = add nsw i32 %828, 1
  store i32 %829, ptr %91, align 4, !tbaa !9
  br label %815, !llvm.loop !99

830:                                              ; preds = %820
  %831 = landingpad { ptr, i32 }
          cleanup
  %832 = extractvalue { ptr, i32 } %831, 0
  store ptr %832, ptr %6, align 8
  %833 = extractvalue { ptr, i32 } %831, 1
  store i32 %833, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %91) #7
  br label %910

834:                                              ; preds = %819
  call void @llvm.lifetime.start.p0(i64 8, ptr %93) #7
  %835 = call ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %5) #7
  %836 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %94, i32 0, i32 0
  store ptr %835, ptr %836, align 8
  %837 = call ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %5) #7
  %838 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %95, i32 0, i32 0
  store ptr %837, ptr %838, align 8
  %839 = getelementptr inbounds %class.anon.426, ptr %96, i32 0, i32 0
  %840 = load ptr, ptr %4, align 8, !tbaa !5
  store ptr %840, ptr %839, align 8, !tbaa !5
  %841 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %94, i32 0, i32 0
  %842 = load ptr, ptr %841, align 8
  %843 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %95, i32 0, i32 0
  %844 = load ptr, ptr %843, align 8
  %845 = getelementptr inbounds %class.anon.426, ptr %96, i32 0, i32 0
  %846 = load ptr, ptr %845, align 8
  %847 = invoke ptr @"_ZSt9remove_ifIN9__gnu_cxx17__normal_iteratorIPN16HighsCliqueTable9CliqueVarESt6vectorIS3_SaIS3_EEEEZNS2_16runCliqueMergingER11HighsDomainE3$_6ET_SC_SC_T0_"(ptr %842, ptr %844, ptr %846)
          to label %848 unwind label %867

848:                                              ; preds = %834
  %849 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %93, i32 0, i32 0
  store ptr %847, ptr %849, align 8
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKN16HighsCliqueTable9CliqueVarESt6vectorIS2_SaIS2_EEEC2IPS2_vEERKNS0_IT_S7_EE(ptr noundef nonnull align 8 dereferenceable(8) %92, ptr noundef nonnull align 8 dereferenceable(8) %93) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %98) #7
  %850 = call ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %5) #7
  %851 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %98, i32 0, i32 0
  store ptr %850, ptr %851, align 8
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKN16HighsCliqueTable9CliqueVarESt6vectorIS2_SaIS2_EEEC2IPS2_vEERKNS0_IT_S7_EE(ptr noundef nonnull align 8 dereferenceable(8) %97, ptr noundef nonnull align 8 dereferenceable(8) %98) #7
  %852 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.57", ptr %92, i32 0, i32 0
  %853 = load ptr, ptr %852, align 8
  %854 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.57", ptr %97, i32 0, i32 0
  %855 = load ptr, ptr %854, align 8
  %856 = invoke ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE5eraseEN9__gnu_cxx17__normal_iteratorIPKS1_S3_EES8_(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr %853, ptr %855)
          to label %857 unwind label %871

857:                                              ; preds = %848
  %858 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %99, i32 0, i32 0
  store ptr %856, ptr %858, align 8
  call void @llvm.lifetime.end.p0(i64 8, ptr %98) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %93) #7
  %859 = call noundef i64 @_ZNKSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %5) #7
  %860 = icmp ugt i64 %859, 1
  br i1 %860, label %861, label %880

861:                                              ; preds = %857
  %862 = call noundef ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %5) #7
  %863 = call noundef i64 @_ZNKSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %5) #7
  %864 = trunc i64 %863 to i32
  %865 = load i32, ptr %54, align 4, !tbaa !9
  invoke void @_ZN16HighsCliqueTable11doAddCliqueEPKNS_9CliqueVarEibi(ptr noundef nonnull align 8 dereferenceable(488) %109, ptr noundef %862, i32 noundef %864, i1 noundef zeroext false, i32 noundef %865)
          to label %866 unwind label %876

866:                                              ; preds = %861
  br label %880

867:                                              ; preds = %834
  %868 = landingpad { ptr, i32 }
          cleanup
  %869 = extractvalue { ptr, i32 } %868, 0
  store ptr %869, ptr %6, align 8
  %870 = extractvalue { ptr, i32 } %868, 1
  store i32 %870, ptr %7, align 4
  br label %875

871:                                              ; preds = %848
  %872 = landingpad { ptr, i32 }
          cleanup
  %873 = extractvalue { ptr, i32 } %872, 0
  store ptr %873, ptr %6, align 8
  %874 = extractvalue { ptr, i32 } %872, 1
  store i32 %874, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %98) #7
  br label %875

875:                                              ; preds = %871, %867
  call void @llvm.lifetime.end.p0(i64 8, ptr %93) #7
  br label %910

876:                                              ; preds = %884, %861
  %877 = landingpad { ptr, i32 }
          cleanup
  %878 = extractvalue { ptr, i32 } %877, 0
  store ptr %878, ptr %6, align 8
  %879 = extractvalue { ptr, i32 } %877, 1
  store i32 %879, ptr %7, align 4
  br label %910

880:                                              ; preds = %866, %857
  br label %909

881:                                              ; preds = %810
  %882 = load i32, ptr %79, align 4, !tbaa !9
  %883 = icmp ne i32 %882, 2147483647
  br i1 %883, label %884, label %887

884:                                              ; preds = %881
  %885 = getelementptr inbounds %class.HighsCliqueTable, ptr %109, i32 0, i32 11
  invoke void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %885, ptr noundef nonnull align 4 dereferenceable(4) %54)
          to label %886 unwind label %876

886:                                              ; preds = %884
  br label %908

887:                                              ; preds = %881
  call void @llvm.lifetime.start.p0(i64 4, ptr %100) #7
  store i32 0, ptr %100, align 4, !tbaa !9
  br label %888

888:                                              ; preds = %900, %887
  %889 = load i32, ptr %100, align 4, !tbaa !9
  %890 = load i32, ptr %55, align 4, !tbaa !9
  %891 = icmp slt i32 %889, %890
  br i1 %891, label %893, label %892

892:                                              ; preds = %888
  store i32 32, ptr %13, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %100) #7
  br label %907

893:                                              ; preds = %888
  %894 = getelementptr inbounds %class.HighsCliqueTable, ptr %109, i32 0, i32 12
  %895 = load i32, ptr %100, align 4, !tbaa !9
  %896 = sext i32 %895 to i64
  %897 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef %896) #7
  %898 = invoke noundef nonnull align 1 ptr @_ZNSt6vectorISt4pairIiN16HighsCliqueTable9CliqueVarEESaIS3_EE12emplace_backIJRiRS2_EEERS3_DpOT_(ptr noundef nonnull align 8 dereferenceable(24) %894, ptr noundef nonnull align 4 dereferenceable(4) %54, ptr noundef nonnull align 4 dereferenceable(4) %897)
          to label %899 unwind label %903

899:                                              ; preds = %893
  br label %900

900:                                              ; preds = %899
  %901 = load i32, ptr %100, align 4, !tbaa !9
  %902 = add nsw i32 %901, 1
  store i32 %902, ptr %100, align 4, !tbaa !9
  br label %888, !llvm.loop !100

903:                                              ; preds = %893
  %904 = landingpad { ptr, i32 }
          cleanup
  %905 = extractvalue { ptr, i32 } %904, 0
  store ptr %905, ptr %6, align 8
  %906 = extractvalue { ptr, i32 } %904, 1
  store i32 %906, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %100) #7
  br label %910

907:                                              ; preds = %892
  br label %908

908:                                              ; preds = %907, %886
  br label %909

909:                                              ; preds = %908, %880
  call void @llvm.lifetime.end.p0(i64 4, ptr %79) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %78) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %54) #7
  br label %912

910:                                              ; preds = %903, %876, %875, %830, %809
  call void @llvm.lifetime.end.p0(i64 4, ptr %79) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %78) #7
  br label %911

911:                                              ; preds = %910, %653, %619, %618, %606
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %54) #7
  br label %928

912:                                              ; preds = %909, %518
  call void @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE5clearEv(ptr noundef nonnull align 8 dereferenceable(24) %5) #7
  %913 = load ptr, ptr %4, align 8, !tbaa !5
  invoke void @_ZN16HighsCliqueTable25processInfeasibleVerticesER11HighsDomain(ptr noundef nonnull align 8 dereferenceable(488) %109, ptr noundef nonnull align 8 dereferenceable(824) %913)
          to label %914 unwind label %312

914:                                              ; preds = %912
  %915 = getelementptr inbounds %class.HighsCliqueTable, ptr %109, i32 0, i32 19
  %916 = load i32, ptr %915, align 4, !tbaa !11
  %917 = load i32, ptr %10, align 4, !tbaa !9
  %918 = icmp sge i32 %916, %917
  br i1 %918, label %919, label %920

919:                                              ; preds = %914
  store i32 2, ptr %13, align 4
  br label %921

920:                                              ; preds = %914
  store i32 0, ptr %13, align 4
  br label %921

921:                                              ; preds = %920, %919
  call void @llvm.lifetime.end.p0(i64 24, ptr %23) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %15) #7
  br label %922

922:                                              ; preds = %921, %211
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #7
  %923 = load i32, ptr %13, align 4
  switch i32 %923, label %930 [
    i32 0, label %924
    i32 4, label %925
  ]

924:                                              ; preds = %922
  br label %925

925:                                              ; preds = %924, %922, %188, %179, %162
  %926 = load i32, ptr %12, align 4, !tbaa !9
  %927 = add nsw i32 %926, 1
  store i32 %927, ptr %12, align 4, !tbaa !9
  br label %145, !llvm.loop !101

928:                                              ; preds = %911, %514, %484, %427, %360, %337, %320, %316, %312
  call void @llvm.lifetime.end.p0(i64 24, ptr %23) #7
  br label %929

929:                                              ; preds = %928, %284, %257, %235
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %15) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #7
  br label %1020

930:                                              ; preds = %922, %149
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #7
  br label %931

931:                                              ; preds = %930
  %932 = load i8, ptr %11, align 1, !tbaa !73, !range !77, !noundef !78
  %933 = trunc i8 %932 to i1
  br i1 %933, label %934, label %1019

934:                                              ; preds = %931
  call void @llvm.lifetime.start.p0(i64 4, ptr %101) #7
  store i32 0, ptr %101, align 4, !tbaa !9
  br label %935

935:                                              ; preds = %1014, %934
  %936 = load i32, ptr %101, align 4, !tbaa !9
  %937 = load i32, ptr %9, align 4, !tbaa !9
  %938 = icmp ne i32 %936, %937
  br i1 %938, label %940, label %939

939:                                              ; preds = %935
  store i32 35, ptr %13, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %101) #7
  br label %1018

940:                                              ; preds = %935
  %941 = getelementptr inbounds %class.HighsCliqueTable, ptr %109, i32 0, i32 6
  %942 = load i32, ptr %101, align 4, !tbaa !9
  %943 = sext i32 %942 to i64
  %944 = call noundef nonnull align 4 dereferenceable(20) ptr @_ZNSt6vectorIN16HighsCliqueTable6CliqueESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %941, i64 noundef %943) #7
  %945 = getelementptr inbounds %"struct.HighsCliqueTable::Clique", ptr %944, i32 0, i32 0
  %946 = load i32, ptr %945, align 4, !tbaa !74
  %947 = icmp eq i32 %946, -1
  br i1 %947, label %948, label %949

948:                                              ; preds = %940
  br label %1014

949:                                              ; preds = %940
  %950 = getelementptr inbounds %class.HighsCliqueTable, ptr %109, i32 0, i32 6
  %951 = load i32, ptr %101, align 4, !tbaa !9
  %952 = sext i32 %951 to i64
  %953 = call noundef nonnull align 4 dereferenceable(20) ptr @_ZNSt6vectorIN16HighsCliqueTable6CliqueESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %950, i64 noundef %952) #7
  %954 = getelementptr inbounds %"struct.HighsCliqueTable::Clique", ptr %953, i32 0, i32 2
  %955 = load i32, ptr %954, align 4, !tbaa !79
  %956 = icmp ne i32 %955, -1
  br i1 %956, label %957, label %958

957:                                              ; preds = %949
  br label %1014

958:                                              ; preds = %949
  call void @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE5clearEv(ptr noundef nonnull align 8 dereferenceable(24) %5) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %103) #7
  %959 = call ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %5) #7
  %960 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %103, i32 0, i32 0
  store ptr %959, ptr %960, align 8
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKN16HighsCliqueTable9CliqueVarESt6vectorIS2_SaIS2_EEEC2IPS2_vEERKNS0_IT_S7_EE(ptr noundef nonnull align 8 dereferenceable(8) %102, ptr noundef nonnull align 8 dereferenceable(8) %103) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %105) #7
  %961 = getelementptr inbounds %class.HighsCliqueTable, ptr %109, i32 0, i32 0
  %962 = call ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %961) #7
  %963 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %105, i32 0, i32 0
  store ptr %962, ptr %963, align 8
  %964 = getelementptr inbounds %class.HighsCliqueTable, ptr %109, i32 0, i32 6
  %965 = load i32, ptr %101, align 4, !tbaa !9
  %966 = sext i32 %965 to i64
  %967 = call noundef nonnull align 4 dereferenceable(20) ptr @_ZNSt6vectorIN16HighsCliqueTable6CliqueESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %964, i64 noundef %966) #7
  %968 = getelementptr inbounds %"struct.HighsCliqueTable::Clique", ptr %967, i32 0, i32 0
  %969 = load i32, ptr %968, align 4, !tbaa !74
  %970 = sext i32 %969 to i64
  %971 = call ptr @_ZNK9__gnu_cxx17__normal_iteratorIPN16HighsCliqueTable9CliqueVarESt6vectorIS2_SaIS2_EEEplEl(ptr noundef nonnull align 8 dereferenceable(8) %105, i64 noundef %970) #7
  %972 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %104, i32 0, i32 0
  store ptr %971, ptr %972, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %107) #7
  %973 = getelementptr inbounds %class.HighsCliqueTable, ptr %109, i32 0, i32 0
  %974 = call ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %973) #7
  %975 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %107, i32 0, i32 0
  store ptr %974, ptr %975, align 8
  %976 = getelementptr inbounds %class.HighsCliqueTable, ptr %109, i32 0, i32 6
  %977 = load i32, ptr %101, align 4, !tbaa !9
  %978 = sext i32 %977 to i64
  %979 = call noundef nonnull align 4 dereferenceable(20) ptr @_ZNSt6vectorIN16HighsCliqueTable6CliqueESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %976, i64 noundef %978) #7
  %980 = getelementptr inbounds %"struct.HighsCliqueTable::Clique", ptr %979, i32 0, i32 1
  %981 = load i32, ptr %980, align 4, !tbaa !80
  %982 = sext i32 %981 to i64
  %983 = call ptr @_ZNK9__gnu_cxx17__normal_iteratorIPN16HighsCliqueTable9CliqueVarESt6vectorIS2_SaIS2_EEEplEl(ptr noundef nonnull align 8 dereferenceable(8) %107, i64 noundef %982) #7
  %984 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %106, i32 0, i32 0
  store ptr %983, ptr %984, align 8
  %985 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.57", ptr %102, i32 0, i32 0
  %986 = load ptr, ptr %985, align 8
  %987 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %104, i32 0, i32 0
  %988 = load ptr, ptr %987, align 8
  %989 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %106, i32 0, i32 0
  %990 = load ptr, ptr %989, align 8
  %991 = invoke ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE6insertIN9__gnu_cxx17__normal_iteratorIPS1_S3_EEvEES8_NS6_IPKS1_S3_EET_SC_(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr %986, ptr %988, ptr %990)
          to label %992 unwind label %1005

992:                                              ; preds = %958
  %993 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %108, i32 0, i32 0
  store ptr %991, ptr %993, align 8
  call void @llvm.lifetime.end.p0(i64 8, ptr %107) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %105) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %103) #7
  %994 = load i32, ptr %101, align 4, !tbaa !9
  invoke void @_ZN16HighsCliqueTable12removeCliqueEi(ptr noundef nonnull align 8 dereferenceable(488) %109, i32 noundef %994)
          to label %995 unwind label %1009

995:                                              ; preds = %992
  %996 = load ptr, ptr %4, align 8, !tbaa !5
  invoke void @_ZN16HighsCliqueTable16runCliqueMergingER11HighsDomainRSt6vectorINS_9CliqueVarESaIS3_EEb(ptr noundef nonnull align 8 dereferenceable(488) %109, ptr noundef nonnull align 8 dereferenceable(824) %996, ptr noundef nonnull align 8 dereferenceable(24) %5, i1 noundef zeroext false)
          to label %997 unwind label %1009

997:                                              ; preds = %995
  %998 = call noundef i64 @_ZNKSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %5) #7
  %999 = icmp ugt i64 %998, 1
  br i1 %999, label %1000, label %1013

1000:                                             ; preds = %997
  %1001 = call noundef ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %5) #7
  %1002 = call noundef i64 @_ZNKSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %5) #7
  %1003 = trunc i64 %1002 to i32
  invoke void @_ZN16HighsCliqueTable11doAddCliqueEPKNS_9CliqueVarEibi(ptr noundef nonnull align 8 dereferenceable(488) %109, ptr noundef %1001, i32 noundef %1003, i1 noundef zeroext false, i32 noundef 2147483647)
          to label %1004 unwind label %1009

1004:                                             ; preds = %1000
  br label %1013

1005:                                             ; preds = %958
  %1006 = landingpad { ptr, i32 }
          cleanup
  %1007 = extractvalue { ptr, i32 } %1006, 0
  store ptr %1007, ptr %6, align 8
  %1008 = extractvalue { ptr, i32 } %1006, 1
  store i32 %1008, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %107) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %105) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %103) #7
  br label %1017

1009:                                             ; preds = %1000, %995, %992
  %1010 = landingpad { ptr, i32 }
          cleanup
  %1011 = extractvalue { ptr, i32 } %1010, 0
  store ptr %1011, ptr %6, align 8
  %1012 = extractvalue { ptr, i32 } %1010, 1
  store i32 %1012, ptr %7, align 4
  br label %1017

1013:                                             ; preds = %1004, %997
  br label %1014

1014:                                             ; preds = %1013, %957, %948
  %1015 = load i32, ptr %101, align 4, !tbaa !9
  %1016 = add nsw i32 %1015, 1
  store i32 %1016, ptr %101, align 4, !tbaa !9
  br label %935, !llvm.loop !102

1017:                                             ; preds = %1009, %1005
  call void @llvm.lifetime.end.p0(i64 4, ptr %101) #7
  br label %1020

1018:                                             ; preds = %939
  br label %1019

1019:                                             ; preds = %1018, %931
  call void @llvm.lifetime.end.p0(i64 1, ptr %11) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %10) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %9) #7
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %8) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %8) #7
  call void @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %5) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %5) #7
  ret void

1020:                                             ; preds = %1017, %929
  call void @llvm.lifetime.end.p0(i64 1, ptr %11) #7
  br label %1021

1021:                                             ; preds = %1020, %150
  call void @llvm.lifetime.end.p0(i64 4, ptr %10) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %9) #7
  br label %1022

1022:                                             ; preds = %1021, %131
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %8) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %8) #7
  br label %1023

1023:                                             ; preds = %1022, %127
  call void @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %5) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %5) #7
  br label %1024

1024:                                             ; preds = %1023
  %1025 = load ptr, ptr %6, align 8
  %1026 = load i32, ptr %7, align 4
  %1027 = insertvalue { ptr, i32 } poison, ptr %1025, 0
  %1028 = insertvalue { ptr, i32 } %1027, i32 %1026, 1
  resume { ptr, i32 } %1028
}

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNK13HighsHashTreeIiiE8for_eachIZN16HighsCliqueTable16runCliqueMergingER11HighsDomainE3$_1EEDTcldtcv19HighsHashTableEntryIiiE_E7forwardfp_EEOT_"(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) #4 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNK13HighsHashTreeIivE8for_eachIZN16HighsCliqueTable16runCliqueMergingER11HighsDomainE3$_2EEDTcldtcv19HighsHashTableEntryIivE_E7forwardfp_EEOT_"(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) #4 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare hidden ptr @"_ZSt9remove_ifIN9__gnu_cxx17__normal_iteratorIPN16HighsCliqueTable9CliqueVarESt6vectorIS3_SaIS3_EEEEZNS2_16runCliqueMergingER11HighsDomainE3$_3ET_SC_SC_T0_"(ptr, ptr, ptr) #6

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNK13HighsHashTreeIiiE8for_eachIZN16HighsCliqueTable16runCliqueMergingER11HighsDomainE3$_4EEDTcldtcv19HighsHashTableEntryIiiE_E7forwardfp_EEOT_"(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) #4 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNK13HighsHashTreeIivE8for_eachIZN16HighsCliqueTable16runCliqueMergingER11HighsDomainE3$_5EEDTcldtcv19HighsHashTableEntryIivE_E7forwardfp_EEOT_"(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) #4 align 2

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden ptr @"_ZSt9remove_ifIN9__gnu_cxx17__normal_iteratorIPN16HighsCliqueTable9CliqueVarESt6vectorIS3_SaIS3_EEEEZNS2_16runCliqueMergingER11HighsDomainE3$_6ET_SC_SC_T0_"(ptr, ptr, ptr) #6

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !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, !10, i64 460}
!12 = !{!"_ZTS16HighsCliqueTable", !13, i64 0, !17, i64 24, !21, i64 48, !25, i64 72, !39, i64 112, !47, i64 160, !51, i64 184, !47, i64 208, !13, i64 232, !47, i64 256, !55, i64 280, !47, i64 304, !59, i64 328, !63, i64 352, !63, i64 376, !67, i64 400, !47, i64 424, !71, i64 448, !10, i64 456, !10, i64 460, !10, i64 464, !10, i64 468, !72, i64 472, !38, i64 480}
!13 = !{!"_ZTSSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE", !14, i64 0}
!14 = !{!"_ZTSSt12_Vector_baseIN16HighsCliqueTable9CliqueVarESaIS1_EE", !15, i64 0}
!15 = !{!"_ZTSNSt12_Vector_baseIN16HighsCliqueTable9CliqueVarESaIS1_EE12_Vector_implE", !16, i64 0}
!16 = !{!"_ZTSNSt12_Vector_baseIN16HighsCliqueTable9CliqueVarESaIS1_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!17 = !{!"_ZTSSt6vectorI13HighsHashTreeIiiESaIS1_EE", !18, i64 0}
!18 = !{!"_ZTSSt12_Vector_baseI13HighsHashTreeIiiESaIS1_EE", !19, i64 0}
!19 = !{!"_ZTSNSt12_Vector_baseI13HighsHashTreeIiiESaIS1_EE12_Vector_implE", !20, i64 0}
!20 = !{!"_ZTSNSt12_Vector_baseI13HighsHashTreeIiiESaIS1_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!21 = !{!"_ZTSSt6vectorI13HighsHashTreeIivESaIS1_EE", !22, i64 0}
!22 = !{!"_ZTSSt12_Vector_baseI13HighsHashTreeIivESaIS1_EE", !23, i64 0}
!23 = !{!"_ZTSNSt12_Vector_baseI13HighsHashTreeIivESaIS1_EE12_Vector_implE", !24, i64 0}
!24 = !{!"_ZTSNSt12_Vector_baseI13HighsHashTreeIivESaIS1_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!25 = !{!"_ZTS14HighsHashTableISt4pairIN16HighsCliqueTable9CliqueVarES2_EiE", !26, i64 0, !32, i64 8, !38, i64 16, !38, i64 24, !38, i64 32}
!26 = !{!"_ZTSSt10unique_ptrI19HighsHashTableEntryISt4pairIN16HighsCliqueTable9CliqueVarES3_EiEN14HighsHashTableIS4_iE12OpNewDeleterEE", !27, i64 0}
!27 = !{!"_ZTSSt15__uniq_ptr_dataI19HighsHashTableEntryISt4pairIN16HighsCliqueTable9CliqueVarES3_EiEN14HighsHashTableIS4_iE12OpNewDeleterELb1ELb1EE", !28, i64 0}
!28 = !{!"_ZTSSt15__uniq_ptr_implI19HighsHashTableEntryISt4pairIN16HighsCliqueTable9CliqueVarES3_EiEN14HighsHashTableIS4_iE12OpNewDeleterEE", !29, i64 0}
!29 = !{!"_ZTSSt5tupleIJP19HighsHashTableEntryISt4pairIN16HighsCliqueTable9CliqueVarES3_EiEN14HighsHashTableIS4_iE12OpNewDeleterEEE", !30, i64 0}
!30 = !{!"_ZTSSt11_Tuple_implILm0EJP19HighsHashTableEntryISt4pairIN16HighsCliqueTable9CliqueVarES3_EiEN14HighsHashTableIS4_iE12OpNewDeleterEEE", !31, i64 0}
!31 = !{!"_ZTSSt10_Head_baseILm0EP19HighsHashTableEntryISt4pairIN16HighsCliqueTable9CliqueVarES3_EiELb0EE", !6, i64 0}
!32 = !{!"_ZTSSt10unique_ptrIA_hSt14default_deleteIS0_EE", !33, i64 0}
!33 = !{!"_ZTSSt15__uniq_ptr_dataIhSt14default_deleteIA_hELb1ELb1EE", !34, i64 0}
!34 = !{!"_ZTSSt15__uniq_ptr_implIhSt14default_deleteIA_hEE", !35, i64 0}
!35 = !{!"_ZTSSt5tupleIJPhSt14default_deleteIA_hEEE", !36, i64 0}
!36 = !{!"_ZTSSt11_Tuple_implILm0EJPhSt14default_deleteIA_hEEE", !37, i64 0}
!37 = !{!"_ZTSSt10_Head_baseILm0EPhLb0EE", !6, i64 0}
!38 = !{!"long", !7, i64 0}
!39 = !{!"_ZTSSt3setISt4pairIiiESt4lessIS1_ESaIS1_EE", !40, i64 0}
!40 = !{!"_ZTSSt8_Rb_treeISt4pairIiiES1_St9_IdentityIS1_ESt4lessIS1_ESaIS1_EE", !41, i64 0}
!41 = !{!"_ZTSNSt8_Rb_treeISt4pairIiiES1_St9_IdentityIS1_ESt4lessIS1_ESaIS1_EE13_Rb_tree_implIS5_Lb1EEE", !42, i64 0, !44, i64 8}
!42 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessISt4pairIiiEEE", !43, i64 0}
!43 = !{!"_ZTSSt4lessISt4pairIiiEE"}
!44 = !{!"_ZTSSt15_Rb_tree_header", !45, i64 0, !38, i64 32}
!45 = !{!"_ZTSSt18_Rb_tree_node_base", !46, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!46 = !{!"_ZTSSt14_Rb_tree_color", !7, i64 0}
!47 = !{!"_ZTSSt6vectorIiSaIiEE", !48, i64 0}
!48 = !{!"_ZTSSt12_Vector_baseIiSaIiEE", !49, i64 0}
!49 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE12_Vector_implE", !50, i64 0}
!50 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!51 = !{!"_ZTSSt6vectorIN16HighsCliqueTable6CliqueESaIS1_EE", !52, i64 0}
!52 = !{!"_ZTSSt12_Vector_baseIN16HighsCliqueTable6CliqueESaIS1_EE", !53, i64 0}
!53 = !{!"_ZTSNSt12_Vector_baseIN16HighsCliqueTable6CliqueESaIS1_EE12_Vector_implE", !54, i64 0}
!54 = !{!"_ZTSNSt12_Vector_baseIN16HighsCliqueTable6CliqueESaIS1_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!55 = !{!"_ZTSSt6vectorIN16HighsCliqueTable12SubstitutionESaIS1_EE", !56, i64 0}
!56 = !{!"_ZTSSt12_Vector_baseIN16HighsCliqueTable12SubstitutionESaIS1_EE", !57, i64 0}
!57 = !{!"_ZTSNSt12_Vector_baseIN16HighsCliqueTable12SubstitutionESaIS1_EE12_Vector_implE", !58, i64 0}
!58 = !{!"_ZTSNSt12_Vector_baseIN16HighsCliqueTable12SubstitutionESaIS1_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!59 = !{!"_ZTSSt6vectorISt4pairIiN16HighsCliqueTable9CliqueVarEESaIS3_EE", !60, i64 0}
!60 = !{!"_ZTSSt12_Vector_baseISt4pairIiN16HighsCliqueTable9CliqueVarEESaIS3_EE", !61, i64 0}
!61 = !{!"_ZTSNSt12_Vector_baseISt4pairIiN16HighsCliqueTable9CliqueVarEESaIS3_EE12_Vector_implE", !62, i64 0}
!62 = !{!"_ZTSNSt12_Vector_baseISt4pairIiN16HighsCliqueTable9CliqueVarEESaIS3_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!63 = !{!"_ZTSSt6vectorIhSaIhEE", !64, i64 0}
!64 = !{!"_ZTSSt12_Vector_baseIhSaIhEE", !65, i64 0}
!65 = !{!"_ZTSNSt12_Vector_baseIhSaIhEE12_Vector_implE", !66, i64 0}
!66 = !{!"_ZTSNSt12_Vector_baseIhSaIhEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!67 = !{!"_ZTSSt6vectorIjSaIjEE", !68, i64 0}
!68 = !{!"_ZTSSt12_Vector_baseIjSaIjEE", !69, i64 0}
!69 = !{!"_ZTSNSt12_Vector_baseIjSaIjEE12_Vector_implE", !70, i64 0}
!70 = !{!"_ZTSNSt12_Vector_baseIjSaIjEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!71 = !{!"_ZTS11HighsRandom", !38, i64 0}
!72 = !{!"bool", !7, i64 0}
!73 = !{!72, !72, i64 0}
!74 = !{!75, !10, i64 0}
!75 = !{!"_ZTSN16HighsCliqueTable6CliqueE", !10, i64 0, !10, i64 4, !10, i64 8, !10, i64 12, !72, i64 16}
!76 = !{!75, !72, i64 16}
!77 = !{i8 0, i8 2}
!78 = !{}
!79 = !{!75, !10, i64 8}
!80 = !{!75, !10, i64 4}
!81 = !{i64 0, i64 4, !82}
!82 = !{!7, !7, i64 0}
!83 = distinct !{!83, !84}
!84 = !{!"llvm.loop.mustprogress"}
!85 = distinct !{!85, !84}
!86 = !{!87, !6, i64 0}
!87 = !{!"_ZTSZN16HighsCliqueTable16runCliqueMergingER11HighsDomainE3$_0", !6, i64 0, !6, i64 8, !6, i64 16}
!88 = distinct !{!88, !84}
!89 = distinct !{!89, !84}
!90 = !{!38, !38, i64 0}
!91 = distinct !{!91, !84}
!92 = !{!93, !6, i64 0}
!93 = !{!"_ZTSZN16HighsCliqueTable16runCliqueMergingER11HighsDomainE3$_3", !6, i64 0}
!94 = !{!95, !6, i64 0}
!95 = !{!"_ZTSZN16HighsCliqueTable16runCliqueMergingER11HighsDomainE3$_4", !6, i64 0}
!96 = !{!97, !6, i64 0}
!97 = !{!"_ZTSZN16HighsCliqueTable16runCliqueMergingER11HighsDomainE3$_5", !6, i64 0}
!98 = !{!75, !10, i64 12}
!99 = distinct !{!99, !84}
!100 = distinct !{!100, !84}
!101 = distinct !{!101, !84}
!102 = distinct !{!102, !84}


; 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" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<HighsCliqueTable::CliqueVar, std::allocator<HighsCliqueTable::CliqueVar>>::_Vector_impl" }
%"struct.std::_Vector_base<HighsCliqueTable::CliqueVar, std::allocator<HighsCliqueTable::CliqueVar>>::_Vector_impl" = type { %"struct.std::_Vector_base<HighsCliqueTable::CliqueVar, std::allocator<HighsCliqueTable::CliqueVar>>::_Vector_impl_data" }
%"struct.std::_Vector_base<HighsCliqueTable::CliqueVar, std::allocator<HighsCliqueTable::CliqueVar>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.26" = type { %"struct.std::_Vector_base.27" }
%"struct.std::_Vector_base.27" = type { %"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl" }
%"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl" = type { %"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl_data" }
%"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"struct.HighsCliqueTable::CliqueVar" = type { i32 }
%class.anon.419 = type { ptr, ptr, ptr }
%class.anon.420 = type { ptr }
%class.anon.421 = type { ptr }
%"class.__gnu_cxx::__normal_iterator" = type { ptr }
%"class.__gnu_cxx::__normal_iterator.57" = type { ptr }
%class.anon.423 = type { ptr }
%class.anon.424 = type { ptr }
%"class.__gnu_cxx::__normal_iterator.60" = type { ptr }

@.str.52 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [16 x i8], align 1
@__PRETTY_FUNCTION__._ZN16HighsCliqueTable16runCliqueMergingER11HighsDomain = external hidden unnamed_addr constant [55 x i8], align 1

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

declare i32 @__gxx_personality_v0(...)

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZNK16HighsCliqueTable9CliqueVar5indexEv(ptr noundef nonnull align 4 dereferenceable(4)) local_unnamed_addr #2 align 2

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN16HighsCliqueTable12removeCliqueEi(ptr noundef nonnull align 8 dereferenceable(488), i32 noundef) local_unnamed_addr #3 align 2

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNKSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE5emptyEv(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #2 align 2

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

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNK16HighsCliqueTable9CliqueVareqERKS0_(ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4)) local_unnamed_addr #2 align 2

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZNK16HighsCliqueTable10numCliquesENS_9CliqueVarE(ptr noundef nonnull align 8 dereferenceable(488), i32) local_unnamed_addr #2 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN16HighsCliqueTable25processInfeasibleVerticesER11HighsDomain(ptr noundef nonnull align 8 dereferenceable(488), ptr noundef nonnull align 8 dereferenceable(824)) local_unnamed_addr #3 align 2

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZNK11HighsDomain16numModelNonzerosEv(ptr noundef nonnull align 8 dereferenceable(824)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN16HighsCliqueTable16vertexInfeasibleER11HighsDomainii(ptr noundef nonnull align 8 dereferenceable(488), ptr noundef nonnull align 8 dereferenceable(824), i32 noundef, i32 noundef) local_unnamed_addr #3 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN16HighsCliqueTable16runCliqueMergingER11HighsDomainRSt6vectorINS_9CliqueVarESaIS3_EEb(ptr noundef nonnull align 8 dereferenceable(488), ptr noundef nonnull align 8 dereferenceable(824), ptr noundef nonnull align 8 dereferenceable(24), i1 noundef zeroext) local_unnamed_addr #3 align 2

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

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN16HighsCliqueTable16runCliqueMergingER11HighsDomain(ptr noundef nonnull align 8 dereferenceable(488) %0, ptr noundef nonnull align 8 dereferenceable(824) %1) local_unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 {
  %3 = alloca %"class.std::vector", align 8
  %4 = alloca %"class.std::vector.26", align 8
  %5 = alloca %"struct.HighsCliqueTable::CliqueVar", align 4
  %6 = alloca %class.anon.419, align 8
  %7 = alloca %class.anon.420, align 8
  %8 = alloca %class.anon.421, align 8
  %9 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %10 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %11 = alloca %"struct.HighsCliqueTable::CliqueVar", align 4
  %12 = alloca %"class.__gnu_cxx::__normal_iterator.57", align 8
  %13 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %14 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %15 = alloca %"class.__gnu_cxx::__normal_iterator.57", align 8
  %16 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %17 = alloca %"class.__gnu_cxx::__normal_iterator.57", align 8
  %18 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %19 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %20 = alloca %"class.__gnu_cxx::__normal_iterator.57", align 8
  %21 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %22 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %23 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %24 = alloca i32, align 4
  %25 = alloca %"class.__gnu_cxx::__normal_iterator.57", align 8
  %26 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %27 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %28 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %29 = alloca %"class.__gnu_cxx::__normal_iterator.57", align 8
  %30 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %31 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %32 = alloca %"class.__gnu_cxx::__normal_iterator.57", align 8
  %33 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %34 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %35 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %36 = alloca %"struct.HighsCliqueTable::CliqueVar", align 4
  %37 = alloca %class.anon.423, align 8
  %38 = alloca %class.anon.424, align 8
  %39 = alloca %"class.__gnu_cxx::__normal_iterator.60", align 8
  %40 = alloca %"class.__gnu_cxx::__normal_iterator.60", align 8
  %41 = alloca i32, align 4
  %42 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %43 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %44 = alloca %"struct.HighsCliqueTable::CliqueVar", align 4
  %45 = alloca %"class.__gnu_cxx::__normal_iterator.57", align 8
  %46 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %47 = alloca %"class.__gnu_cxx::__normal_iterator.57", align 8
  %48 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %49 = alloca %"class.__gnu_cxx::__normal_iterator.57", align 8
  %50 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %51 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %52 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %3) #6
  call void @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %3) #6
  %53 = getelementptr inbounds i8, ptr %0, i64 352
  %54 = getelementptr inbounds i8, ptr %0, i64 24
  %55 = call noundef i64 @_ZNKSt6vectorI13HighsHashTreeIiiESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %54) #6
  invoke void @_ZNSt6vectorIhSaIhEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %53, i64 noundef %55)
          to label %56 unwind label %66

56:                                               ; preds = %2
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %4) #6
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %4) #6
  %57 = call noundef i64 @_ZNKSt6vectorI13HighsHashTreeIiiESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %54) #6
  invoke void @_ZNSt6vectorIiSaIiEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %4, i64 noundef %57)
          to label %58 unwind label %68

58:                                               ; preds = %56
  %59 = getelementptr inbounds i8, ptr %0, i64 400
  %60 = call noundef i64 @_ZNKSt6vectorIjSaIjEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %59) #6
  %61 = getelementptr inbounds i8, ptr %0, i64 184
  %62 = call noundef i64 @_ZNKSt6vectorIN16HighsCliqueTable6CliqueESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %61) #6
  %63 = icmp ult i64 %60, %62
  br i1 %63, label %64, label %70

64:                                               ; preds = %58
  %65 = call noundef i64 @_ZNKSt6vectorIN16HighsCliqueTable6CliqueESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %61) #6
  invoke void @_ZNSt6vectorIjSaIjEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %59, i64 noundef %65)
          to label %70 unwind label %68

66:                                               ; preds = %2
  %67 = landingpad { ptr, i32 }
          cleanup
  br label %476

68:                                               ; preds = %64, %56
  %69 = landingpad { ptr, i32 }
          cleanup
  br label %475

70:                                               ; preds = %64, %58
  %71 = call noundef i64 @_ZNKSt6vectorIN16HighsCliqueTable6CliqueESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %61) #6
  %72 = getelementptr inbounds i8, ptr %0, i64 460
  %73 = load i32, ptr %72, align 4, !tbaa !5
  %74 = invoke noundef i32 @_ZNK11HighsDomain16numModelNonzerosEv(ptr noundef nonnull align 8 dereferenceable(824) %1)
          to label %75 unwind label %88

75:                                               ; preds = %70
  %76 = add nsw i32 %74, %73
  %77 = and i64 %71, 4294967295
  %.not263 = icmp eq i64 %77, 0
  br i1 %.not263, label %.loopexit, label %.lr.ph267

.lr.ph267:                                        ; preds = %75
  %78 = getelementptr inbounds i8, ptr %6, i64 8
  %79 = getelementptr inbounds i8, ptr %6, i64 16
  %80 = getelementptr inbounds i8, ptr %0, i64 48
  %81 = getelementptr inbounds i8, ptr %0, i64 480
  %82 = getelementptr inbounds i8, ptr %0, i64 448
  %83 = getelementptr inbounds i8, ptr %0, i64 424
  %84 = getelementptr inbounds i8, ptr %0, i64 232
  %85 = getelementptr inbounds i8, ptr %0, i64 328
  %86 = getelementptr inbounds i8, ptr %0, i64 304
  %87 = and i64 %71, 4294967295
  br label %90

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

90:                                               ; preds = %.lr.ph267, %436
  %indvars.iv295 = phi i64 [ 0, %.lr.ph267 ], [ %indvars.iv.next296, %436 ]
  %.0135265 = phi i1 [ false, %.lr.ph267 ], [ %.1136, %436 ]
  %91 = call noundef nonnull align 4 dereferenceable(20) ptr @_ZNSt6vectorIN16HighsCliqueTable6CliqueESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %61, i64 noundef %indvars.iv295) #6
  %92 = load i32, ptr %91, align 4, !tbaa !71
  %93 = icmp eq i32 %92, -1
  br i1 %93, label %436, label %94

94:                                               ; preds = %90
  %95 = call noundef nonnull align 4 dereferenceable(20) ptr @_ZNSt6vectorIN16HighsCliqueTable6CliqueESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %61, i64 noundef %indvars.iv295) #6
  %96 = getelementptr inbounds i8, ptr %95, i64 16
  %97 = load i8, ptr %96, align 4, !tbaa !73, !range !74, !noundef !75
  %98 = trunc nuw i8 %97 to i1
  br i1 %98, label %104, label %99

99:                                               ; preds = %94
  %100 = call noundef nonnull align 4 dereferenceable(20) ptr @_ZNSt6vectorIN16HighsCliqueTable6CliqueESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %61, i64 noundef %indvars.iv295) #6
  %101 = getelementptr inbounds i8, ptr %100, i64 8
  %102 = load i32, ptr %101, align 4, !tbaa !76
  %103 = icmp eq i32 %102, 2147483647
  br i1 %103, label %436, label %104

104:                                              ; preds = %99, %94
  %105 = call noundef nonnull align 4 dereferenceable(20) ptr @_ZNSt6vectorIN16HighsCliqueTable6CliqueESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %61, i64 noundef %indvars.iv295) #6
  %106 = getelementptr inbounds i8, ptr %105, i64 8
  %107 = load i32, ptr %106, align 4, !tbaa !76
  %108 = icmp eq i32 %107, -1
  br i1 %108, label %436, label %109

109:                                              ; preds = %104
  %110 = call noundef nonnull align 4 dereferenceable(20) ptr @_ZNSt6vectorIN16HighsCliqueTable6CliqueESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %61, i64 noundef %indvars.iv295) #6
  %111 = getelementptr inbounds i8, ptr %110, i64 4
  %112 = load i32, ptr %111, align 4, !tbaa !77
  %113 = call noundef nonnull align 4 dereferenceable(20) ptr @_ZNSt6vectorIN16HighsCliqueTable6CliqueESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %61, i64 noundef %indvars.iv295) #6
  %114 = load i32, ptr %113, align 4, !tbaa !71
  %115 = sub nsw i32 %112, %114
  %.not157 = icmp eq i32 %112, %114
  br i1 %.not157, label %116, label %117

116:                                              ; preds = %109
  call void @__assert_fail(ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.52, i32 noundef 2080, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN16HighsCliqueTable16runCliqueMergingER11HighsDomain) #7
  unreachable

117:                                              ; preds = %109
  %118 = call noundef nonnull align 4 dereferenceable(20) ptr @_ZNSt6vectorIN16HighsCliqueTable6CliqueESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %61, i64 noundef %indvars.iv295) #6
  %119 = load i32, ptr %118, align 4, !tbaa !71
  %120 = sext i32 %119 to i64
  %121 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %0, i64 noundef %120) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %5) #6
  %122 = load i32, ptr %121, align 4, !tbaa !78
  store i32 %122, ptr %5, align 4, !tbaa !78
  %123 = call noundef i32 @_ZNK16HighsCliqueTable10numCliquesENS_9CliqueVarE(ptr noundef nonnull align 8 dereferenceable(488) %0, i32 %122)
  %.not158222 = icmp eq i32 %115, 1
  br i1 %.not158222, label %.lr.ph227.preheader, label %.lr.ph.preheader

.lr.ph.preheader:                                 ; preds = %117
  %124 = zext i32 %115 to i64
  br label %.lr.ph

.lr.ph227.preheader:                              ; preds = %131, %117
  %125 = zext i32 %115 to i64
  br label %.lr.ph227

.lr.ph:                                           ; preds = %.lr.ph.preheader, %131
  %indvars.iv = phi i64 [ 1, %.lr.ph.preheader ], [ %indvars.iv.next, %131 ]
  %.0142224 = phi i32 [ %123, %.lr.ph.preheader ], [ %.1143, %131 ]
  %126 = getelementptr inbounds %"struct.HighsCliqueTable::CliqueVar", ptr %121, i64 %indvars.iv
  %.sroa.069.0.copyload = load i32, ptr %126, align 4, !tbaa !78
  %127 = call noundef i32 @_ZNK16HighsCliqueTable10numCliquesENS_9CliqueVarE(ptr noundef nonnull align 8 dereferenceable(488) %0, i32 %.sroa.069.0.copyload)
  %128 = icmp slt i32 %127, %.0142224
  br i1 %128, label %129, label %131

129:                                              ; preds = %.lr.ph
  %130 = load i32, ptr %126, align 4, !tbaa !78
  store i32 %130, ptr %5, align 4, !tbaa !78
  br label %131

131:                                              ; preds = %129, %.lr.ph
  %.1143 = phi i32 [ %127, %129 ], [ %.0142224, %.lr.ph ]
  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
  %.not158 = icmp eq i64 %indvars.iv.next, %124
  br i1 %.not158, label %.lr.ph227.preheader, label %.lr.ph, !llvm.loop !79

._crit_edge:                                      ; preds = %.lr.ph227
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %6) #6
  store ptr %0, ptr %6, align 8, !tbaa !81
  store ptr %1, ptr %78, align 8, !tbaa !83
  store ptr %3, ptr %79, align 8, !tbaa !83
  %132 = call noundef i32 @_ZNK16HighsCliqueTable9CliqueVar5indexEv(ptr noundef nonnull align 4 dereferenceable(4) %5)
  %133 = sext i32 %132 to i64
  %134 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorI13HighsHashTreeIiiESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %54, i64 noundef %133) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %7) #6
  store ptr %6, ptr %7, align 8, !tbaa !83
  invoke void @"_ZNK13HighsHashTreeIiiE8for_eachIZN16HighsCliqueTable16runCliqueMergingER11HighsDomainE3$_1EEDTcldtcv19HighsHashTableEntryIiiE_E7forwardfp_EEOT_"(ptr noundef nonnull align 8 dereferenceable(8) %134, ptr noundef nonnull align 8 dereferenceable(8) %7)
          to label %139 unwind label %149

.lr.ph227:                                        ; preds = %.lr.ph227.preheader, %.lr.ph227
  %indvars.iv278 = phi i64 [ 0, %.lr.ph227.preheader ], [ %indvars.iv.next279, %.lr.ph227 ]
  %135 = getelementptr inbounds %"struct.HighsCliqueTable::CliqueVar", ptr %121, i64 %indvars.iv278
  %136 = call noundef i32 @_ZNK16HighsCliqueTable9CliqueVar5indexEv(ptr noundef nonnull align 4 dereferenceable(4) %135)
  %137 = sext i32 %136 to i64
  %138 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %53, i64 noundef %137) #6
  store i8 1, ptr %138, align 1, !tbaa !78
  %indvars.iv.next279 = add nuw nsw i64 %indvars.iv278, 1
  %.not159 = icmp eq i64 %indvars.iv.next279, %125
  br i1 %.not159, label %._crit_edge, label %.lr.ph227, !llvm.loop !84

139:                                              ; preds = %._crit_edge
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #6
  %140 = call noundef i32 @_ZNK16HighsCliqueTable9CliqueVar5indexEv(ptr noundef nonnull align 4 dereferenceable(4) %5)
  %141 = sext i32 %140 to i64
  %142 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorI13HighsHashTreeIivESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %80, i64 noundef %141) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %8) #6
  store ptr %6, ptr %8, align 8, !tbaa !83
  invoke void @"_ZNK13HighsHashTreeIivE8for_eachIZN16HighsCliqueTable16runCliqueMergingER11HighsDomainE3$_2EEDTcldtcv19HighsHashTableEntryIivE_E7forwardfp_EEOT_"(ptr noundef nonnull align 8 dereferenceable(8) %142, ptr noundef nonnull align 8 dereferenceable(8) %8)
          to label %.lr.ph231.preheader unwind label %151

.lr.ph231.preheader:                              ; preds = %139
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) #6
  %143 = zext i32 %115 to i64
  br label %.lr.ph231

._crit_edge232:                                   ; preds = %.lr.ph231
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %9) #6
  %144 = call ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #6
  store ptr %144, ptr %9, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %10) #6
  %145 = call ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #6
  store ptr %145, ptr %10, align 8
  %146 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPN16HighsCliqueTable9CliqueVarESt6vectorIS2_SaIS2_EEEEbRKNS_17__normal_iteratorIT_T0_EESC_(ptr noundef nonnull align 8 dereferenceable(8) %9, ptr noundef nonnull align 8 dereferenceable(8) %10) #6
  br i1 %146, label %.lr.ph234, label %.lr.ph239.preheader

147:                                              ; preds = %433, %189
  %148 = landingpad { ptr, i32 }
          cleanup
  br label %437

149:                                              ; preds = %._crit_edge
  %150 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #6
  br label %437

151:                                              ; preds = %139
  %152 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) #6
  br label %437

.lr.ph231:                                        ; preds = %.lr.ph231.preheader, %.lr.ph231
  %indvars.iv281 = phi i64 [ 0, %.lr.ph231.preheader ], [ %indvars.iv.next282, %.lr.ph231 ]
  %153 = getelementptr inbounds %"struct.HighsCliqueTable::CliqueVar", ptr %121, i64 %indvars.iv281
  %154 = call noundef i32 @_ZNK16HighsCliqueTable9CliqueVar5indexEv(ptr noundef nonnull align 4 dereferenceable(4) %153)
  %155 = sext i32 %154 to i64
  %156 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %53, i64 noundef %155) #6
  store i8 0, ptr %156, align 1, !tbaa !78
  %indvars.iv.next282 = add nuw nsw i64 %indvars.iv281, 1
  %.not160 = icmp eq i64 %indvars.iv.next282, %143
  br i1 %.not160, label %._crit_edge232, label %.lr.ph231, !llvm.loop !85

.lr.ph239.preheader:                              ; preds = %.lr.ph234, %._crit_edge232
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %9) #6
  %157 = zext i32 %115 to i64
  br label %.lr.ph239

.lr.ph234:                                        ; preds = %._crit_edge232, %.lr.ph234
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %11) #6
  %158 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPN16HighsCliqueTable9CliqueVarESt6vectorIS2_SaIS2_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %9) #6
  %159 = load i32, ptr %158, align 4, !tbaa !78
  store i32 %159, ptr %11, align 4, !tbaa !78
  %160 = call noundef i32 @_ZNK16HighsCliqueTable9CliqueVar5indexEv(ptr noundef nonnull align 4 dereferenceable(4) %11)
  %161 = sext i32 %160 to i64
  %162 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %53, i64 noundef %161) #6
  store i8 0, ptr %162, align 1, !tbaa !78
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %11) #6
  %163 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPN16HighsCliqueTable9CliqueVarESt6vectorIS2_SaIS2_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %9) #6
  %164 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPN16HighsCliqueTable9CliqueVarESt6vectorIS2_SaIS2_EEEEbRKNS_17__normal_iteratorIT_T0_EESC_(ptr noundef nonnull align 8 dereferenceable(8) %9, ptr noundef nonnull align 8 dereferenceable(8) %10) #6
  br i1 %164, label %.lr.ph234, label %.lr.ph239.preheader

.lr.ph239:                                        ; preds = %.lr.ph239.preheader, %184
  %indvars.iv284 = phi i64 [ 0, %.lr.ph239.preheader ], [ %indvars.iv.next285, %184 ]
  %165 = call noundef zeroext i1 @_ZNKSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE5emptyEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #6
  br i1 %165, label %.critedge, label %167

.critedge:                                        ; preds = %.lr.ph239, %184
  %166 = call noundef zeroext i1 @_ZNKSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE5emptyEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #6
  br i1 %166, label %.loopexit194, label %189

167:                                              ; preds = %.lr.ph239
  %168 = getelementptr inbounds %"struct.HighsCliqueTable::CliqueVar", ptr %121, i64 %indvars.iv284
  %169 = call noundef zeroext i1 @_ZNK16HighsCliqueTable9CliqueVareqERKS0_(ptr noundef nonnull align 4 dereferenceable(4) %168, ptr noundef nonnull align 4 dereferenceable(4) %5)
  br i1 %169, label %184, label %170

170:                                              ; preds = %167
  %.sroa.055.0.copyload = load i32, ptr %168, align 4, !tbaa !78
  %171 = call noundef ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #6
  %172 = call noundef i64 @_ZNKSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #6
  %173 = trunc i64 %172 to i32
  %174 = invoke noundef i32 @_ZN16HighsCliqueTable21shrinkToNeighbourhoodERSt6vectorIiSaIiEERlNS_9CliqueVarEPS5_i(ptr noundef nonnull align 8 dereferenceable(488) %0, ptr noundef nonnull align 8 dereferenceable(24) %4, ptr noundef nonnull align 8 dereferenceable(8) %81, i32 %.sroa.055.0.copyload, ptr noundef %171, i32 noundef %173)
          to label %175 unwind label %185

175:                                              ; preds = %170
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %13) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %14) #6
  %176 = call ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #6
  store ptr %176, ptr %14, align 8
  %177 = sext i32 %174 to i64
  %178 = call ptr @_ZNK9__gnu_cxx17__normal_iteratorIPN16HighsCliqueTable9CliqueVarESt6vectorIS2_SaIS2_EEEplEl(ptr noundef nonnull align 8 dereferenceable(8) %14, i64 noundef %177) #6
  store ptr %178, ptr %13, align 8
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKN16HighsCliqueTable9CliqueVarESt6vectorIS2_SaIS2_EEEC2IPS2_vEERKNS0_IT_S7_EE(ptr noundef nonnull align 8 dereferenceable(8) %12, ptr noundef nonnull align 8 dereferenceable(8) %13) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %16) #6
  %179 = call ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #6
  store ptr %179, ptr %16, align 8
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKN16HighsCliqueTable9CliqueVarESt6vectorIS2_SaIS2_EEEC2IPS2_vEERKNS0_IT_S7_EE(ptr noundef nonnull align 8 dereferenceable(8) %15, ptr noundef nonnull align 8 dereferenceable(8) %16) #6
  %180 = load ptr, ptr %12, align 8
  %181 = load ptr, ptr %15, align 8
  %182 = invoke ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE5eraseEN9__gnu_cxx17__normal_iteratorIPKS1_S3_EES8_(ptr noundef nonnull align 8 dereferenceable(24) %3, ptr %180, ptr %181)
          to label %183 unwind label %187

183:                                              ; preds = %175
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #6
  br label %184

184:                                              ; preds = %167, %183
  %indvars.iv.next285 = add nuw nsw i64 %indvars.iv284, 1
  %.not161 = icmp eq i64 %indvars.iv.next285, %157
  br i1 %.not161, label %.critedge, label %.lr.ph239, !llvm.loop !86

185:                                              ; preds = %170
  %186 = landingpad { ptr, i32 }
          cleanup
  br label %437

187:                                              ; preds = %175
  %188 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #6
  br label %437

189:                                              ; preds = %.critedge
  %190 = call noundef ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #6
  %191 = call noundef i64 @_ZNKSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #6
  %192 = trunc i64 %191 to i32
  invoke void @_ZN11HighsRandom7shuffleIN16HighsCliqueTable9CliqueVarEEEvPT_i(ptr noundef nonnull align 8 dereferenceable(8) %82, ptr noundef %190, i32 noundef %192)
          to label %.preheader193 unwind label %147

.preheader193:                                    ; preds = %189
  %193 = call noundef i64 @_ZNKSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #6
  %.not276 = icmp eq i64 %193, 0
  br i1 %.not276, label %.loopexit194, label %.lr.ph242

.lr.ph242:                                        ; preds = %.preheader193, %212
  %.0149241 = phi i64 [ %195, %212 ], [ 0, %.preheader193 ]
  %194 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %3, i64 noundef %.0149241) #6
  %.sroa.047.0.copyload = load i32, ptr %194, align 4, !tbaa !78
  %195 = add nuw i64 %.0149241, 1
  %196 = call noundef ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #6
  %197 = getelementptr inbounds %"struct.HighsCliqueTable::CliqueVar", ptr %196, i64 %195
  %198 = call noundef i64 @_ZNKSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #6
  %199 = sub i64 %198, %195
  %200 = trunc i64 %199 to i32
  %201 = invoke noundef i32 @_ZN16HighsCliqueTable21shrinkToNeighbourhoodERSt6vectorIiSaIiEERlNS_9CliqueVarEPS5_i(ptr noundef nonnull align 8 dereferenceable(488) %0, ptr noundef nonnull align 8 dereferenceable(24) %4, ptr noundef nonnull align 8 dereferenceable(8) %81, i32 %.sroa.047.0.copyload, ptr noundef nonnull %197, i32 noundef %200)
          to label %202 unwind label %215

202:                                              ; preds = %.lr.ph242
  %203 = trunc i64 %195 to i32
  %204 = add i32 %201, %203
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %18) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %19) #6
  %205 = call ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #6
  store ptr %205, ptr %19, align 8
  %206 = sext i32 %204 to i64
  %207 = call ptr @_ZNK9__gnu_cxx17__normal_iteratorIPN16HighsCliqueTable9CliqueVarESt6vectorIS2_SaIS2_EEEplEl(ptr noundef nonnull align 8 dereferenceable(8) %19, i64 noundef %206) #6
  store ptr %207, ptr %18, align 8
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKN16HighsCliqueTable9CliqueVarESt6vectorIS2_SaIS2_EEEC2IPS2_vEERKNS0_IT_S7_EE(ptr noundef nonnull align 8 dereferenceable(8) %17, ptr noundef nonnull align 8 dereferenceable(8) %18) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %21) #6
  %208 = call ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #6
  store ptr %208, ptr %21, align 8
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKN16HighsCliqueTable9CliqueVarESt6vectorIS2_SaIS2_EEEC2IPS2_vEERKNS0_IT_S7_EE(ptr noundef nonnull align 8 dereferenceable(8) %20, ptr noundef nonnull align 8 dereferenceable(8) %21) #6
  %209 = load ptr, ptr %17, align 8
  %210 = load ptr, ptr %20, align 8
  %211 = invoke ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE5eraseEN9__gnu_cxx17__normal_iteratorIPKS1_S3_EES8_(ptr noundef nonnull align 8 dereferenceable(24) %3, ptr %209, ptr %210)
          to label %212 unwind label %217

212:                                              ; preds = %202
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %21) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %19) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #6
  %213 = call noundef i64 @_ZNKSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #6
  %214 = icmp ult i64 %195, %213
  br i1 %214, label %.lr.ph242, label %.loopexit194, !llvm.loop !87

215:                                              ; preds = %.lr.ph242
  %216 = landingpad { ptr, i32 }
          cleanup
  br label %437

217:                                              ; preds = %202
  %218 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %21) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %19) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #6
  br label %437

.loopexit194:                                     ; preds = %212, %.preheader193, %.critedge
  %219 = call noundef nonnull align 4 dereferenceable(20) ptr @_ZNSt6vectorIN16HighsCliqueTable6CliqueESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %61, i64 noundef %indvars.iv295) #6
  %220 = getelementptr inbounds i8, ptr %219, i64 16
  %221 = load i8, ptr %220, align 4, !tbaa !73, !range !74, !noundef !75
  %222 = trunc nuw i8 %221 to i1
  br i1 %222, label %223, label %235

223:                                              ; preds = %.loopexit194
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %22) #6
  %224 = call ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #6
  store ptr %224, ptr %22, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %23) #6
  %225 = call ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #6
  store ptr %225, ptr %23, align 8
  %226 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPN16HighsCliqueTable9CliqueVarESt6vectorIS2_SaIS2_EEEEbRKNS_17__normal_iteratorIT_T0_EESC_(ptr noundef nonnull align 8 dereferenceable(8) %22, ptr noundef nonnull align 8 dereferenceable(8) %23) #6
  br i1 %226, label %.lr.ph261, label %._crit_edge262

._crit_edge262:                                   ; preds = %230, %223
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %23) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %22) #6
  br label %433

.lr.ph261:                                        ; preds = %223, %230
  %227 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPN16HighsCliqueTable9CliqueVarESt6vectorIS2_SaIS2_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %22) #6
  %.sroa.040.0.copyload = load i32, ptr %227, align 4, !tbaa !78
  %228 = and i32 %.sroa.040.0.copyload, 2147483647
  %229 = lshr i32 %.sroa.040.0.copyload, 31
  invoke void @_ZN16HighsCliqueTable16vertexInfeasibleER11HighsDomainii(ptr noundef nonnull align 8 dereferenceable(488) %0, ptr noundef nonnull align 8 dereferenceable(824) %1, i32 noundef %228, i32 noundef %229)
          to label %230 unwind label %233

230:                                              ; preds = %.lr.ph261
  %231 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPN16HighsCliqueTable9CliqueVarESt6vectorIS2_SaIS2_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %22) #6
  %232 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPN16HighsCliqueTable9CliqueVarESt6vectorIS2_SaIS2_EEEEbRKNS_17__normal_iteratorIT_T0_EESC_(ptr noundef nonnull align 8 dereferenceable(8) %22, ptr noundef nonnull align 8 dereferenceable(8) %23) #6
  br i1 %232, label %.lr.ph261, label %._crit_edge262

233:                                              ; preds = %.lr.ph261
  %234 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %23) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %22) #6
  br label %437

235:                                              ; preds = %.loopexit194
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %24) #6
  %236 = call noundef nonnull align 4 dereferenceable(20) ptr @_ZNSt6vectorIN16HighsCliqueTable6CliqueESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %61, i64 noundef %indvars.iv295) #6
  %237 = getelementptr inbounds i8, ptr %236, i64 8
  %238 = load i32, ptr %237, align 4, !tbaa !76
  store i32 %238, ptr %24, align 4, !tbaa !88
  %239 = call noundef nonnull align 4 dereferenceable(20) ptr @_ZNSt6vectorIN16HighsCliqueTable6CliqueESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %61, i64 noundef %indvars.iv295) #6
  %240 = getelementptr inbounds i8, ptr %239, i64 8
  store i32 2147483647, ptr %240, align 4, !tbaa !76
  %241 = call noundef i64 @_ZNKSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #6
  %242 = trunc i64 %241 to i32
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %26) #6
  %243 = call ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #6
  store ptr %243, ptr %26, align 8
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKN16HighsCliqueTable9CliqueVarESt6vectorIS2_SaIS2_EEEC2IPS2_vEERKNS0_IT_S7_EE(ptr noundef nonnull align 8 dereferenceable(8) %25, ptr noundef nonnull align 8 dereferenceable(8) %26) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %27) #6
  %244 = call ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %0) #6
  store ptr %244, ptr %27, align 8
  %245 = call noundef nonnull align 4 dereferenceable(20) ptr @_ZNSt6vectorIN16HighsCliqueTable6CliqueESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %61, i64 noundef %indvars.iv295) #6
  %246 = load i32, ptr %245, align 4, !tbaa !71
  %247 = sext i32 %246 to i64
  %248 = call ptr @_ZNK9__gnu_cxx17__normal_iteratorIPN16HighsCliqueTable9CliqueVarESt6vectorIS2_SaIS2_EEEplEl(ptr noundef nonnull align 8 dereferenceable(8) %27, i64 noundef %247) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %28) #6
  %249 = call ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %0) #6
  store ptr %249, ptr %28, align 8
  %250 = call noundef nonnull align 4 dereferenceable(20) ptr @_ZNSt6vectorIN16HighsCliqueTable6CliqueESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %61, i64 noundef %indvars.iv295) #6
  %251 = getelementptr inbounds i8, ptr %250, i64 4
  %252 = load i32, ptr %251, align 4, !tbaa !77
  %253 = sext i32 %252 to i64
  %254 = call ptr @_ZNK9__gnu_cxx17__normal_iteratorIPN16HighsCliqueTable9CliqueVarESt6vectorIS2_SaIS2_EEEplEl(ptr noundef nonnull align 8 dereferenceable(8) %28, i64 noundef %253) #6
  %255 = load ptr, ptr %25, align 8
  %256 = invoke ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE6insertIN9__gnu_cxx17__normal_iteratorIPS1_S3_EEvEES8_NS6_IPKS1_S3_EET_SC_(ptr noundef nonnull align 8 dereferenceable(24) %3, ptr %255, ptr %248, ptr %254)
          to label %257 unwind label %277

257:                                              ; preds = %235
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %28) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %27) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %26) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %30) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %31) #6
  %258 = call ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #6
  store ptr %258, ptr %31, align 8
  %sext = shl i64 %241, 32
  %259 = ashr exact i64 %sext, 32
  %260 = call ptr @_ZNK9__gnu_cxx17__normal_iteratorIPN16HighsCliqueTable9CliqueVarESt6vectorIS2_SaIS2_EEEplEl(ptr noundef nonnull align 8 dereferenceable(8) %31, i64 noundef %259) #6
  %261 = call ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #6
  %262 = invoke ptr @"_ZSt9remove_ifIN9__gnu_cxx17__normal_iteratorIPN16HighsCliqueTable9CliqueVarESt6vectorIS3_SaIS3_EEEEZNS2_16runCliqueMergingER11HighsDomainE3$_3ET_SC_SC_T0_"(ptr %260, ptr %261, ptr nonnull %0)
          to label %263 unwind label %279

263:                                              ; preds = %257
  store ptr %262, ptr %30, align 8
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKN16HighsCliqueTable9CliqueVarESt6vectorIS2_SaIS2_EEEC2IPS2_vEERKNS0_IT_S7_EE(ptr noundef nonnull align 8 dereferenceable(8) %29, ptr noundef nonnull align 8 dereferenceable(8) %30) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %33) #6
  %264 = call ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #6
  store ptr %264, ptr %33, align 8
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKN16HighsCliqueTable9CliqueVarESt6vectorIS2_SaIS2_EEEC2IPS2_vEERKNS0_IT_S7_EE(ptr noundef nonnull align 8 dereferenceable(8) %32, ptr noundef nonnull align 8 dereferenceable(8) %33) #6
  %265 = load ptr, ptr %29, align 8
  %266 = load ptr, ptr %32, align 8
  %267 = invoke ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE5eraseEN9__gnu_cxx17__normal_iteratorIPKS1_S3_EES8_(ptr noundef nonnull align 8 dereferenceable(24) %3, ptr %265, ptr %266)
          to label %268 unwind label %281

268:                                              ; preds = %263
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %33) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %31) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30) #6
  %269 = trunc nuw nsw i64 %indvars.iv295 to i32
  invoke void @_ZN16HighsCliqueTable12removeCliqueEi(ptr noundef nonnull align 8 dereferenceable(488) %0, i32 noundef %269)
          to label %270 unwind label %284

270:                                              ; preds = %268
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %34) #6
  %271 = call ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #6
  store ptr %271, ptr %34, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %35) #6
  %272 = call ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #6
  store ptr %272, ptr %35, align 8
  %273 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPN16HighsCliqueTable9CliqueVarESt6vectorIS2_SaIS2_EEEEbRKNS_17__normal_iteratorIT_T0_EESC_(ptr noundef nonnull align 8 dereferenceable(8) %34, ptr noundef nonnull align 8 dereferenceable(8) %35) #6
  br i1 %273, label %.lr.ph244, label %._crit_edge245

._crit_edge245:                                   ; preds = %295, %270
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %35) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %34) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %39) #6
  %274 = call ptr @_ZNSt6vectorIiSaIiEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %83) #6
  store ptr %274, ptr %39, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %40) #6
  %275 = call ptr @_ZNSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %83) #6
  store ptr %275, ptr %40, align 8
  %276 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESA_(ptr noundef nonnull align 8 dereferenceable(8) %39, ptr noundef nonnull align 8 dereferenceable(8) %40) #6
  br i1 %276, label %.lr.ph252, label %._crit_edge253.thread

._crit_edge253.thread:                            ; preds = %._crit_edge245
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %40) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %39) #6
  call void @_ZNSt6vectorIiSaIiEE5clearEv(ptr noundef nonnull align 8 dereferenceable(24) %83) #6
  br label %.preheader192

277:                                              ; preds = %235
  %278 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %28) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %27) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %26) #6
  br label %432

279:                                              ; preds = %257
  %280 = landingpad { ptr, i32 }
          cleanup
  br label %283

281:                                              ; preds = %263
  %282 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %33) #6
  br label %283

283:                                              ; preds = %281, %279
  %.pn163 = phi { ptr, i32 } [ %282, %281 ], [ %280, %279 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %31) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30) #6
  br label %432

284:                                              ; preds = %268
  %285 = landingpad { ptr, i32 }
          cleanup
  br label %432

.lr.ph244:                                        ; preds = %270, %295
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %36) #6
  %286 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPN16HighsCliqueTable9CliqueVarESt6vectorIS2_SaIS2_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %34) #6
  %287 = load i32, ptr %286, align 4, !tbaa !78
  store i32 %287, ptr %36, align 4, !tbaa !78
  %288 = call noundef i32 @_ZNK16HighsCliqueTable9CliqueVar5indexEv(ptr noundef nonnull align 4 dereferenceable(4) %36)
  %289 = sext i32 %288 to i64
  %290 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorI13HighsHashTreeIiiESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %54, i64 noundef %289) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %37) #6
  store ptr %0, ptr %37, align 8, !tbaa !89
  invoke void @"_ZNK13HighsHashTreeIiiE8for_eachIZN16HighsCliqueTable16runCliqueMergingER11HighsDomainE3$_4EEDTcldtcv19HighsHashTableEntryIiiE_E7forwardfp_EEOT_"(ptr noundef nonnull align 8 dereferenceable(8) %290, ptr noundef nonnull align 8 dereferenceable(8) %37)
          to label %291 unwind label %298

291:                                              ; preds = %.lr.ph244
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %37) #6
  %292 = call noundef i32 @_ZNK16HighsCliqueTable9CliqueVar5indexEv(ptr noundef nonnull align 4 dereferenceable(4) %36)
  %293 = sext i32 %292 to i64
  %294 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorI13HighsHashTreeIivESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %80, i64 noundef %293) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %38) #6
  store ptr %0, ptr %38, align 8, !tbaa !91
  invoke void @"_ZNK13HighsHashTreeIivE8for_eachIZN16HighsCliqueTable16runCliqueMergingER11HighsDomainE3$_5EEDTcldtcv19HighsHashTableEntryIivE_E7forwardfp_EEOT_"(ptr noundef nonnull align 8 dereferenceable(8) %294, ptr noundef nonnull align 8 dereferenceable(8) %38)
          to label %295 unwind label %300

295:                                              ; preds = %291
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %38) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %36) #6
  %296 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPN16HighsCliqueTable9CliqueVarESt6vectorIS2_SaIS2_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %34) #6
  %297 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPN16HighsCliqueTable9CliqueVarESt6vectorIS2_SaIS2_EEEEbRKNS_17__normal_iteratorIT_T0_EESC_(ptr noundef nonnull align 8 dereferenceable(8) %34, ptr noundef nonnull align 8 dereferenceable(8) %35) #6
  br i1 %297, label %.lr.ph244, label %._crit_edge245

298:                                              ; preds = %.lr.ph244
  %299 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %37) #6
  br label %302

300:                                              ; preds = %291
  %301 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %38) #6
  br label %302

302:                                              ; preds = %300, %298
  %.pn173 = phi { ptr, i32 } [ %301, %300 ], [ %299, %298 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %36) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %35) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %34) #6
  br label %432

._crit_edge253:                                   ; preds = %392
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %40) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %39) #6
  call void @_ZNSt6vectorIiSaIiEE5clearEv(ptr noundef nonnull align 8 dereferenceable(24) %83) #6
  br i1 %.1151, label %424, label %.preheader192

.preheader192:                                    ; preds = %._crit_edge253.thread, %._crit_edge253
  %303 = icmp sgt i32 %242, 0
  br i1 %303, label %.lr.ph256.preheader, label %._crit_edge257

.lr.ph256.preheader:                              ; preds = %.preheader192
  %wide.trip.count = and i64 %241, 2147483647
  br label %.lr.ph256

.lr.ph252:                                        ; preds = %._crit_edge245, %392
  %.0150250 = phi i1 [ %.1151, %392 ], [ false, %._crit_edge245 ]
  %.0152249 = phi i32 [ %.1153, %392 ], [ 2147483647, %._crit_edge245 ]
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %41) #6
  %304 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %39) #6
  %305 = load i32, ptr %304, align 4, !tbaa !88
  store i32 %305, ptr %41, align 4, !tbaa !88
  %306 = sext i32 %305 to i64
  %307 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %59, i64 noundef %306) #6
  %308 = load i32, ptr %307, align 4, !tbaa !88
  %309 = load i32, ptr %41, align 4, !tbaa !88
  %310 = sext i32 %309 to i64
  %311 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %59, i64 noundef %310) #6
  store i32 0, ptr %311, align 4, !tbaa !88
  %312 = call noundef i64 @_ZNKSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #6
  %313 = trunc i64 %312 to i32
  %314 = icmp eq i32 %308, %313
  %315 = load i32, ptr %41, align 4, !tbaa !88
  %316 = sext i32 %315 to i64
  %317 = call noundef nonnull align 4 dereferenceable(20) ptr @_ZNSt6vectorIN16HighsCliqueTable6CliqueESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %61, i64 noundef %316) #6
  br i1 %314, label %318, label %333

318:                                              ; preds = %.lr.ph252
  %319 = getelementptr inbounds i8, ptr %317, i64 8
  %320 = load i32, ptr %319, align 4, !tbaa !76
  %.not171 = icmp eq i32 %320, 2147483647
  br i1 %.not171, label %392, label %321

321:                                              ; preds = %318
  %322 = load i32, ptr %41, align 4, !tbaa !88
  %323 = sext i32 %322 to i64
  %324 = call noundef nonnull align 4 dereferenceable(20) ptr @_ZNSt6vectorIN16HighsCliqueTable6CliqueESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %61, i64 noundef %323) #6
  %325 = getelementptr inbounds i8, ptr %324, i64 8
  %326 = load i32, ptr %325, align 4, !tbaa !76
  %.not172 = icmp eq i32 %326, -1
  br i1 %.not172, label %392, label %327

327:                                              ; preds = %321
  %328 = load i32, ptr %41, align 4, !tbaa !88
  %329 = sext i32 %328 to i64
  %330 = call noundef nonnull align 4 dereferenceable(20) ptr @_ZNSt6vectorIN16HighsCliqueTable6CliqueESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %61, i64 noundef %329) #6
  %331 = getelementptr inbounds i8, ptr %330, i64 8
  %332 = load i32, ptr %331, align 4, !tbaa !76
  br label %392

333:                                              ; preds = %.lr.ph252
  %334 = getelementptr inbounds i8, ptr %317, i64 4
  %335 = load i32, ptr %334, align 4, !tbaa !77
  %336 = load i32, ptr %41, align 4, !tbaa !88
  %337 = sext i32 %336 to i64
  %338 = call noundef nonnull align 4 dereferenceable(20) ptr @_ZNSt6vectorIN16HighsCliqueTable6CliqueESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %61, i64 noundef %337) #6
  %339 = load i32, ptr %338, align 4, !tbaa !71
  %340 = load i32, ptr %41, align 4, !tbaa !88
  %341 = sext i32 %340 to i64
  %342 = call noundef nonnull align 4 dereferenceable(20) ptr @_ZNSt6vectorIN16HighsCliqueTable6CliqueESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %61, i64 noundef %341) #6
  %343 = getelementptr inbounds i8, ptr %342, i64 12
  %344 = load i32, ptr %343, align 4, !tbaa !93
  %345 = add i32 %339, %344
  %346 = sub i32 %335, %345
  %347 = icmp eq i32 %346, %308
  br i1 %347, label %348, label %392

348:                                              ; preds = %333
  %349 = load i32, ptr %41, align 4, !tbaa !88
  %350 = sext i32 %349 to i64
  %351 = call noundef nonnull align 4 dereferenceable(20) ptr @_ZNSt6vectorIN16HighsCliqueTable6CliqueESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %61, i64 noundef %350) #6
  %352 = getelementptr inbounds i8, ptr %351, i64 16
  %353 = load i8, ptr %352, align 4, !tbaa !73, !range !74, !noundef !75
  %354 = trunc nuw i8 %353 to i1
  br i1 %354, label %355, label %388

355:                                              ; preds = %348
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %42) #6
  %356 = call ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #6
  store ptr %356, ptr %42, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %43) #6
  %357 = call ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #6
  store ptr %357, ptr %43, align 8
  %358 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPN16HighsCliqueTable9CliqueVarESt6vectorIS2_SaIS2_EEEEbRKNS_17__normal_iteratorIT_T0_EESC_(ptr noundef nonnull align 8 dereferenceable(8) %42, ptr noundef nonnull align 8 dereferenceable(8) %43) #6
  br i1 %358, label %.lr.ph247, label %._crit_edge248

._crit_edge248:                                   ; preds = %385, %355
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %43) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %42) #6
  br label %392

.lr.ph247:                                        ; preds = %355, %385
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %44) #6
  %359 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPN16HighsCliqueTable9CliqueVarESt6vectorIS2_SaIS2_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %42) #6
  %360 = load i32, ptr %359, align 4, !tbaa !78
  store i32 %360, ptr %44, align 4, !tbaa !78
  %361 = load i32, ptr %41, align 4, !tbaa !88
  %362 = sext i32 %361 to i64
  %363 = call noundef nonnull align 4 dereferenceable(20) ptr @_ZNSt6vectorIN16HighsCliqueTable6CliqueESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %61, i64 noundef %362) #6
  %364 = getelementptr inbounds i8, ptr %363, i64 4
  %365 = load i32, ptr %364, align 4, !tbaa !77
  %366 = load i32, ptr %41, align 4, !tbaa !88
  %367 = sext i32 %366 to i64
  %368 = call noundef nonnull align 4 dereferenceable(20) ptr @_ZNSt6vectorIN16HighsCliqueTable6CliqueESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %61, i64 noundef %367) #6
  %369 = load i32, ptr %368, align 4, !tbaa !71
  %370 = sub nsw i32 %365, %369
  %371 = icmp eq i32 %370, 2
  %372 = call noundef i32 @_ZNK16HighsCliqueTable9CliqueVar5indexEv(ptr noundef nonnull align 4 dereferenceable(4) %44)
  %373 = sext i32 %372 to i64
  br i1 %371, label %374, label %377

374:                                              ; preds = %.lr.ph247
  %375 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorI13HighsHashTreeIivESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %80, i64 noundef %373) #6
  %376 = invoke noundef zeroext i1 @_ZNK13HighsHashTreeIivE8containsERKi(ptr noundef nonnull align 8 dereferenceable(8) %375, ptr noundef nonnull align 4 dereferenceable(4) %41)
          to label %380 unwind label %383

377:                                              ; preds = %.lr.ph247
  %378 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorI13HighsHashTreeIiiESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %54, i64 noundef %373) #6
  %379 = invoke noundef zeroext i1 @_ZNK13HighsHashTreeIiiE8containsERKi(ptr noundef nonnull align 8 dereferenceable(8) %378, ptr noundef nonnull align 4 dereferenceable(4) %41)
          to label %380 unwind label %383

380:                                              ; preds = %377, %374
  %381 = phi i1 [ %376, %374 ], [ %379, %377 ]
  br i1 %381, label %385, label %382

382:                                              ; preds = %380
  invoke void @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE9push_backERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %84, ptr noundef nonnull align 4 dereferenceable(4) %44)
          to label %385 unwind label %383

383:                                              ; preds = %382, %377, %374
  %384 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %44) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %43) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %42) #6
  br label %395

385:                                              ; preds = %382, %380
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %44) #6
  %386 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPN16HighsCliqueTable9CliqueVarESt6vectorIS2_SaIS2_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %42) #6
  %387 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPN16HighsCliqueTable9CliqueVarESt6vectorIS2_SaIS2_EEEEbRKNS_17__normal_iteratorIT_T0_EESC_(ptr noundef nonnull align 8 dereferenceable(8) %42, ptr noundef nonnull align 8 dereferenceable(8) %43) #6
  br i1 %387, label %.lr.ph247, label %._crit_edge248

388:                                              ; preds = %348
  %389 = load i32, ptr %41, align 4, !tbaa !88
  invoke void @_ZN16HighsCliqueTable12removeCliqueEi(ptr noundef nonnull align 8 dereferenceable(488) %0, i32 noundef %389)
          to label %392 unwind label %390

390:                                              ; preds = %388
  %391 = landingpad { ptr, i32 }
          cleanup
  br label %395

392:                                              ; preds = %333, %388, %._crit_edge248, %318, %321, %327
  %.1153 = phi i32 [ %332, %327 ], [ %.0152249, %321 ], [ %.0152249, %318 ], [ %.0152249, %._crit_edge248 ], [ %.0152249, %388 ], [ %.0152249, %333 ]
  %.1151 = phi i1 [ true, %327 ], [ true, %321 ], [ true, %318 ], [ %.0150250, %._crit_edge248 ], [ %.0150250, %388 ], [ %.0150250, %333 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %41) #6
  %393 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %39) #6
  %394 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESA_(ptr noundef nonnull align 8 dereferenceable(8) %39, ptr noundef nonnull align 8 dereferenceable(8) %40) #6
  br i1 %394, label %.lr.ph252, label %._crit_edge253

395:                                              ; preds = %390, %383
  %.pn168 = phi { ptr, i32 } [ %384, %383 ], [ %391, %390 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %41) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %40) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %39) #6
  br label %432

._crit_edge257:                                   ; preds = %401, %.preheader192
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %46) #6
  %396 = call ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #6
  %397 = call ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #6
  %398 = invoke ptr @"_ZSt9remove_ifIN9__gnu_cxx17__normal_iteratorIPN16HighsCliqueTable9CliqueVarESt6vectorIS3_SaIS3_EEEEZNS2_16runCliqueMergingER11HighsDomainE3$_6ET_SC_SC_T0_"(ptr %396, ptr %397, ptr nonnull %1)
          to label %404 unwind label %417

.lr.ph256:                                        ; preds = %.lr.ph256.preheader, %401
  %indvars.iv287 = phi i64 [ 0, %.lr.ph256.preheader ], [ %indvars.iv.next288, %401 ]
  %399 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %3, i64 noundef %indvars.iv287) #6
  %400 = invoke noundef nonnull align 1 ptr @_ZNSt6vectorISt4pairIiN16HighsCliqueTable9CliqueVarEESaIS3_EE12emplace_backIJRiRS2_EEERS3_DpOT_(ptr noundef nonnull align 8 dereferenceable(24) %85, ptr noundef nonnull align 4 dereferenceable(4) %24, ptr noundef nonnull align 4 dereferenceable(4) %399)
          to label %401 unwind label %402

401:                                              ; preds = %.lr.ph256
  %indvars.iv.next288 = add nuw nsw i64 %indvars.iv287, 1
  %exitcond.not = icmp eq i64 %indvars.iv.next288, %wide.trip.count
  br i1 %exitcond.not, label %._crit_edge257, label %.lr.ph256, !llvm.loop !94

402:                                              ; preds = %.lr.ph256
  %403 = landingpad { ptr, i32 }
          cleanup
  br label %432

404:                                              ; preds = %._crit_edge257
  store ptr %398, ptr %46, align 8
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKN16HighsCliqueTable9CliqueVarESt6vectorIS2_SaIS2_EEEC2IPS2_vEERKNS0_IT_S7_EE(ptr noundef nonnull align 8 dereferenceable(8) %45, ptr noundef nonnull align 8 dereferenceable(8) %46) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %48) #6
  %405 = call ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #6
  store ptr %405, ptr %48, align 8
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKN16HighsCliqueTable9CliqueVarESt6vectorIS2_SaIS2_EEEC2IPS2_vEERKNS0_IT_S7_EE(ptr noundef nonnull align 8 dereferenceable(8) %47, ptr noundef nonnull align 8 dereferenceable(8) %48) #6
  %406 = load ptr, ptr %45, align 8
  %407 = load ptr, ptr %47, align 8
  %408 = invoke ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE5eraseEN9__gnu_cxx17__normal_iteratorIPKS1_S3_EES8_(ptr noundef nonnull align 8 dereferenceable(24) %3, ptr %406, ptr %407)
          to label %409 unwind label %419

409:                                              ; preds = %404
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %48) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %46) #6
  %410 = call noundef i64 @_ZNKSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #6
  %411 = icmp ugt i64 %410, 1
  br i1 %411, label %412, label %.loopexit191

412:                                              ; preds = %409
  %413 = call noundef ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #6
  %414 = call noundef i64 @_ZNKSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #6
  %415 = trunc i64 %414 to i32
  %416 = load i32, ptr %24, align 4, !tbaa !88
  invoke void @_ZN16HighsCliqueTable11doAddCliqueEPKNS_9CliqueVarEibi(ptr noundef nonnull align 8 dereferenceable(488) %0, ptr noundef %413, i32 noundef %415, i1 noundef zeroext false, i32 noundef %416)
          to label %.loopexit191 unwind label %422

417:                                              ; preds = %._crit_edge257
  %418 = landingpad { ptr, i32 }
          cleanup
  br label %421

419:                                              ; preds = %404
  %420 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %48) #6
  br label %421

421:                                              ; preds = %419, %417
  %.pn165 = phi { ptr, i32 } [ %420, %419 ], [ %418, %417 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %46) #6
  br label %432

422:                                              ; preds = %426, %412
  %423 = landingpad { ptr, i32 }
          cleanup
  br label %432

424:                                              ; preds = %._crit_edge253
  %.not167 = icmp eq i32 %.1153, 2147483647
  br i1 %.not167, label %.preheader190, label %426

.preheader190:                                    ; preds = %424
  %425 = icmp sgt i32 %242, 0
  br i1 %425, label %.lr.ph259.preheader, label %.loopexit191

.lr.ph259.preheader:                              ; preds = %.preheader190
  %wide.trip.count293 = and i64 %241, 2147483647
  br label %.lr.ph259

426:                                              ; preds = %424
  invoke void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %86, ptr noundef nonnull align 4 dereferenceable(4) %24)
          to label %.loopexit191 unwind label %422

.lr.ph259:                                        ; preds = %.lr.ph259.preheader, %429
  %indvars.iv290 = phi i64 [ 0, %.lr.ph259.preheader ], [ %indvars.iv.next291, %429 ]
  %427 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %3, i64 noundef %indvars.iv290) #6
  %428 = invoke noundef nonnull align 1 ptr @_ZNSt6vectorISt4pairIiN16HighsCliqueTable9CliqueVarEESaIS3_EE12emplace_backIJRiRS2_EEERS3_DpOT_(ptr noundef nonnull align 8 dereferenceable(24) %85, ptr noundef nonnull align 4 dereferenceable(4) %24, ptr noundef nonnull align 4 dereferenceable(4) %427)
          to label %429 unwind label %430

429:                                              ; preds = %.lr.ph259
  %indvars.iv.next291 = add nuw nsw i64 %indvars.iv290, 1
  %exitcond294.not = icmp eq i64 %indvars.iv.next291, %wide.trip.count293
  br i1 %exitcond294.not, label %.loopexit191, label %.lr.ph259, !llvm.loop !95

430:                                              ; preds = %.lr.ph259
  %431 = landingpad { ptr, i32 }
          cleanup
  br label %432

.loopexit191:                                     ; preds = %429, %.preheader190, %426, %409, %412
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %24) #6
  br label %433

432:                                              ; preds = %395, %402, %421, %422, %430, %302, %284, %283, %277
  %.pn173.pn = phi { ptr, i32 } [ %.pn173, %302 ], [ %285, %284 ], [ %.pn163, %283 ], [ %278, %277 ], [ %.pn168, %395 ], [ %423, %422 ], [ %431, %430 ], [ %403, %402 ], [ %.pn165, %421 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %24) #6
  br label %437

433:                                              ; preds = %.loopexit191, %._crit_edge262
  call void @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE5clearEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #6
  invoke void @_ZN16HighsCliqueTable25processInfeasibleVerticesER11HighsDomain(ptr noundef nonnull align 8 dereferenceable(488) %0, ptr noundef nonnull align 8 dereferenceable(824) %1)
          to label %434 unwind label %147

434:                                              ; preds = %433
  %435 = load i32, ptr %72, align 4, !tbaa !5
  %.not176 = icmp slt i32 %435, %76
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %5) #6
  br i1 %.not176, label %436, label %._crit_edge268

436:                                              ; preds = %434, %104, %99, %90
  %.1136 = phi i1 [ %.0135265, %90 ], [ %.0135265, %434 ], [ %.0135265, %99 ], [ true, %104 ]
  %indvars.iv.next296 = add nuw nsw i64 %indvars.iv295, 1
  %.not = icmp eq i64 %indvars.iv.next296, %87
  br i1 %.not, label %._crit_edge268, label %90, !llvm.loop !96

437:                                              ; preds = %215, %217, %185, %187, %432, %233, %151, %149, %147
  %.pn181.pn = phi { ptr, i32 } [ %234, %233 ], [ %148, %147 ], [ %.pn173.pn, %432 ], [ %152, %151 ], [ %150, %149 ], [ %188, %187 ], [ %186, %185 ], [ %218, %217 ], [ %216, %215 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %5) #6
  br label %475

._crit_edge268:                                   ; preds = %436, %434
  %.0135.lcssa = phi i1 [ %.0135265, %434 ], [ %.1136, %436 ]
  br i1 %.0135.lcssa, label %.lr.ph274, label %.loopexit

.lr.ph274:                                        ; preds = %._crit_edge268, %474
  %indvars.iv297 = phi i64 [ %indvars.iv.next298, %474 ], [ 0, %._crit_edge268 ]
  %438 = call noundef nonnull align 4 dereferenceable(20) ptr @_ZNSt6vectorIN16HighsCliqueTable6CliqueESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %61, i64 noundef %indvars.iv297) #6
  %439 = load i32, ptr %438, align 4, !tbaa !71
  %440 = icmp eq i32 %439, -1
  br i1 %440, label %474, label %441

441:                                              ; preds = %.lr.ph274
  %442 = call noundef nonnull align 4 dereferenceable(20) ptr @_ZNSt6vectorIN16HighsCliqueTable6CliqueESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %61, i64 noundef %indvars.iv297) #6
  %443 = getelementptr inbounds i8, ptr %442, i64 8
  %444 = load i32, ptr %443, align 4, !tbaa !76
  %.not178 = icmp eq i32 %444, -1
  br i1 %.not178, label %445, label %474

445:                                              ; preds = %441
  call void @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE5clearEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %50) #6
  %446 = call ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #6
  store ptr %446, ptr %50, align 8
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKN16HighsCliqueTable9CliqueVarESt6vectorIS2_SaIS2_EEEC2IPS2_vEERKNS0_IT_S7_EE(ptr noundef nonnull align 8 dereferenceable(8) %49, ptr noundef nonnull align 8 dereferenceable(8) %50) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %51) #6
  %447 = call ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %0) #6
  store ptr %447, ptr %51, align 8
  %448 = call noundef nonnull align 4 dereferenceable(20) ptr @_ZNSt6vectorIN16HighsCliqueTable6CliqueESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %61, i64 noundef %indvars.iv297) #6
  %449 = load i32, ptr %448, align 4, !tbaa !71
  %450 = sext i32 %449 to i64
  %451 = call ptr @_ZNK9__gnu_cxx17__normal_iteratorIPN16HighsCliqueTable9CliqueVarESt6vectorIS2_SaIS2_EEEplEl(ptr noundef nonnull align 8 dereferenceable(8) %51, i64 noundef %450) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %52) #6
  %452 = call ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %0) #6
  store ptr %452, ptr %52, align 8
  %453 = call noundef nonnull align 4 dereferenceable(20) ptr @_ZNSt6vectorIN16HighsCliqueTable6CliqueESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %61, i64 noundef %indvars.iv297) #6
  %454 = getelementptr inbounds i8, ptr %453, i64 4
  %455 = load i32, ptr %454, align 4, !tbaa !77
  %456 = sext i32 %455 to i64
  %457 = call ptr @_ZNK9__gnu_cxx17__normal_iteratorIPN16HighsCliqueTable9CliqueVarESt6vectorIS2_SaIS2_EEEplEl(ptr noundef nonnull align 8 dereferenceable(8) %52, i64 noundef %456) #6
  %458 = load ptr, ptr %49, align 8
  %459 = invoke ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE6insertIN9__gnu_cxx17__normal_iteratorIPS1_S3_EEvEES8_NS6_IPKS1_S3_EET_SC_(ptr noundef nonnull align 8 dereferenceable(24) %3, ptr %458, ptr %451, ptr %457)
          to label %460 unwind label %470

460:                                              ; preds = %445
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %52) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %51) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %50) #6
  %461 = trunc nuw nsw i64 %indvars.iv297 to i32
  invoke void @_ZN16HighsCliqueTable12removeCliqueEi(ptr noundef nonnull align 8 dereferenceable(488) %0, i32 noundef %461)
          to label %462 unwind label %472

462:                                              ; preds = %460
  invoke void @_ZN16HighsCliqueTable16runCliqueMergingER11HighsDomainRSt6vectorINS_9CliqueVarESaIS3_EEb(ptr noundef nonnull align 8 dereferenceable(488) %0, ptr noundef nonnull align 8 dereferenceable(824) %1, ptr noundef nonnull align 8 dereferenceable(24) %3, i1 noundef zeroext false)
          to label %463 unwind label %472

463:                                              ; preds = %462
  %464 = call noundef i64 @_ZNKSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #6
  %465 = icmp ugt i64 %464, 1
  br i1 %465, label %466, label %474

466:                                              ; preds = %463
  %467 = call noundef ptr @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #6
  %468 = call noundef i64 @_ZNKSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #6
  %469 = trunc i64 %468 to i32
  invoke void @_ZN16HighsCliqueTable11doAddCliqueEPKNS_9CliqueVarEibi(ptr noundef nonnull align 8 dereferenceable(488) %0, ptr noundef %467, i32 noundef %469, i1 noundef zeroext false, i32 noundef 2147483647)
          to label %474 unwind label %472

470:                                              ; preds = %445
  %471 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %52) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %51) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %50) #6
  br label %475

472:                                              ; preds = %466, %462, %460
  %473 = landingpad { ptr, i32 }
          cleanup
  br label %475

474:                                              ; preds = %463, %466, %441, %.lr.ph274
  %indvars.iv.next298 = add nuw nsw i64 %indvars.iv297, 1
  %.not177 = icmp eq i64 %indvars.iv.next298, %87
  br i1 %.not177, label %.loopexit, label %.lr.ph274, !llvm.loop !97

.loopexit:                                        ; preds = %474, %75, %._crit_edge268
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %4) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4) #6
  call void @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %3) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %3) #6
  ret void

475:                                              ; preds = %88, %470, %472, %437, %68
  %.pn179.pn.pn.pn = phi { ptr, i32 } [ %69, %68 ], [ %89, %88 ], [ %.pn181.pn, %437 ], [ %473, %472 ], [ %471, %470 ]
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %4) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4) #6
  br label %476

476:                                              ; preds = %475, %66
  %.pn179.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn179.pn.pn.pn, %475 ], [ %67, %66 ]
  call void @_ZNSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %3) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %3) #6
  resume { ptr, i32 } %.pn179.pn.pn.pn.pn
}

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNK13HighsHashTreeIiiE8for_eachIZN16HighsCliqueTable16runCliqueMergingER11HighsDomainE3$_1EEDTcldtcv19HighsHashTableEntryIiiE_E7forwardfp_EEOT_"(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNK13HighsHashTreeIivE8for_eachIZN16HighsCliqueTable16runCliqueMergingER11HighsDomainE3$_2EEDTcldtcv19HighsHashTableEntryIivE_E7forwardfp_EEOT_"(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #3 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare hidden ptr @"_ZSt9remove_ifIN9__gnu_cxx17__normal_iteratorIPN16HighsCliqueTable9CliqueVarESt6vectorIS3_SaIS3_EEEEZNS2_16runCliqueMergingER11HighsDomainE3$_3ET_SC_SC_T0_"(ptr, ptr, ptr) local_unnamed_addr #5

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNK13HighsHashTreeIiiE8for_eachIZN16HighsCliqueTable16runCliqueMergingER11HighsDomainE3$_4EEDTcldtcv19HighsHashTableEntryIiiE_E7forwardfp_EEOT_"(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNK13HighsHashTreeIivE8for_eachIZN16HighsCliqueTable16runCliqueMergingER11HighsDomainE3$_5EEDTcldtcv19HighsHashTableEntryIivE_E7forwardfp_EEOT_"(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #3 align 2

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden ptr @"_ZSt9remove_ifIN9__gnu_cxx17__normal_iteratorIPN16HighsCliqueTable9CliqueVarESt6vectorIS3_SaIS3_EEEEZNS2_16runCliqueMergingER11HighsDomainE3$_6ET_SC_SC_T0_"(ptr, ptr, ptr) local_unnamed_addr #5

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !69, i64 460}
!6 = !{!"_ZTS16HighsCliqueTable", !7, i64 0, !14, i64 24, !18, i64 48, !22, i64 72, !36, i64 112, !44, i64 160, !48, i64 184, !44, i64 208, !7, i64 232, !44, i64 256, !52, i64 280, !44, i64 304, !56, i64 328, !60, i64 352, !60, i64 376, !64, i64 400, !44, i64 424, !68, i64 448, !69, i64 456, !69, i64 460, !69, i64 464, !69, i64 468, !70, i64 472, !35, i64 480}
!7 = !{!"_ZTSSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE", !8, i64 0}
!8 = !{!"_ZTSSt12_Vector_baseIN16HighsCliqueTable9CliqueVarESaIS1_EE", !9, i64 0}
!9 = !{!"_ZTSNSt12_Vector_baseIN16HighsCliqueTable9CliqueVarESaIS1_EE12_Vector_implE", !10, i64 0}
!10 = !{!"_ZTSNSt12_Vector_baseIN16HighsCliqueTable9CliqueVarESaIS1_EE17_Vector_impl_dataE", !11, i64 0, !11, i64 8, !11, i64 16}
!11 = !{!"any pointer", !12, i64 0}
!12 = !{!"omnipotent char", !13, i64 0}
!13 = !{!"Simple C++ TBAA"}
!14 = !{!"_ZTSSt6vectorI13HighsHashTreeIiiESaIS1_EE", !15, i64 0}
!15 = !{!"_ZTSSt12_Vector_baseI13HighsHashTreeIiiESaIS1_EE", !16, i64 0}
!16 = !{!"_ZTSNSt12_Vector_baseI13HighsHashTreeIiiESaIS1_EE12_Vector_implE", !17, i64 0}
!17 = !{!"_ZTSNSt12_Vector_baseI13HighsHashTreeIiiESaIS1_EE17_Vector_impl_dataE", !11, i64 0, !11, i64 8, !11, i64 16}
!18 = !{!"_ZTSSt6vectorI13HighsHashTreeIivESaIS1_EE", !19, i64 0}
!19 = !{!"_ZTSSt12_Vector_baseI13HighsHashTreeIivESaIS1_EE", !20, i64 0}
!20 = !{!"_ZTSNSt12_Vector_baseI13HighsHashTreeIivESaIS1_EE12_Vector_implE", !21, i64 0}
!21 = !{!"_ZTSNSt12_Vector_baseI13HighsHashTreeIivESaIS1_EE17_Vector_impl_dataE", !11, i64 0, !11, i64 8, !11, i64 16}
!22 = !{!"_ZTS14HighsHashTableISt4pairIN16HighsCliqueTable9CliqueVarES2_EiE", !23, i64 0, !29, i64 8, !35, i64 16, !35, i64 24, !35, i64 32}
!23 = !{!"_ZTSSt10unique_ptrI19HighsHashTableEntryISt4pairIN16HighsCliqueTable9CliqueVarES3_EiEN14HighsHashTableIS4_iE12OpNewDeleterEE", !24, i64 0}
!24 = !{!"_ZTSSt15__uniq_ptr_dataI19HighsHashTableEntryISt4pairIN16HighsCliqueTable9CliqueVarES3_EiEN14HighsHashTableIS4_iE12OpNewDeleterELb1ELb1EE", !25, i64 0}
!25 = !{!"_ZTSSt15__uniq_ptr_implI19HighsHashTableEntryISt4pairIN16HighsCliqueTable9CliqueVarES3_EiEN14HighsHashTableIS4_iE12OpNewDeleterEE", !26, i64 0}
!26 = !{!"_ZTSSt5tupleIJP19HighsHashTableEntryISt4pairIN16HighsCliqueTable9CliqueVarES3_EiEN14HighsHashTableIS4_iE12OpNewDeleterEEE", !27, i64 0}
!27 = !{!"_ZTSSt11_Tuple_implILm0EJP19HighsHashTableEntryISt4pairIN16HighsCliqueTable9CliqueVarES3_EiEN14HighsHashTableIS4_iE12OpNewDeleterEEE", !28, i64 0}
!28 = !{!"_ZTSSt10_Head_baseILm0EP19HighsHashTableEntryISt4pairIN16HighsCliqueTable9CliqueVarES3_EiELb0EE", !11, i64 0}
!29 = !{!"_ZTSSt10unique_ptrIA_hSt14default_deleteIS0_EE", !30, i64 0}
!30 = !{!"_ZTSSt15__uniq_ptr_dataIhSt14default_deleteIA_hELb1ELb1EE", !31, i64 0}
!31 = !{!"_ZTSSt15__uniq_ptr_implIhSt14default_deleteIA_hEE", !32, i64 0}
!32 = !{!"_ZTSSt5tupleIJPhSt14default_deleteIA_hEEE", !33, i64 0}
!33 = !{!"_ZTSSt11_Tuple_implILm0EJPhSt14default_deleteIA_hEEE", !34, i64 0}
!34 = !{!"_ZTSSt10_Head_baseILm0EPhLb0EE", !11, i64 0}
!35 = !{!"long", !12, i64 0}
!36 = !{!"_ZTSSt3setISt4pairIiiESt4lessIS1_ESaIS1_EE", !37, i64 0}
!37 = !{!"_ZTSSt8_Rb_treeISt4pairIiiES1_St9_IdentityIS1_ESt4lessIS1_ESaIS1_EE", !38, i64 0}
!38 = !{!"_ZTSNSt8_Rb_treeISt4pairIiiES1_St9_IdentityIS1_ESt4lessIS1_ESaIS1_EE13_Rb_tree_implIS5_Lb1EEE", !39, i64 0, !41, i64 8}
!39 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessISt4pairIiiEEE", !40, i64 0}
!40 = !{!"_ZTSSt4lessISt4pairIiiEE"}
!41 = !{!"_ZTSSt15_Rb_tree_header", !42, i64 0, !35, i64 32}
!42 = !{!"_ZTSSt18_Rb_tree_node_base", !43, i64 0, !11, i64 8, !11, i64 16, !11, i64 24}
!43 = !{!"_ZTSSt14_Rb_tree_color", !12, i64 0}
!44 = !{!"_ZTSSt6vectorIiSaIiEE", !45, i64 0}
!45 = !{!"_ZTSSt12_Vector_baseIiSaIiEE", !46, i64 0}
!46 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE12_Vector_implE", !47, i64 0}
!47 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE17_Vector_impl_dataE", !11, i64 0, !11, i64 8, !11, i64 16}
!48 = !{!"_ZTSSt6vectorIN16HighsCliqueTable6CliqueESaIS1_EE", !49, i64 0}
!49 = !{!"_ZTSSt12_Vector_baseIN16HighsCliqueTable6CliqueESaIS1_EE", !50, i64 0}
!50 = !{!"_ZTSNSt12_Vector_baseIN16HighsCliqueTable6CliqueESaIS1_EE12_Vector_implE", !51, i64 0}
!51 = !{!"_ZTSNSt12_Vector_baseIN16HighsCliqueTable6CliqueESaIS1_EE17_Vector_impl_dataE", !11, i64 0, !11, i64 8, !11, i64 16}
!52 = !{!"_ZTSSt6vectorIN16HighsCliqueTable12SubstitutionESaIS1_EE", !53, i64 0}
!53 = !{!"_ZTSSt12_Vector_baseIN16HighsCliqueTable12SubstitutionESaIS1_EE", !54, i64 0}
!54 = !{!"_ZTSNSt12_Vector_baseIN16HighsCliqueTable12SubstitutionESaIS1_EE12_Vector_implE", !55, i64 0}
!55 = !{!"_ZTSNSt12_Vector_baseIN16HighsCliqueTable12SubstitutionESaIS1_EE17_Vector_impl_dataE", !11, i64 0, !11, i64 8, !11, i64 16}
!56 = !{!"_ZTSSt6vectorISt4pairIiN16HighsCliqueTable9CliqueVarEESaIS3_EE", !57, i64 0}
!57 = !{!"_ZTSSt12_Vector_baseISt4pairIiN16HighsCliqueTable9CliqueVarEESaIS3_EE", !58, i64 0}
!58 = !{!"_ZTSNSt12_Vector_baseISt4pairIiN16HighsCliqueTable9CliqueVarEESaIS3_EE12_Vector_implE", !59, i64 0}
!59 = !{!"_ZTSNSt12_Vector_baseISt4pairIiN16HighsCliqueTable9CliqueVarEESaIS3_EE17_Vector_impl_dataE", !11, i64 0, !11, i64 8, !11, i64 16}
!60 = !{!"_ZTSSt6vectorIhSaIhEE", !61, i64 0}
!61 = !{!"_ZTSSt12_Vector_baseIhSaIhEE", !62, i64 0}
!62 = !{!"_ZTSNSt12_Vector_baseIhSaIhEE12_Vector_implE", !63, i64 0}
!63 = !{!"_ZTSNSt12_Vector_baseIhSaIhEE17_Vector_impl_dataE", !11, i64 0, !11, i64 8, !11, i64 16}
!64 = !{!"_ZTSSt6vectorIjSaIjEE", !65, i64 0}
!65 = !{!"_ZTSSt12_Vector_baseIjSaIjEE", !66, i64 0}
!66 = !{!"_ZTSNSt12_Vector_baseIjSaIjEE12_Vector_implE", !67, i64 0}
!67 = !{!"_ZTSNSt12_Vector_baseIjSaIjEE17_Vector_impl_dataE", !11, i64 0, !11, i64 8, !11, i64 16}
!68 = !{!"_ZTS11HighsRandom", !35, i64 0}
!69 = !{!"int", !12, i64 0}
!70 = !{!"bool", !12, i64 0}
!71 = !{!72, !69, i64 0}
!72 = !{!"_ZTSN16HighsCliqueTable6CliqueE", !69, i64 0, !69, i64 4, !69, i64 8, !69, i64 12, !70, i64 16}
!73 = !{!72, !70, i64 16}
!74 = !{i8 0, i8 2}
!75 = !{}
!76 = !{!72, !69, i64 8}
!77 = !{!72, !69, i64 4}
!78 = !{!12, !12, i64 0}
!79 = distinct !{!79, !80}
!80 = !{!"llvm.loop.mustprogress"}
!81 = !{!82, !11, i64 0}
!82 = !{!"_ZTSZN16HighsCliqueTable16runCliqueMergingER11HighsDomainE3$_0", !11, i64 0, !11, i64 8, !11, i64 16}
!83 = !{!11, !11, i64 0}
!84 = distinct !{!84, !80}
!85 = distinct !{!85, !80}
!86 = distinct !{!86, !80}
!87 = distinct !{!87, !80}
!88 = !{!69, !69, i64 0}
!89 = !{!90, !11, i64 0}
!90 = !{!"_ZTSZN16HighsCliqueTable16runCliqueMergingER11HighsDomainE3$_4", !11, i64 0}
!91 = !{!92, !11, i64 0}
!92 = !{!"_ZTSZN16HighsCliqueTable16runCliqueMergingER11HighsDomainE3$_5", !11, i64 0}
!93 = !{!72, !69, i64 12}
!94 = distinct !{!94, !80}
!95 = distinct !{!95, !80}
!96 = distinct !{!96, !80}
!97 = distinct !{!97, !80}


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