; LLVM IR from optframe/optframe :: src/OptFrameLib (OptFrameLib)

; 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::basic_ostream" = type { ptr, %"class.std::basic_ios" }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%"class.std::locale" = type { ptr }
%"class.std::function.323" = type { %"class.std::_Function_base", ptr }
%"class.std::_Function_base" = type { %"union.std::_Any_data", ptr }
%"union.std::_Any_data" = type { %"union.std::_Nocopy_types" }
%"union.std::_Nocopy_types" = type { { i64, i64 } }
%class.anon.364 = type { ptr, ptr }
%"class.std::function.327" = type { %"class.std::_Function_base", ptr }
%class.anon.365 = type { ptr, ptr }
%"class.std::function.331" = type { %"class.std::_Function_base", ptr }
%class.anon.366 = type { ptr, ptr }
%"class.std::function.171" = type { %"class.std::_Function_base", ptr }
%class.anon.367 = type { ptr, ptr, %"class.std::function.323", %"class.std::function.327", %"class.std::function.331", %"class.std::function.171" }
%"class.std::function.368" = type { %"class.std::_Function_base", ptr }
%class.anon.371 = type { ptr, ptr, %"class.std::function.171" }
%"class.std::function.372" = type { %"class.std::_Function_base", ptr }
%class.anon.375 = type { ptr, ptr }
%class.anon.376 = type { ptr, ptr }
%"class.std::function.377" = type { %"class.std::_Function_base", ptr }
%class.anon.380 = type { ptr, ptr }
%"class.std::function.381" = type { %"class.std::_Function_base", ptr }
%class.anon.384 = type { ptr, ptr, %"class.std::function.323", %"class.std::function.327", %"class.std::function.331", %"class.std::function.171" }
%"class.std::function.336" = type { %"class.std::_Function_base", ptr }
%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::allocator" = type { i8 }
%class.anon.387 = type <{ ptr, i32, [4 x i8] }>
%"class.nnptr::NNShared.389" = type { %"class.nnptr::NotNull.390" }
%"class.nnptr::NotNull.390" = type { %"class.std::shared_ptr.391" }
%"class.std::shared_ptr.391" = type { %"class.std::__shared_ptr.392" }
%"class.std::__shared_ptr.392" = type { ptr, %"class.std::__shared_count" }
%"class.std::__shared_count" = type { ptr }
%"class.nnptr::NNShared.266" = type { %"class.nnptr::NotNull.267" }
%"class.nnptr::NotNull.267" = type { %"class.std::shared_ptr.115" }
%"class.std::shared_ptr.115" = type { %"class.std::__shared_ptr.116" }
%"class.std::__shared_ptr.116" = type { ptr, %"class.std::__shared_count" }
%class.FCoreApi1Engine = type { %"class.std::map", i32, i32, %"class.optframe::Loader", %"class.optframe::CheckCommand" }
%"class.std::map" = type { %"class.std::_Rb_tree" }
%"class.std::_Rb_tree" = type { %"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>>>, std::less<std::__cxx11::basic_string<char>>>::_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.optframe::Loader" = type { %"class.optframe::HeuristicFactory", %"class.std::map", %"class.std::map.26" }
%"class.optframe::HeuristicFactory" = type { ptr, i32, %"class.nnptr::NNShared", ptr, %"class.std::map.3", %"class.std::vector", %"class.std::vector.11", %"class.std::vector.16", %"class.std::map.21" }
%"class.nnptr::NNShared" = type { %"class.nnptr::NotNull" }
%"class.nnptr::NotNull" = type { %"class.std::shared_ptr" }
%"class.std::shared_ptr" = type { %"class.std::__shared_ptr" }
%"class.std::__shared_ptr" = type { ptr, %"class.std::__shared_count" }
%"class.std::map.3" = type { %"class.std::_Rb_tree.4" }
%"class.std::_Rb_tree.4" = type { %"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, std::vector<std::shared_ptr<optframe::Component>>>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::vector<std::shared_ptr<optframe::Component>>>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, std::vector<std::shared_ptr<optframe::Component>>>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::vector<std::shared_ptr<optframe::Component>>>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<optframe::ComponentBuilder<std::pair<FCoreLibSolution, optframe::Evaluation<>>> *, std::allocator<optframe::ComponentBuilder<std::pair<FCoreLibSolution, optframe::Evaluation<>>> *>>::_Vector_impl" }
%"struct.std::_Vector_base<optframe::ComponentBuilder<std::pair<FCoreLibSolution, optframe::Evaluation<>>> *, std::allocator<optframe::ComponentBuilder<std::pair<FCoreLibSolution, optframe::Evaluation<>>> *>>::_Vector_impl" = type { %"struct.std::_Vector_base<optframe::ComponentBuilder<std::pair<FCoreLibSolution, optframe::Evaluation<>>> *, std::allocator<optframe::ComponentBuilder<std::pair<FCoreLibSolution, optframe::Evaluation<>>> *>>::_Vector_impl_data" }
%"struct.std::_Vector_base<optframe::ComponentBuilder<std::pair<FCoreLibSolution, optframe::Evaluation<>>> *, std::allocator<optframe::ComponentBuilder<std::pair<FCoreLibSolution, optframe::Evaluation<>>> *>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.11" = type { %"struct.std::_Vector_base.12" }
%"struct.std::_Vector_base.12" = type { %"struct.std::_Vector_base<optframe::ComponentMultiBuilder<FCoreLibSolution> *, std::allocator<optframe::ComponentMultiBuilder<FCoreLibSolution> *>>::_Vector_impl" }
%"struct.std::_Vector_base<optframe::ComponentMultiBuilder<FCoreLibSolution> *, std::allocator<optframe::ComponentMultiBuilder<FCoreLibSolution> *>>::_Vector_impl" = type { %"struct.std::_Vector_base<optframe::ComponentMultiBuilder<FCoreLibSolution> *, std::allocator<optframe::ComponentMultiBuilder<FCoreLibSolution> *>>::_Vector_impl_data" }
%"struct.std::_Vector_base<optframe::ComponentMultiBuilder<FCoreLibSolution> *, std::allocator<optframe::ComponentMultiBuilder<FCoreLibSolution> *>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.16" = type { %"struct.std::_Vector_base.17" }
%"struct.std::_Vector_base.17" = type { %"struct.std::_Vector_base<optframe::Action<std::pair<FCoreLibSolution, optframe::Evaluation<>>> *, std::allocator<optframe::Action<std::pair<FCoreLibSolution, optframe::Evaluation<>>> *>>::_Vector_impl" }
%"struct.std::_Vector_base<optframe::Action<std::pair<FCoreLibSolution, optframe::Evaluation<>>> *, std::allocator<optframe::Action<std::pair<FCoreLibSolution, optframe::Evaluation<>>> *>>::_Vector_impl" = type { %"struct.std::_Vector_base<optframe::Action<std::pair<FCoreLibSolution, optframe::Evaluation<>>> *, std::allocator<optframe::Action<std::pair<FCoreLibSolution, optframe::Evaluation<>>> *>>::_Vector_impl_data" }
%"struct.std::_Vector_base<optframe::Action<std::pair<FCoreLibSolution, optframe::Evaluation<>>> *, std::allocator<optframe::Action<std::pair<FCoreLibSolution, optframe::Evaluation<>>> *>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::map.21" = type { %"class.std::_Rb_tree.22" }
%"class.std::_Rb_tree.22" = type { %"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, std::vector<std::vector<std::shared_ptr<optframe::Component>>>>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::vector<std::vector<std::shared_ptr<optframe::Component>>>>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, std::vector<std::vector<std::shared_ptr<optframe::Component>>>>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::vector<std::vector<std::shared_ptr<optframe::Component>>>>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"class.std::map.26" = type { %"class.std::_Rb_tree.27" }
%"class.std::_Rb_tree.27" = type { %"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, std::vector<std::__cxx11::basic_string<char>>>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::vector<std::__cxx11::basic_string<char>>>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, std::vector<std::__cxx11::basic_string<char>>>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::vector<std::__cxx11::basic_string<char>>>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"class.optframe::CheckCommand" = type <{ %"class.optframe::Component.base", i8, i8, i8, [4 x i8], %"class.std::vector.31", %"class.std::vector.36", %"class.std::vector.41", %"class.std::vector.46", %"class.std::vector.51", %"class.std::vector.56", %"class.std::vector.61", %"class.std::function.66", i8, [7 x i8] }>
%"class.optframe::Component.base" = type <{ ptr, ptr, ptr, i32, i8, i8, i8, i8, i8 }>
%"class.std::vector.31" = type { %"struct.std::_Vector_base.32" }
%"struct.std::_Vector_base.32" = type { %"struct.std::_Vector_base<std::shared_ptr<optframe::Evaluator<FCoreLibSolution, optframe::Evaluation<>>>, std::allocator<std::shared_ptr<optframe::Evaluator<FCoreLibSolution, optframe::Evaluation<>>>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::shared_ptr<optframe::Evaluator<FCoreLibSolution, optframe::Evaluation<>>>, std::allocator<std::shared_ptr<optframe::Evaluator<FCoreLibSolution, optframe::Evaluation<>>>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::shared_ptr<optframe::Evaluator<FCoreLibSolution, optframe::Evaluation<>>>, std::allocator<std::shared_ptr<optframe::Evaluator<FCoreLibSolution, optframe::Evaluation<>>>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::shared_ptr<optframe::Evaluator<FCoreLibSolution, optframe::Evaluation<>>>, std::allocator<std::shared_ptr<optframe::Evaluator<FCoreLibSolution, optframe::Evaluation<>>>>>::_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<std::shared_ptr<optframe::InitialSearch<std::pair<FCoreLibSolution, optframe::Evaluation<>>>>, std::allocator<std::shared_ptr<optframe::InitialSearch<std::pair<FCoreLibSolution, optframe::Evaluation<>>>>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::shared_ptr<optframe::InitialSearch<std::pair<FCoreLibSolution, optframe::Evaluation<>>>>, std::allocator<std::shared_ptr<optframe::InitialSearch<std::pair<FCoreLibSolution, optframe::Evaluation<>>>>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::shared_ptr<optframe::InitialSearch<std::pair<FCoreLibSolution, optframe::Evaluation<>>>>, std::allocator<std::shared_ptr<optframe::InitialSearch<std::pair<FCoreLibSolution, optframe::Evaluation<>>>>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::shared_ptr<optframe::InitialSearch<std::pair<FCoreLibSolution, optframe::Evaluation<>>>>, std::allocator<std::shared_ptr<optframe::InitialSearch<std::pair<FCoreLibSolution, optframe::Evaluation<>>>>>>::_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::shared_ptr<FCoreLibSolution>, std::allocator<std::shared_ptr<FCoreLibSolution>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::shared_ptr<FCoreLibSolution>, std::allocator<std::shared_ptr<FCoreLibSolution>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::shared_ptr<FCoreLibSolution>, std::allocator<std::shared_ptr<FCoreLibSolution>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::shared_ptr<FCoreLibSolution>, std::allocator<std::shared_ptr<FCoreLibSolution>>>::_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<std::shared_ptr<optframe::Move<std::pair<FCoreLibSolution, optframe::Evaluation<>>>>, std::allocator<std::shared_ptr<optframe::Move<std::pair<FCoreLibSolution, optframe::Evaluation<>>>>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::shared_ptr<optframe::Move<std::pair<FCoreLibSolution, optframe::Evaluation<>>>>, std::allocator<std::shared_ptr<optframe::Move<std::pair<FCoreLibSolution, optframe::Evaluation<>>>>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::shared_ptr<optframe::Move<std::pair<FCoreLibSolution, optframe::Evaluation<>>>>, std::allocator<std::shared_ptr<optframe::Move<std::pair<FCoreLibSolution, optframe::Evaluation<>>>>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::shared_ptr<optframe::Move<std::pair<FCoreLibSolution, optframe::Evaluation<>>>>, std::allocator<std::shared_ptr<optframe::Move<std::pair<FCoreLibSolution, optframe::Evaluation<>>>>>>::_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<std::shared_ptr<optframe::NS<std::pair<FCoreLibSolution, optframe::Evaluation<>>>>, std::allocator<std::shared_ptr<optframe::NS<std::pair<FCoreLibSolution, optframe::Evaluation<>>>>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::shared_ptr<optframe::NS<std::pair<FCoreLibSolution, optframe::Evaluation<>>>>, std::allocator<std::shared_ptr<optframe::NS<std::pair<FCoreLibSolution, optframe::Evaluation<>>>>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::shared_ptr<optframe::NS<std::pair<FCoreLibSolution, optframe::Evaluation<>>>>, std::allocator<std::shared_ptr<optframe::NS<std::pair<FCoreLibSolution, optframe::Evaluation<>>>>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::shared_ptr<optframe::NS<std::pair<FCoreLibSolution, optframe::Evaluation<>>>>, std::allocator<std::shared_ptr<optframe::NS<std::pair<FCoreLibSolution, optframe::Evaluation<>>>>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.56" = type { %"struct.std::_Vector_base.57" }
%"struct.std::_Vector_base.57" = type { %"struct.std::_Vector_base<std::shared_ptr<optframe::NSSeq<std::pair<FCoreLibSolution, optframe::Evaluation<>>>>, std::allocator<std::shared_ptr<optframe::NSSeq<std::pair<FCoreLibSolution, optframe::Evaluation<>>>>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::shared_ptr<optframe::NSSeq<std::pair<FCoreLibSolution, optframe::Evaluation<>>>>, std::allocator<std::shared_ptr<optframe::NSSeq<std::pair<FCoreLibSolution, optframe::Evaluation<>>>>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::shared_ptr<optframe::NSSeq<std::pair<FCoreLibSolution, optframe::Evaluation<>>>>, std::allocator<std::shared_ptr<optframe::NSSeq<std::pair<FCoreLibSolution, optframe::Evaluation<>>>>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::shared_ptr<optframe::NSSeq<std::pair<FCoreLibSolution, optframe::Evaluation<>>>>, std::allocator<std::shared_ptr<optframe::NSSeq<std::pair<FCoreLibSolution, optframe::Evaluation<>>>>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.61" = type { %"struct.std::_Vector_base.62" }
%"struct.std::_Vector_base.62" = type { %"struct.std::_Vector_base<std::shared_ptr<optframe::NSEnum<std::pair<FCoreLibSolution, optframe::Evaluation<>>, std::pair<FCoreLibSolution, optframe::Evaluation<>>>>, std::allocator<std::shared_ptr<optframe::NSEnum<std::pair<FCoreLibSolution, optframe::Evaluation<>>, std::pair<FCoreLibSolution, optframe::Evaluation<>>>>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::shared_ptr<optframe::NSEnum<std::pair<FCoreLibSolution, optframe::Evaluation<>>, std::pair<FCoreLibSolution, optframe::Evaluation<>>>>, std::allocator<std::shared_ptr<optframe::NSEnum<std::pair<FCoreLibSolution, optframe::Evaluation<>>, std::pair<FCoreLibSolution, optframe::Evaluation<>>>>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::shared_ptr<optframe::NSEnum<std::pair<FCoreLibSolution, optframe::Evaluation<>>, std::pair<FCoreLibSolution, optframe::Evaluation<>>>>, std::allocator<std::shared_ptr<optframe::NSEnum<std::pair<FCoreLibSolution, optframe::Evaluation<>>, std::pair<FCoreLibSolution, optframe::Evaluation<>>>>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::shared_ptr<optframe::NSEnum<std::pair<FCoreLibSolution, optframe::Evaluation<>>, std::pair<FCoreLibSolution, optframe::Evaluation<>>>>, std::allocator<std::shared_ptr<optframe::NSEnum<std::pair<FCoreLibSolution, optframe::Evaluation<>>, std::pair<FCoreLibSolution, optframe::Evaluation<>>>>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::function.66" = type { %"class.std::_Function_base", ptr }
%"class.optframe::FNSSeq" = type { %"class.optframe::NSSeq", %"class.std::function.336", %"class.std::function.336", %"class.std::function.368", %"class.std::function.372", %"class.std::function.372", %"class.std::function.377", %"class.std::function.381" }
%"class.optframe::NSSeq" = type { %"class.optframe::NSFind.base", %"class.std::unique_ptr" }
%"class.optframe::NSFind.base" = type { %"class.optframe::NS.base" }
%"class.optframe::NS.base" = type { %"class.optframe::Component.base" }
%"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.386" }
%"struct.std::_Head_base.386" = type { ptr }

@_ZSt4cout = external global %"class.std::basic_ostream", align 8
@.str.67 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [25 x i8], align 1

declare i32 @__gxx_personality_v0(...)

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_(ptr noundef nonnull align 8 dereferenceable(8)) #2

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

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

; Function Attrs: nobuiltin allocsize(0)
declare noundef nonnull ptr @_Znwm(i64 noundef) #4

; Function Attrs: nobuiltin nounwind
declare void @_ZdlPvm(ptr noundef, i64 noundef) #5

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

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

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

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

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

declare noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8), i32 noundef) #6

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZN8optframe16HeuristicFactoryISt4pairI16FCoreLibSolutionNS_10EvaluationIdEEEE12addComponentEN5nnptr8NNSharedINS_9ComponentEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(208), ptr noundef, ptr noundef) #1 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN5nnptr8NNSharedIN8optframe9ComponentEED2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #7 align 2

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
define dso_local i32 @optframe_api1d_add_nsseq(ptr noundef %0, ptr noundef %1, ptr noundef %2, ptr noundef %3, ptr noundef %4, ptr noundef %5, ptr noundef %6, ptr noundef %7, ptr noundef %8, ptr noundef %9, ptr noundef %10, ptr noundef %11) #1 personality ptr @__gxx_personality_v0 {
  %13 = alloca ptr, align 8
  %14 = alloca ptr, align 8
  %15 = alloca ptr, align 8
  %16 = alloca ptr, align 8
  %17 = alloca ptr, align 8
  %18 = alloca ptr, align 8
  %19 = alloca ptr, align 8
  %20 = alloca ptr, align 8
  %21 = alloca ptr, align 8
  %22 = alloca ptr, align 8
  %23 = alloca ptr, align 8
  %24 = alloca ptr, align 8
  %25 = alloca ptr, align 8
  %26 = alloca %"class.std::function.323", align 8
  %27 = alloca %class.anon.364, align 8
  %28 = alloca %"class.std::function.327", align 8
  %29 = alloca %class.anon.365, align 8
  %30 = alloca %"class.std::function.331", align 8
  %31 = alloca %class.anon.366, align 8
  %32 = alloca %"class.std::function.171", align 8
  %33 = alloca %class.anon.367, align 8
  %34 = alloca ptr, align 8
  %35 = alloca i32, align 4
  %36 = alloca %"class.std::function.368", align 8
  %37 = alloca %class.anon.371, align 8
  %38 = alloca %"class.std::function.372", align 8
  %39 = alloca %class.anon.375, align 8
  %40 = alloca %"class.std::function.372", align 8
  %41 = alloca %class.anon.376, align 8
  %42 = alloca %"class.std::function.377", align 8
  %43 = alloca %class.anon.380, align 8
  %44 = alloca %"class.std::function.381", align 8
  %45 = alloca %class.anon.384, align 8
  %46 = alloca ptr, align 8
  %47 = alloca %"class.std::function.336", align 8
  %48 = alloca %"class.std::function.368", align 8
  %49 = alloca %"class.std::function.372", align 8
  %50 = alloca %"class.std::function.372", align 8
  %51 = alloca %"class.std::function.377", align 8
  %52 = alloca %"class.std::function.381", align 8
  %53 = alloca i1, align 1
  %54 = alloca i32, align 4
  %55 = alloca %"class.std::__cxx11::basic_string", align 8
  %56 = alloca %"class.std::allocator", align 1
  %57 = alloca %class.anon.387, align 8
  %58 = alloca %"class.nnptr::NNShared.389", align 8
  %59 = alloca %"class.nnptr::NNShared.266", align 8
  %60 = alloca i32, align 4
  %61 = alloca %"class.nnptr::NNShared.266", align 8
  %62 = alloca %"class.std::__cxx11::basic_string", align 8
  %63 = alloca %"class.std::allocator", align 1
  %64 = alloca %"class.nnptr::NNShared.389", align 8
  store ptr %0, ptr %13, align 8, !tbaa !5
  store ptr %1, ptr %14, align 8, !tbaa !5
  store ptr %2, ptr %15, align 8, !tbaa !5
  store ptr %3, ptr %16, align 8, !tbaa !5
  store ptr %4, ptr %17, align 8, !tbaa !5
  store ptr %5, ptr %18, align 8, !tbaa !5
  store ptr %6, ptr %19, align 8, !tbaa !5
  store ptr %7, ptr %20, align 8, !tbaa !5
  store ptr %8, ptr %21, align 8, !tbaa !5
  store ptr %9, ptr %22, align 8, !tbaa !5
  store ptr %10, ptr %23, align 8, !tbaa !5
  store ptr %11, ptr %24, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %25) #8
  %65 = load ptr, ptr %13, align 8, !tbaa !5
  store ptr %65, ptr %25, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %26) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %27) #8
  %66 = getelementptr inbounds %class.anon.364, ptr %27, i32 0, i32 0
  %67 = load ptr, ptr %20, align 8, !tbaa !5
  store ptr %67, ptr %66, align 8, !tbaa !9
  %68 = getelementptr inbounds %class.anon.364, ptr %27, i32 0, i32 1
  %69 = load ptr, ptr %23, align 8, !tbaa !5
  store ptr %69, ptr %68, align 8, !tbaa !11
  call void @"_ZNSt8functionIFPvRKS0_RSt4pairI16FCoreLibSolutionN8optframe10EvaluationIdEEEEEC2IZ24optframe_api1d_add_nsseqE3$_0vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %26, ptr noundef nonnull align 8 dereferenceable(16) %27) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %27) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %28) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %29) #8
  %70 = getelementptr inbounds %class.anon.365, ptr %29, i32 0, i32 0
  %71 = load ptr, ptr %22, align 8, !tbaa !5
  store ptr %71, ptr %70, align 8, !tbaa !12
  %72 = getelementptr inbounds %class.anon.365, ptr %29, i32 0, i32 1
  %73 = load ptr, ptr %23, align 8, !tbaa !5
  store ptr %73, ptr %72, align 8, !tbaa !14
  call void @"_ZNSt8functionIFbRKPvRKSt4pairI16FCoreLibSolutionN8optframe10EvaluationIdEEEEEC2IZ24optframe_api1d_add_nsseqE3$_1vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %28, ptr noundef nonnull align 8 dereferenceable(16) %29) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %29) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %30) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %31) #8
  %74 = getelementptr inbounds %class.anon.366, ptr %31, i32 0, i32 0
  %75 = load ptr, ptr %21, align 8, !tbaa !5
  store ptr %75, ptr %74, align 8, !tbaa !15
  %76 = getelementptr inbounds %class.anon.366, ptr %31, i32 0, i32 1
  %77 = load ptr, ptr %23, align 8, !tbaa !5
  store ptr %77, ptr %76, align 8, !tbaa !17
  call void @"_ZNSt8functionIFbRKPvRKN8optframe4MoveISt4pairI16FCoreLibSolutionNS3_10EvaluationIdEEES9_EEEEC2IZ24optframe_api1d_add_nsseqE3$_2vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %30, ptr noundef nonnull align 8 dereferenceable(16) %31) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %31) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %32) #8
  call void @_ZNSt8functionIFbPvEEC2IRPFiS0_EvEEOT_(ptr noundef nonnull align 8 dereferenceable(32) %32, ptr noundef nonnull align 8 dereferenceable(8) %24) #8
  call void @llvm.lifetime.start.p0(i64 144, ptr %33) #8
  %78 = getelementptr inbounds %class.anon.367, ptr %33, i32 0, i32 0
  %79 = load ptr, ptr %14, align 8, !tbaa !5
  store ptr %79, ptr %78, align 8, !tbaa !18
  %80 = getelementptr inbounds %class.anon.367, ptr %33, i32 0, i32 1
  %81 = load ptr, ptr %23, align 8, !tbaa !5
  store ptr %81, ptr %80, align 8, !tbaa !25
  %82 = getelementptr inbounds %class.anon.367, ptr %33, i32 0, i32 2
  invoke void @_ZNSt8functionIFPvRKS0_RSt4pairI16FCoreLibSolutionN8optframe10EvaluationIdEEEEEC2ERKSB_(ptr noundef nonnull align 8 dereferenceable(32) %82, ptr noundef nonnull align 8 dereferenceable(32) %26)
          to label %83 unwind label %153

83:                                               ; preds = %12
  %84 = getelementptr inbounds %class.anon.367, ptr %33, i32 0, i32 3
  invoke void @_ZNSt8functionIFbRKPvRKSt4pairI16FCoreLibSolutionN8optframe10EvaluationIdEEEEEC2ERKSC_(ptr noundef nonnull align 8 dereferenceable(32) %84, ptr noundef nonnull align 8 dereferenceable(32) %28)
          to label %85 unwind label %157

85:                                               ; preds = %83
  %86 = getelementptr inbounds %class.anon.367, ptr %33, i32 0, i32 4
  invoke void @_ZNSt8functionIFbRKPvRKN8optframe4MoveISt4pairI16FCoreLibSolutionNS3_10EvaluationIdEEES9_EEEEC2ERKSE_(ptr noundef nonnull align 8 dereferenceable(32) %86, ptr noundef nonnull align 8 dereferenceable(32) %30)
          to label %87 unwind label %161

87:                                               ; preds = %85
  %88 = getelementptr inbounds %class.anon.367, ptr %33, i32 0, i32 5
  invoke void @_ZNSt8functionIFbPvEEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(32) %88, ptr noundef nonnull align 8 dereferenceable(32) %32)
          to label %89 unwind label %165

89:                                               ; preds = %87
  call void @llvm.lifetime.start.p0(i64 32, ptr %36) #8
  call void @llvm.lifetime.start.p0(i64 48, ptr %37) #8
  %90 = getelementptr inbounds %class.anon.371, ptr %37, i32 0, i32 0
  %91 = load ptr, ptr %15, align 8, !tbaa !5
  store ptr %91, ptr %90, align 8, !tbaa !26
  %92 = getelementptr inbounds %class.anon.371, ptr %37, i32 0, i32 1
  %93 = load ptr, ptr %23, align 8, !tbaa !5
  store ptr %93, ptr %92, align 8, !tbaa !28
  %94 = getelementptr inbounds %class.anon.371, ptr %37, i32 0, i32 2
  invoke void @_ZNSt8functionIFbPvEEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(32) %94, ptr noundef nonnull align 8 dereferenceable(32) %32)
          to label %95 unwind label %171

95:                                               ; preds = %89
  invoke void @"_ZNSt8functionIF9IMSObjLibRKSt4pairI16FCoreLibSolutionN8optframe10EvaluationIdEEEEEC2IZ24optframe_api1d_add_nsseqE3$_3vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %36, ptr noundef nonnull align 8 dereferenceable(48) %37)
          to label %96 unwind label %175

96:                                               ; preds = %95
  call void @"_ZZ24optframe_api1d_add_nsseqEN3$_3D2Ev"(ptr noundef nonnull align 8 dereferenceable(48) %37) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %37) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %38) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %39) #8
  %97 = getelementptr inbounds %class.anon.375, ptr %39, i32 0, i32 0
  %98 = load ptr, ptr %16, align 8, !tbaa !5
  store ptr %98, ptr %97, align 8, !tbaa !29
  %99 = getelementptr inbounds %class.anon.375, ptr %39, i32 0, i32 1
  %100 = load ptr, ptr %23, align 8, !tbaa !5
  store ptr %100, ptr %99, align 8, !tbaa !31
  call void @"_ZNSt8functionIFvR9IMSObjLibEEC2IZ24optframe_api1d_add_nsseqE3$_4vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %38, ptr noundef nonnull align 8 dereferenceable(16) %39) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %39) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %40) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %41) #8
  %101 = getelementptr inbounds %class.anon.376, ptr %41, i32 0, i32 0
  %102 = load ptr, ptr %17, align 8, !tbaa !5
  store ptr %102, ptr %101, align 8, !tbaa !32
  %103 = getelementptr inbounds %class.anon.376, ptr %41, i32 0, i32 1
  %104 = load ptr, ptr %23, align 8, !tbaa !5
  store ptr %104, ptr %103, align 8, !tbaa !34
  call void @"_ZNSt8functionIFvR9IMSObjLibEEC2IZ24optframe_api1d_add_nsseqE3$_5vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %40, ptr noundef nonnull align 8 dereferenceable(16) %41) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %41) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %42) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %43) #8
  %105 = getelementptr inbounds %class.anon.380, ptr %43, i32 0, i32 0
  %106 = load ptr, ptr %18, align 8, !tbaa !5
  store ptr %106, ptr %105, align 8, !tbaa !35
  %107 = getelementptr inbounds %class.anon.380, ptr %43, i32 0, i32 1
  %108 = load ptr, ptr %23, align 8, !tbaa !5
  store ptr %108, ptr %107, align 8, !tbaa !37
  call void @"_ZNSt8functionIFbR9IMSObjLibEEC2IZ24optframe_api1d_add_nsseqE3$_6vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %42, ptr noundef nonnull align 8 dereferenceable(16) %43) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %43) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %44) #8
  call void @llvm.lifetime.start.p0(i64 144, ptr %45) #8
  %109 = getelementptr inbounds %class.anon.384, ptr %45, i32 0, i32 0
  %110 = load ptr, ptr %19, align 8, !tbaa !5
  store ptr %110, ptr %109, align 8, !tbaa !38
  %111 = getelementptr inbounds %class.anon.384, ptr %45, i32 0, i32 1
  %112 = load ptr, ptr %23, align 8, !tbaa !5
  store ptr %112, ptr %111, align 8, !tbaa !40
  %113 = getelementptr inbounds %class.anon.384, ptr %45, i32 0, i32 2
  invoke void @_ZNSt8functionIFPvRKS0_RSt4pairI16FCoreLibSolutionN8optframe10EvaluationIdEEEEEC2ERKSB_(ptr noundef nonnull align 8 dereferenceable(32) %113, ptr noundef nonnull align 8 dereferenceable(32) %26)
          to label %114 unwind label %180

114:                                              ; preds = %96
  %115 = getelementptr inbounds %class.anon.384, ptr %45, i32 0, i32 3
  invoke void @_ZNSt8functionIFbRKPvRKSt4pairI16FCoreLibSolutionN8optframe10EvaluationIdEEEEEC2ERKSC_(ptr noundef nonnull align 8 dereferenceable(32) %115, ptr noundef nonnull align 8 dereferenceable(32) %28)
          to label %116 unwind label %184

116:                                              ; preds = %114
  %117 = getelementptr inbounds %class.anon.384, ptr %45, i32 0, i32 4
  invoke void @_ZNSt8functionIFbRKPvRKN8optframe4MoveISt4pairI16FCoreLibSolutionNS3_10EvaluationIdEEES9_EEEEC2ERKSE_(ptr noundef nonnull align 8 dereferenceable(32) %117, ptr noundef nonnull align 8 dereferenceable(32) %30)
          to label %118 unwind label %188

118:                                              ; preds = %116
  %119 = getelementptr inbounds %class.anon.384, ptr %45, i32 0, i32 5
  invoke void @_ZNSt8functionIFbPvEEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(32) %119, ptr noundef nonnull align 8 dereferenceable(32) %32)
          to label %120 unwind label %192

120:                                              ; preds = %118
  invoke void @"_ZNSt8functionIFSt10unique_ptrIN8optframe4MoveISt4pairI16FCoreLibSolutionNS1_10EvaluationIdEEES7_EESt14default_deleteIS8_EER9IMSObjLibEEC2IZ24optframe_api1d_add_nsseqE3$_7vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %44, ptr noundef nonnull align 8 dereferenceable(144) %45)
          to label %121 unwind label %198

121:                                              ; preds = %120
  call void @"_ZZ24optframe_api1d_add_nsseqEN3$_7D2Ev"(ptr noundef nonnull align 8 dereferenceable(144) %45) #8
  call void @llvm.lifetime.end.p0(i64 144, ptr %45) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %46) #8
  %122 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 272) #9
          to label %123 unwind label %203

123:                                              ; preds = %121
  store i1 true, ptr %53, align 1
  invoke void @"_ZNSt8functionIFSt10unique_ptrIN8optframe4MoveISt4pairI16FCoreLibSolutionNS1_10EvaluationIdEEES7_EESt14default_deleteIS8_EERKS7_EEC2IRZ24optframe_api1d_add_nsseqE3$_8vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %47, ptr noundef nonnull align 8 dereferenceable(144) %33)
          to label %124 unwind label %207

124:                                              ; preds = %123
  invoke void @_ZNSt8functionIF9IMSObjLibRKSt4pairI16FCoreLibSolutionN8optframe10EvaluationIdEEEEEC2ERKSA_(ptr noundef nonnull align 8 dereferenceable(32) %48, ptr noundef nonnull align 8 dereferenceable(32) %36)
          to label %125 unwind label %211

125:                                              ; preds = %124
  invoke void @_ZNSt8functionIFvR9IMSObjLibEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(32) %49, ptr noundef nonnull align 8 dereferenceable(32) %38)
          to label %126 unwind label %215

126:                                              ; preds = %125
  invoke void @_ZNSt8functionIFvR9IMSObjLibEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef nonnull align 8 dereferenceable(32) %40)
          to label %127 unwind label %219

127:                                              ; preds = %126
  invoke void @_ZNSt8functionIFbR9IMSObjLibEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(32) %51, ptr noundef nonnull align 8 dereferenceable(32) %42)
          to label %128 unwind label %223

128:                                              ; preds = %127
  invoke void @_ZNSt8functionIFSt10unique_ptrIN8optframe4MoveISt4pairI16FCoreLibSolutionNS1_10EvaluationIdEEES7_EESt14default_deleteIS8_EER9IMSObjLibEEC2ERKSF_(ptr noundef nonnull align 8 dereferenceable(32) %52, ptr noundef nonnull align 8 dereferenceable(32) %44)
          to label %129 unwind label %227

129:                                              ; preds = %128
  invoke void @_ZN8optframe6FNSSeqI9IMSObjLibSt4pairI16FCoreLibSolutionNS_10EvaluationIdEEEvEC2ESt8functionIFSt10unique_ptrINS_4MoveIS6_S6_EESt14default_deleteISB_EERKS6_EES8_IFS1_SG_EES8_IFvRS1_EESN_S8_IFbSL_EES8_IFSE_SL_EE(ptr noundef nonnull align 8 dereferenceable(272) %122, ptr noundef %47, ptr noundef %48, ptr noundef %49, ptr noundef %50, ptr noundef %51, ptr noundef %52)
          to label %130 unwind label %231

130:                                              ; preds = %129
  store i1 false, ptr %53, align 1
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #8
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #8
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #8
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #8
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #8
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #8
  store ptr %122, ptr %46, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %54) #8
  %131 = load ptr, ptr %25, align 8, !tbaa !5
  %132 = getelementptr inbounds %class.FCoreApi1Engine, ptr %131, i32 0, i32 0
  call void @llvm.lifetime.start.p0(i64 32, ptr %55) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %56) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %56) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %55, ptr noundef @.str.67, ptr noundef nonnull align 1 dereferenceable(1) %56)
          to label %133 unwind label %244

133:                                              ; preds = %130
  %134 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %132, ptr noundef nonnull align 8 dereferenceable(32) %55)
          to label %135 unwind label %248

135:                                              ; preds = %133
  %136 = invoke noundef i32 @_ZNSt7__cxx114stoiERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPmi(ptr noundef nonnull align 8 dereferenceable(32) %134, ptr noundef null, i32 noundef 10)
          to label %137 unwind label %248

137:                                              ; preds = %135
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %56) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %56) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %55) #8
  store i32 %136, ptr %54, align 4, !tbaa !41
  %138 = load i32, ptr %54, align 4, !tbaa !41
  %139 = icmp sgt i32 %138, 1
  br i1 %139, label %140, label %265

140:                                              ; preds = %137
  %141 = load ptr, ptr %25, align 8, !tbaa !5
  %142 = getelementptr inbounds %class.FCoreApi1Engine, ptr %141, i32 0, i32 1
  %143 = load i32, ptr %142, align 8, !tbaa !43
  %144 = icmp sle i32 %143, 1
  br i1 %144, label %145, label %257

145:                                              ; preds = %140
  %146 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.68)
          to label %147 unwind label %253

147:                                              ; preds = %145
  %148 = load i32, ptr %54, align 4, !tbaa !41
  %149 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %146, i32 noundef %148)
          to label %150 unwind label %253

150:                                              ; preds = %147
  %151 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %149, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %152 unwind label %253

152:                                              ; preds = %150
  br label %257

153:                                              ; preds = %12
  %154 = landingpad { ptr, i32 }
          cleanup
  %155 = extractvalue { ptr, i32 } %154, 0
  store ptr %155, ptr %34, align 8
  %156 = extractvalue { ptr, i32 } %154, 1
  store i32 %156, ptr %35, align 4
  br label %313

157:                                              ; preds = %83
  %158 = landingpad { ptr, i32 }
          cleanup
  %159 = extractvalue { ptr, i32 } %158, 0
  store ptr %159, ptr %34, align 8
  %160 = extractvalue { ptr, i32 } %158, 1
  store i32 %160, ptr %35, align 4
  br label %170

161:                                              ; preds = %85
  %162 = landingpad { ptr, i32 }
          cleanup
  %163 = extractvalue { ptr, i32 } %162, 0
  store ptr %163, ptr %34, align 8
  %164 = extractvalue { ptr, i32 } %162, 1
  store i32 %164, ptr %35, align 4
  br label %169

165:                                              ; preds = %87
  %166 = landingpad { ptr, i32 }
          cleanup
  %167 = extractvalue { ptr, i32 } %166, 0
  store ptr %167, ptr %34, align 8
  %168 = extractvalue { ptr, i32 } %166, 1
  store i32 %168, ptr %35, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %86) #8
  br label %169

169:                                              ; preds = %165, %161
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %84) #8
  br label %170

170:                                              ; preds = %169, %157
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %82) #8
  br label %313

171:                                              ; preds = %89
  %172 = landingpad { ptr, i32 }
          cleanup
  %173 = extractvalue { ptr, i32 } %172, 0
  store ptr %173, ptr %34, align 8
  %174 = extractvalue { ptr, i32 } %172, 1
  store i32 %174, ptr %35, align 4
  br label %179

175:                                              ; preds = %95
  %176 = landingpad { ptr, i32 }
          cleanup
  %177 = extractvalue { ptr, i32 } %176, 0
  store ptr %177, ptr %34, align 8
  %178 = extractvalue { ptr, i32 } %176, 1
  store i32 %178, ptr %35, align 4
  call void @"_ZZ24optframe_api1d_add_nsseqEN3$_3D2Ev"(ptr noundef nonnull align 8 dereferenceable(48) %37) #8
  br label %179

179:                                              ; preds = %175, %171
  call void @llvm.lifetime.end.p0(i64 48, ptr %37) #8
  br label %312

180:                                              ; preds = %96
  %181 = landingpad { ptr, i32 }
          cleanup
  %182 = extractvalue { ptr, i32 } %181, 0
  store ptr %182, ptr %34, align 8
  %183 = extractvalue { ptr, i32 } %181, 1
  store i32 %183, ptr %35, align 4
  br label %202

184:                                              ; preds = %114
  %185 = landingpad { ptr, i32 }
          cleanup
  %186 = extractvalue { ptr, i32 } %185, 0
  store ptr %186, ptr %34, align 8
  %187 = extractvalue { ptr, i32 } %185, 1
  store i32 %187, ptr %35, align 4
  br label %197

188:                                              ; preds = %116
  %189 = landingpad { ptr, i32 }
          cleanup
  %190 = extractvalue { ptr, i32 } %189, 0
  store ptr %190, ptr %34, align 8
  %191 = extractvalue { ptr, i32 } %189, 1
  store i32 %191, ptr %35, align 4
  br label %196

192:                                              ; preds = %118
  %193 = landingpad { ptr, i32 }
          cleanup
  %194 = extractvalue { ptr, i32 } %193, 0
  store ptr %194, ptr %34, align 8
  %195 = extractvalue { ptr, i32 } %193, 1
  store i32 %195, ptr %35, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %117) #8
  br label %196

196:                                              ; preds = %192, %188
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %115) #8
  br label %197

197:                                              ; preds = %196, %184
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %113) #8
  br label %202

198:                                              ; preds = %120
  %199 = landingpad { ptr, i32 }
          cleanup
  %200 = extractvalue { ptr, i32 } %199, 0
  store ptr %200, ptr %34, align 8
  %201 = extractvalue { ptr, i32 } %199, 1
  store i32 %201, ptr %35, align 4
  call void @"_ZZ24optframe_api1d_add_nsseqEN3$_7D2Ev"(ptr noundef nonnull align 8 dereferenceable(144) %45) #8
  br label %202

202:                                              ; preds = %198, %197, %180
  call void @llvm.lifetime.end.p0(i64 144, ptr %45) #8
  br label %311

203:                                              ; preds = %121
  %204 = landingpad { ptr, i32 }
          cleanup
  %205 = extractvalue { ptr, i32 } %204, 0
  store ptr %205, ptr %34, align 8
  %206 = extractvalue { ptr, i32 } %204, 1
  store i32 %206, ptr %35, align 4
  br label %310

207:                                              ; preds = %123
  %208 = landingpad { ptr, i32 }
          cleanup
  %209 = extractvalue { ptr, i32 } %208, 0
  store ptr %209, ptr %34, align 8
  %210 = extractvalue { ptr, i32 } %208, 1
  store i32 %210, ptr %35, align 4
  br label %240

211:                                              ; preds = %124
  %212 = landingpad { ptr, i32 }
          cleanup
  %213 = extractvalue { ptr, i32 } %212, 0
  store ptr %213, ptr %34, align 8
  %214 = extractvalue { ptr, i32 } %212, 1
  store i32 %214, ptr %35, align 4
  br label %239

215:                                              ; preds = %125
  %216 = landingpad { ptr, i32 }
          cleanup
  %217 = extractvalue { ptr, i32 } %216, 0
  store ptr %217, ptr %34, align 8
  %218 = extractvalue { ptr, i32 } %216, 1
  store i32 %218, ptr %35, align 4
  br label %238

219:                                              ; preds = %126
  %220 = landingpad { ptr, i32 }
          cleanup
  %221 = extractvalue { ptr, i32 } %220, 0
  store ptr %221, ptr %34, align 8
  %222 = extractvalue { ptr, i32 } %220, 1
  store i32 %222, ptr %35, align 4
  br label %237

223:                                              ; preds = %127
  %224 = landingpad { ptr, i32 }
          cleanup
  %225 = extractvalue { ptr, i32 } %224, 0
  store ptr %225, ptr %34, align 8
  %226 = extractvalue { ptr, i32 } %224, 1
  store i32 %226, ptr %35, align 4
  br label %236

227:                                              ; preds = %128
  %228 = landingpad { ptr, i32 }
          cleanup
  %229 = extractvalue { ptr, i32 } %228, 0
  store ptr %229, ptr %34, align 8
  %230 = extractvalue { ptr, i32 } %228, 1
  store i32 %230, ptr %35, align 4
  br label %235

231:                                              ; preds = %129
  %232 = landingpad { ptr, i32 }
          cleanup
  %233 = extractvalue { ptr, i32 } %232, 0
  store ptr %233, ptr %34, align 8
  %234 = extractvalue { ptr, i32 } %232, 1
  store i32 %234, ptr %35, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #8
  br label %235

235:                                              ; preds = %231, %227
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #8
  br label %236

236:                                              ; preds = %235, %223
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #8
  br label %237

237:                                              ; preds = %236, %219
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #8
  br label %238

238:                                              ; preds = %237, %215
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #8
  br label %239

239:                                              ; preds = %238, %211
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #8
  br label %240

240:                                              ; preds = %239, %207
  %241 = load i1, ptr %53, align 1
  br i1 %241, label %242, label %243

242:                                              ; preds = %240
  call void @_ZdlPvm(ptr noundef %122, i64 noundef 272) #10
  br label %243

243:                                              ; preds = %242, %240
  br label %310

244:                                              ; preds = %130
  %245 = landingpad { ptr, i32 }
          cleanup
  %246 = extractvalue { ptr, i32 } %245, 0
  store ptr %246, ptr %34, align 8
  %247 = extractvalue { ptr, i32 } %245, 1
  store i32 %247, ptr %35, align 4
  br label %252

248:                                              ; preds = %135, %133
  %249 = landingpad { ptr, i32 }
          cleanup
  %250 = extractvalue { ptr, i32 } %249, 0
  store ptr %250, ptr %34, align 8
  %251 = extractvalue { ptr, i32 } %249, 1
  store i32 %251, ptr %35, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #8
  br label %252

252:                                              ; preds = %248, %244
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %56) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %56) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %55) #8
  br label %309

253:                                              ; preds = %150, %147, %145
  %254 = landingpad { ptr, i32 }
          cleanup
  %255 = extractvalue { ptr, i32 } %254, 0
  store ptr %255, ptr %34, align 8
  %256 = extractvalue { ptr, i32 } %254, 1
  store i32 %256, ptr %35, align 4
  br label %309

257:                                              ; preds = %152, %140
  call void @llvm.lifetime.start.p0(i64 16, ptr %57) #8
  %258 = getelementptr inbounds %class.anon.387, ptr %57, i32 0, i32 0
  %259 = load ptr, ptr %46, align 8, !tbaa !5
  store ptr %259, ptr %258, align 8, !tbaa !115
  %260 = getelementptr inbounds %class.anon.387, ptr %57, i32 0, i32 1
  %261 = load i32, ptr %54, align 4, !tbaa !41
  store i32 %261, ptr %260, align 8, !tbaa !117
  %262 = load ptr, ptr %46, align 8, !tbaa !5
  %263 = getelementptr inbounds %"class.optframe::FNSSeq", ptr %262, i32 0, i32 2
  %264 = call noundef nonnull align 8 dereferenceable(32) ptr @"_ZNSt8functionIFSt10unique_ptrIN8optframe4MoveISt4pairI16FCoreLibSolutionNS1_10EvaluationIdEEES7_EESt14default_deleteIS8_EERKS7_EEaSIZ24optframe_api1d_add_nsseqE3$_9EENSt9enable_ifIXsrNSF_9_CallableIT_NSI_IXntsr7is_sameINSt9remove_cvINSt16remove_referenceISK_E4typeEE4typeESF_EE5valueESt5decayISK_EE4type4typeESt15__invoke_resultIRSV_JSD_EEEE5valueERSF_E4typeEOSK_"(ptr noundef nonnull align 8 dereferenceable(32) %263, ptr noundef nonnull align 8 dereferenceable(12) %57) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %57) #8
  br label %265

265:                                              ; preds = %257, %137
  call void @llvm.lifetime.start.p0(i64 16, ptr %58) #8
  %266 = load ptr, ptr %46, align 8, !tbaa !5
  invoke void @_ZN5nnptr8NNSharedIN8optframe5NSSeqISt4pairI16FCoreLibSolutionNS1_10EvaluationIdEEES7_EEEC2EPS8_(ptr noundef nonnull align 8 dereferenceable(16) %58, ptr noundef %266)
          to label %267 unwind label %281

267:                                              ; preds = %265
  call void @llvm.lifetime.start.p0(i64 16, ptr %59) #8
  invoke void @_ZN5nnptr8NNSharedIN8optframe5NSSeqISt4pairI16FCoreLibSolutionNS1_10EvaluationIdEEES7_EEEcvNS0_IT_EEINS1_9ComponentEvEEv(ptr dead_on_unwind writable sret(%"class.nnptr::NNShared.266") align 8 %59, ptr noundef nonnull align 8 dereferenceable(16) %58)
          to label %268 unwind label %285

268:                                              ; preds = %267
  call void @llvm.lifetime.start.p0(i64 4, ptr %60) #8
  %269 = load ptr, ptr %25, align 8, !tbaa !5
  %270 = getelementptr inbounds %class.FCoreApi1Engine, ptr %269, i32 0, i32 3
  %271 = getelementptr inbounds %"class.optframe::Loader", ptr %270, i32 0, i32 0
  invoke void @_ZN5nnptr8NNSharedIN8optframe9ComponentEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(16) %61, ptr noundef nonnull align 8 dereferenceable(16) %59)
          to label %272 unwind label %289

272:                                              ; preds = %268
  call void @llvm.lifetime.start.p0(i64 1, ptr %63) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %63) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %62, ptr noundef @.str.70, ptr noundef nonnull align 1 dereferenceable(1) %63)
          to label %273 unwind label %293

273:                                              ; preds = %272
  %274 = invoke noundef i32 @_ZN8optframe16HeuristicFactoryISt4pairI16FCoreLibSolutionNS_10EvaluationIdEEEE12addComponentEN5nnptr8NNSharedINS_9ComponentEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(208) %271, ptr noundef %61, ptr noundef %62)
          to label %275 unwind label %297

275:                                              ; preds = %273
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %63) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %63) #8
  call void @_ZN5nnptr8NNSharedIN8optframe9ComponentEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %61) #8
  store i32 %274, ptr %60, align 4, !tbaa !41
  %276 = load ptr, ptr %25, align 8, !tbaa !5
  %277 = getelementptr inbounds %class.FCoreApi1Engine, ptr %276, i32 0, i32 4
  invoke void @_ZN5nnptr8NNSharedIN8optframe5NSSeqISt4pairI16FCoreLibSolutionNS1_10EvaluationIdEEES7_EEEC2ERKS9_(ptr noundef nonnull align 8 dereferenceable(16) %64, ptr noundef nonnull align 8 dereferenceable(16) %58)
          to label %278 unwind label %289

278:                                              ; preds = %275
  invoke void @_ZN8optframe12CheckCommandISt4pairI16FCoreLibSolutionNS_10EvaluationIdEEES2_S2_iNS_14MultiESolutionIS5_EES5_E3addEN5nnptr8NNSharedINS_5NSSeqIS5_S5_EEEE(ptr noundef nonnull align 8 dereferenceable(241) %277, ptr noundef %64)
          to label %279 unwind label %302

279:                                              ; preds = %278
  call void @_ZN5nnptr8NNSharedIN8optframe5NSSeqISt4pairI16FCoreLibSolutionNS1_10EvaluationIdEEES7_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %64) #8
  %280 = load i32, ptr %60, align 4, !tbaa !41
  call void @llvm.lifetime.end.p0(i64 4, ptr %60) #8
  call void @_ZN5nnptr8NNSharedIN8optframe9ComponentEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %59) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %59) #8
  call void @_ZN5nnptr8NNSharedIN8optframe5NSSeqISt4pairI16FCoreLibSolutionNS1_10EvaluationIdEEES7_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %58) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %58) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %54) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #8
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %44) #8
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %42) #8
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %40) #8
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %38) #8
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %36) #8
  call void @"_ZZ24optframe_api1d_add_nsseqEN3$_8D2Ev"(ptr noundef nonnull align 8 dereferenceable(144) %33) #8
  call void @llvm.lifetime.end.p0(i64 144, ptr %33) #8
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %32) #8
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %30) #8
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %28) #8
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %26) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #8
  ret i32 %280

281:                                              ; preds = %265
  %282 = landingpad { ptr, i32 }
          cleanup
  %283 = extractvalue { ptr, i32 } %282, 0
  store ptr %283, ptr %34, align 8
  %284 = extractvalue { ptr, i32 } %282, 1
  store i32 %284, ptr %35, align 4
  br label %308

285:                                              ; preds = %267
  %286 = landingpad { ptr, i32 }
          cleanup
  %287 = extractvalue { ptr, i32 } %286, 0
  store ptr %287, ptr %34, align 8
  %288 = extractvalue { ptr, i32 } %286, 1
  store i32 %288, ptr %35, align 4
  br label %307

289:                                              ; preds = %275, %268
  %290 = landingpad { ptr, i32 }
          cleanup
  %291 = extractvalue { ptr, i32 } %290, 0
  store ptr %291, ptr %34, align 8
  %292 = extractvalue { ptr, i32 } %290, 1
  store i32 %292, ptr %35, align 4
  br label %306

293:                                              ; preds = %272
  %294 = landingpad { ptr, i32 }
          cleanup
  %295 = extractvalue { ptr, i32 } %294, 0
  store ptr %295, ptr %34, align 8
  %296 = extractvalue { ptr, i32 } %294, 1
  store i32 %296, ptr %35, align 4
  br label %301

297:                                              ; preds = %273
  %298 = landingpad { ptr, i32 }
          cleanup
  %299 = extractvalue { ptr, i32 } %298, 0
  store ptr %299, ptr %34, align 8
  %300 = extractvalue { ptr, i32 } %298, 1
  store i32 %300, ptr %35, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #8
  br label %301

301:                                              ; preds = %297, %293
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %63) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %63) #8
  call void @_ZN5nnptr8NNSharedIN8optframe9ComponentEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %61) #8
  br label %306

302:                                              ; preds = %278
  %303 = landingpad { ptr, i32 }
          cleanup
  %304 = extractvalue { ptr, i32 } %303, 0
  store ptr %304, ptr %34, align 8
  %305 = extractvalue { ptr, i32 } %303, 1
  store i32 %305, ptr %35, align 4
  call void @_ZN5nnptr8NNSharedIN8optframe5NSSeqISt4pairI16FCoreLibSolutionNS1_10EvaluationIdEEES7_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %64) #8
  br label %306

306:                                              ; preds = %302, %301, %289
  call void @llvm.lifetime.end.p0(i64 4, ptr %60) #8
  call void @_ZN5nnptr8NNSharedIN8optframe9ComponentEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %59) #8
  br label %307

307:                                              ; preds = %306, %285
  call void @llvm.lifetime.end.p0(i64 16, ptr %59) #8
  call void @_ZN5nnptr8NNSharedIN8optframe5NSSeqISt4pairI16FCoreLibSolutionNS1_10EvaluationIdEEES7_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %58) #8
  br label %308

308:                                              ; preds = %307, %281
  call void @llvm.lifetime.end.p0(i64 16, ptr %58) #8
  br label %309

309:                                              ; preds = %308, %253, %252
  call void @llvm.lifetime.end.p0(i64 4, ptr %54) #8
  br label %310

310:                                              ; preds = %309, %243, %203
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #8
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #8
  br label %311

311:                                              ; preds = %310, %202
  call void @llvm.lifetime.end.p0(i64 32, ptr %44) #8
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %42) #8
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %40) #8
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %38) #8
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #8
  br label %312

312:                                              ; preds = %311, %179
  call void @llvm.lifetime.end.p0(i64 32, ptr %36) #8
  call void @"_ZZ24optframe_api1d_add_nsseqEN3$_8D2Ev"(ptr noundef nonnull align 8 dereferenceable(144) %33) #8
  br label %313

313:                                              ; preds = %312, %170, %153
  call void @llvm.lifetime.end.p0(i64 144, ptr %33) #8
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %32) #8
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %30) #8
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %28) #8
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %26) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #8
  br label %314

314:                                              ; preds = %313
  %315 = load ptr, ptr %34, align 8
  %316 = load i32, ptr %35, align 4
  %317 = insertvalue { ptr, i32 } poison, ptr %315, 0
  %318 = insertvalue { ptr, i32 } %317, i32 %316, 1
  resume { ptr, i32 } %318
}

; Function Attrs: mustprogress nounwind uwtable
declare hidden void @"_ZNSt8functionIFPvRKS0_RSt4pairI16FCoreLibSolutionN8optframe10EvaluationIdEEEEEC2IZ24optframe_api1d_add_nsseqE3$_0vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare hidden void @"_ZNSt8functionIFbRKPvRKSt4pairI16FCoreLibSolutionN8optframe10EvaluationIdEEEEEC2IZ24optframe_api1d_add_nsseqE3$_1vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare hidden void @"_ZNSt8functionIFbRKPvRKN8optframe4MoveISt4pairI16FCoreLibSolutionNS3_10EvaluationIdEEES9_EEEEC2IZ24optframe_api1d_add_nsseqE3$_2vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIF9IMSObjLibRKSt4pairI16FCoreLibSolutionN8optframe10EvaluationIdEEEEEC2IZ24optframe_api1d_add_nsseqE3$_3vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(48)) unnamed_addr #1 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare hidden void @"_ZZ24optframe_api1d_add_nsseqEN3$_3D2Ev"(ptr noundef nonnull align 8 dereferenceable(48)) unnamed_addr #7 align 2

; Function Attrs: mustprogress nounwind uwtable
declare hidden void @"_ZNSt8functionIFvR9IMSObjLibEEC2IZ24optframe_api1d_add_nsseqE3$_4vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare hidden void @"_ZNSt8functionIFvR9IMSObjLibEEC2IZ24optframe_api1d_add_nsseqE3$_5vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare hidden void @"_ZNSt8functionIFbR9IMSObjLibEEC2IZ24optframe_api1d_add_nsseqE3$_6vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFSt10unique_ptrIN8optframe4MoveISt4pairI16FCoreLibSolutionNS1_10EvaluationIdEEES7_EESt14default_deleteIS8_EER9IMSObjLibEEC2IZ24optframe_api1d_add_nsseqE3$_7vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(144)) unnamed_addr #1 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare hidden void @"_ZZ24optframe_api1d_add_nsseqEN3$_7D2Ev"(ptr noundef nonnull align 8 dereferenceable(144)) unnamed_addr #7 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFSt10unique_ptrIN8optframe4MoveISt4pairI16FCoreLibSolutionNS1_10EvaluationIdEEES7_EESt14default_deleteIS8_EERKS7_EEC2IRZ24optframe_api1d_add_nsseqE3$_8vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(144)) unnamed_addr #1 align 2

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

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

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare hidden noundef nonnull align 8 dereferenceable(32) ptr @"_ZNSt8functionIFSt10unique_ptrIN8optframe4MoveISt4pairI16FCoreLibSolutionNS1_10EvaluationIdEEES7_EESt14default_deleteIS8_EERKS7_EEaSIZ24optframe_api1d_add_nsseqE3$_9EENSt9enable_ifIXsrNSF_9_CallableIT_NSI_IXntsr7is_sameINSt9remove_cvINSt16remove_referenceISK_E4typeEE4typeESF_EE5valueESt5decayISK_EE4type4typeESt15__invoke_resultIRSV_JSD_EEEE5valueERSF_E4typeEOSK_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(12)) #3 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN5nnptr8NNSharedIN8optframe5NSSeqISt4pairI16FCoreLibSolutionNS1_10EvaluationIdEEES7_EEEcvNS0_IT_EEINS1_9ComponentEvEEv(ptr dead_on_unwind noalias writable sret(%"class.nnptr::NNShared.266") align 8, ptr noundef nonnull align 8 dereferenceable(16)) #1 align 2

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN5nnptr8NNSharedIN8optframe5NSSeqISt4pairI16FCoreLibSolutionNS1_10EvaluationIdEEES7_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #7 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare hidden void @"_ZZ24optframe_api1d_add_nsseqEN3$_8D2Ev"(ptr noundef nonnull align 8 dereferenceable(144)) unnamed_addr #7 align 2

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

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !6, i64 0}
!10 = !{!"_ZTSZ24optframe_api1d_add_nsseqE3$_0", !6, i64 0, !6, i64 8}
!11 = !{!10, !6, i64 8}
!12 = !{!13, !6, i64 0}
!13 = !{!"_ZTSZ24optframe_api1d_add_nsseqE3$_1", !6, i64 0, !6, i64 8}
!14 = !{!13, !6, i64 8}
!15 = !{!16, !6, i64 0}
!16 = !{!"_ZTSZ24optframe_api1d_add_nsseqE3$_2", !6, i64 0, !6, i64 8}
!17 = !{!16, !6, i64 8}
!18 = !{!19, !6, i64 0}
!19 = !{!"_ZTSZ24optframe_api1d_add_nsseqE3$_8", !6, i64 0, !6, i64 8, !20, i64 16, !22, i64 48, !23, i64 80, !24, i64 112}
!20 = !{!"_ZTSSt8functionIFPvRKS0_RSt4pairI16FCoreLibSolutionN8optframe10EvaluationIdEEEEE", !21, i64 0, !6, i64 24}
!21 = !{!"_ZTSSt14_Function_base", !7, i64 0, !6, i64 16}
!22 = !{!"_ZTSSt8functionIFbRKPvRKSt4pairI16FCoreLibSolutionN8optframe10EvaluationIdEEEEE", !21, i64 0, !6, i64 24}
!23 = !{!"_ZTSSt8functionIFbRKPvRKN8optframe4MoveISt4pairI16FCoreLibSolutionNS3_10EvaluationIdEEES9_EEEE", !21, i64 0, !6, i64 24}
!24 = !{!"_ZTSSt8functionIFbPvEE", !21, i64 0, !6, i64 24}
!25 = !{!19, !6, i64 8}
!26 = !{!27, !6, i64 0}
!27 = !{!"_ZTSZ24optframe_api1d_add_nsseqE3$_3", !6, i64 0, !6, i64 8, !24, i64 16}
!28 = !{!27, !6, i64 8}
!29 = !{!30, !6, i64 0}
!30 = !{!"_ZTSZ24optframe_api1d_add_nsseqE3$_4", !6, i64 0, !6, i64 8}
!31 = !{!30, !6, i64 8}
!32 = !{!33, !6, i64 0}
!33 = !{!"_ZTSZ24optframe_api1d_add_nsseqE3$_5", !6, i64 0, !6, i64 8}
!34 = !{!33, !6, i64 8}
!35 = !{!36, !6, i64 0}
!36 = !{!"_ZTSZ24optframe_api1d_add_nsseqE3$_6", !6, i64 0, !6, i64 8}
!37 = !{!36, !6, i64 8}
!38 = !{!39, !6, i64 0}
!39 = !{!"_ZTSZ24optframe_api1d_add_nsseqE3$_7", !6, i64 0, !6, i64 8, !20, i64 16, !22, i64 48, !23, i64 80, !24, i64 112}
!40 = !{!39, !6, i64 8}
!41 = !{!42, !42, i64 0}
!42 = !{!"int", !7, i64 0}
!43 = !{!44, !54, i64 48}
!44 = !{!"_ZTS15FCoreApi1Engine", !45, i64 0, !54, i64 48, !54, i64 52, !55, i64 56, !83, i64 360}
!45 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEE", !46, i64 0}
!46 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE", !47, i64 0}
!47 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE13_Rb_tree_implISC_Lb1EEE", !48, i64 0, !50, i64 8}
!48 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE", !49, i64 0}
!49 = !{!"_ZTSSt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE"}
!50 = !{!"_ZTSSt15_Rb_tree_header", !51, i64 0, !53, i64 32}
!51 = !{!"_ZTSSt18_Rb_tree_node_base", !52, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!52 = !{!"_ZTSSt14_Rb_tree_color", !7, i64 0}
!53 = !{!"long", !7, i64 0}
!54 = !{!"_ZTSN6modlog8LogLevelE", !7, i64 0}
!55 = !{!"_ZTSN8optframe6LoaderISt4pairI16FCoreLibSolutionNS_10EvaluationIdEEES5_S5_St6vectorIS5_SaIS5_EEEE", !56, i64 0, !45, i64 208, !80, i64 256}
!56 = !{!"_ZTSN8optframe16HeuristicFactoryISt4pairI16FCoreLibSolutionNS_10EvaluationIdEEEEE", !54, i64 8, !57, i64 16, !6, i64 32, !62, i64 40, !65, i64 88, !69, i64 112, !73, i64 136, !77, i64 160}
!57 = !{!"_ZTSN5nnptr8NNSharedIN8optframe7RandGenEEE", !58, i64 0}
!58 = !{!"_ZTSN5nnptr7NotNullISt10shared_ptrIN8optframe7RandGenEEEE", !59, i64 0}
!59 = !{!"_ZTSSt10shared_ptrIN8optframe7RandGenEE", !60, i64 0}
!60 = !{!"_ZTSSt12__shared_ptrIN8optframe7RandGenELN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0, !61, i64 8}
!61 = !{!"_ZTSSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0}
!62 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorISt10shared_ptrIN8optframe9ComponentEESaISA_EESt4lessIS5_ESaISt4pairIKS5_SC_EEE", !63, i64 0}
!63 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St6vectorISt10shared_ptrIN8optframe9ComponentEESaISC_EEESt10_Select1stISF_ESt4lessIS5_ESaISF_EE", !64, i64 0}
!64 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St6vectorISt10shared_ptrIN8optframe9ComponentEESaISC_EEESt10_Select1stISF_ESt4lessIS5_ESaISF_EE13_Rb_tree_implISJ_Lb1EEE", !48, i64 0, !50, i64 8}
!65 = !{!"_ZTSSt6vectorIPN8optframe16ComponentBuilderISt4pairI16FCoreLibSolutionNS0_10EvaluationIdEEEEESaIS8_EE", !66, i64 0}
!66 = !{!"_ZTSSt12_Vector_baseIPN8optframe16ComponentBuilderISt4pairI16FCoreLibSolutionNS0_10EvaluationIdEEEEESaIS8_EE", !67, i64 0}
!67 = !{!"_ZTSNSt12_Vector_baseIPN8optframe16ComponentBuilderISt4pairI16FCoreLibSolutionNS0_10EvaluationIdEEEEESaIS8_EE12_Vector_implE", !68, i64 0}
!68 = !{!"_ZTSNSt12_Vector_baseIPN8optframe16ComponentBuilderISt4pairI16FCoreLibSolutionNS0_10EvaluationIdEEEEESaIS8_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!69 = !{!"_ZTSSt6vectorIPN8optframe21ComponentMultiBuilderI16FCoreLibSolutionNS0_15MultiEvaluationIdEESt4pairIS2_S4_ES_IS6_SaIS6_EEEESaISA_EE", !70, i64 0}
!70 = !{!"_ZTSSt12_Vector_baseIPN8optframe21ComponentMultiBuilderI16FCoreLibSolutionNS0_15MultiEvaluationIdEESt4pairIS2_S4_ESt6vectorIS6_SaIS6_EEEESaISB_EE", !71, i64 0}
!71 = !{!"_ZTSNSt12_Vector_baseIPN8optframe21ComponentMultiBuilderI16FCoreLibSolutionNS0_15MultiEvaluationIdEESt4pairIS2_S4_ESt6vectorIS6_SaIS6_EEEESaISB_EE12_Vector_implE", !72, i64 0}
!72 = !{!"_ZTSNSt12_Vector_baseIPN8optframe21ComponentMultiBuilderI16FCoreLibSolutionNS0_15MultiEvaluationIdEESt4pairIS2_S4_ESt6vectorIS6_SaIS6_EEEESaISB_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!73 = !{!"_ZTSSt6vectorIPN8optframe6ActionISt4pairI16FCoreLibSolutionNS0_10EvaluationIdEEEEESaIS8_EE", !74, i64 0}
!74 = !{!"_ZTSSt12_Vector_baseIPN8optframe6ActionISt4pairI16FCoreLibSolutionNS0_10EvaluationIdEEEEESaIS8_EE", !75, i64 0}
!75 = !{!"_ZTSNSt12_Vector_baseIPN8optframe6ActionISt4pairI16FCoreLibSolutionNS0_10EvaluationIdEEEEESaIS8_EE12_Vector_implE", !76, i64 0}
!76 = !{!"_ZTSNSt12_Vector_baseIPN8optframe6ActionISt4pairI16FCoreLibSolutionNS0_10EvaluationIdEEEEESaIS8_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!77 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_ISt10shared_ptrIN8optframe9ComponentEESaISA_EESaISC_EESt4lessIS5_ESaISt4pairIKS5_SE_EEE", !78, i64 0}
!78 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St6vectorIS8_ISt10shared_ptrIN8optframe9ComponentEESaISC_EESaISE_EEESt10_Select1stISH_ESt4lessIS5_ESaISH_EE", !79, i64 0}
!79 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St6vectorIS8_ISt10shared_ptrIN8optframe9ComponentEESaISC_EESaISE_EEESt10_Select1stISH_ESt4lessIS5_ESaISH_EE13_Rb_tree_implISL_Lb1EEE", !48, i64 0, !50, i64 8}
!80 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS5_SaIS5_EESt4lessIS5_ESaISt4pairIKS5_S8_EEE", !81, i64 0}
!81 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St6vectorIS5_SaIS5_EEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE", !82, i64 0}
!82 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St6vectorIS5_SaIS5_EEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE13_Rb_tree_implISF_Lb1EEE", !48, i64 0, !50, i64 8}
!83 = !{!"_ZTSN8optframe12CheckCommandISt4pairI16FCoreLibSolutionNS_10EvaluationIdEEES2_S2_iNS_14MultiESolutionIS5_EES5_EE", !84, i64 0, !85, i64 33, !85, i64 34, !85, i64 35, !86, i64 40, !90, i64 64, !94, i64 88, !98, i64 112, !102, i64 136, !106, i64 160, !110, i64 184, !114, i64 208, !85, i64 240}
!84 = !{!"_ZTSN8optframe9ComponentE", !6, i64 8, !6, i64 16, !54, i64 24, !85, i64 28, !85, i64 29, !85, i64 30, !85, i64 31, !85, i64 32}
!85 = !{!"bool", !7, i64 0}
!86 = !{!"_ZTSSt6vectorISt10shared_ptrIN8optframe9EvaluatorI16FCoreLibSolutionNS1_10EvaluationIdEESt4pairIS3_S5_EEEESaIS9_EE", !87, i64 0}
!87 = !{!"_ZTSSt12_Vector_baseISt10shared_ptrIN8optframe9EvaluatorI16FCoreLibSolutionNS1_10EvaluationIdEESt4pairIS3_S5_EEEESaIS9_EE", !88, i64 0}
!88 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN8optframe9EvaluatorI16FCoreLibSolutionNS1_10EvaluationIdEESt4pairIS3_S5_EEEESaIS9_EE12_Vector_implE", !89, i64 0}
!89 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN8optframe9EvaluatorI16FCoreLibSolutionNS1_10EvaluationIdEESt4pairIS3_S5_EEEESaIS9_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!90 = !{!"_ZTSSt6vectorISt10shared_ptrIN8optframe13InitialSearchISt4pairI16FCoreLibSolutionNS1_10EvaluationIdEEES7_EEESaIS9_EE", !91, i64 0}
!91 = !{!"_ZTSSt12_Vector_baseISt10shared_ptrIN8optframe13InitialSearchISt4pairI16FCoreLibSolutionNS1_10EvaluationIdEEES7_EEESaIS9_EE", !92, i64 0}
!92 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN8optframe13InitialSearchISt4pairI16FCoreLibSolutionNS1_10EvaluationIdEEES7_EEESaIS9_EE12_Vector_implE", !93, i64 0}
!93 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN8optframe13InitialSearchISt4pairI16FCoreLibSolutionNS1_10EvaluationIdEEES7_EEESaIS9_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!94 = !{!"_ZTSSt6vectorISt10shared_ptrI16FCoreLibSolutionESaIS2_EE", !95, i64 0}
!95 = !{!"_ZTSSt12_Vector_baseISt10shared_ptrI16FCoreLibSolutionESaIS2_EE", !96, i64 0}
!96 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrI16FCoreLibSolutionESaIS2_EE12_Vector_implE", !97, i64 0}
!97 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrI16FCoreLibSolutionESaIS2_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!98 = !{!"_ZTSSt6vectorISt10shared_ptrIN8optframe4MoveISt4pairI16FCoreLibSolutionNS1_10EvaluationIdEEES7_EEESaIS9_EE", !99, i64 0}
!99 = !{!"_ZTSSt12_Vector_baseISt10shared_ptrIN8optframe4MoveISt4pairI16FCoreLibSolutionNS1_10EvaluationIdEEES7_EEESaIS9_EE", !100, i64 0}
!100 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN8optframe4MoveISt4pairI16FCoreLibSolutionNS1_10EvaluationIdEEES7_EEESaIS9_EE12_Vector_implE", !101, i64 0}
!101 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN8optframe4MoveISt4pairI16FCoreLibSolutionNS1_10EvaluationIdEEES7_EEESaIS9_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!102 = !{!"_ZTSSt6vectorISt10shared_ptrIN8optframe2NSISt4pairI16FCoreLibSolutionNS1_10EvaluationIdEEES7_EEESaIS9_EE", !103, i64 0}
!103 = !{!"_ZTSSt12_Vector_baseISt10shared_ptrIN8optframe2NSISt4pairI16FCoreLibSolutionNS1_10EvaluationIdEEES7_EEESaIS9_EE", !104, i64 0}
!104 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN8optframe2NSISt4pairI16FCoreLibSolutionNS1_10EvaluationIdEEES7_EEESaIS9_EE12_Vector_implE", !105, i64 0}
!105 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN8optframe2NSISt4pairI16FCoreLibSolutionNS1_10EvaluationIdEEES7_EEESaIS9_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!106 = !{!"_ZTSSt6vectorISt10shared_ptrIN8optframe5NSSeqISt4pairI16FCoreLibSolutionNS1_10EvaluationIdEEES7_EEESaIS9_EE", !107, i64 0}
!107 = !{!"_ZTSSt12_Vector_baseISt10shared_ptrIN8optframe5NSSeqISt4pairI16FCoreLibSolutionNS1_10EvaluationIdEEES7_EEESaIS9_EE", !108, i64 0}
!108 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN8optframe5NSSeqISt4pairI16FCoreLibSolutionNS1_10EvaluationIdEEES7_EEESaIS9_EE12_Vector_implE", !109, i64 0}
!109 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN8optframe5NSSeqISt4pairI16FCoreLibSolutionNS1_10EvaluationIdEEES7_EEESaIS9_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!110 = !{!"_ZTSSt6vectorISt10shared_ptrIN8optframe6NSEnumISt4pairI16FCoreLibSolutionNS1_10EvaluationIdEEES7_EEESaIS9_EE", !111, i64 0}
!111 = !{!"_ZTSSt12_Vector_baseISt10shared_ptrIN8optframe6NSEnumISt4pairI16FCoreLibSolutionNS1_10EvaluationIdEEES7_EEESaIS9_EE", !112, i64 0}
!112 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN8optframe6NSEnumISt4pairI16FCoreLibSolutionNS1_10EvaluationIdEEES7_EEESaIS9_EE12_Vector_implE", !113, i64 0}
!113 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN8optframe6NSEnumISt4pairI16FCoreLibSolutionNS1_10EvaluationIdEEES7_EEESaIS9_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!114 = !{!"_ZTSSt8functionIFbiEE", !21, i64 0, !6, i64 24}
!115 = !{!116, !6, i64 0}
!116 = !{!"_ZTSZ24optframe_api1d_add_nsseqE3$_9", !6, i64 0, !42, i64 8}
!117 = !{!116, !42, i64 8}


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

%"class.std::basic_ostream" = type { ptr, %"class.std::basic_ios" }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%"class.std::locale" = type { ptr }
%"class.std::function.323" = type { %"class.std::_Function_base", ptr }
%"class.std::_Function_base" = type { %"union.std::_Any_data", ptr }
%"union.std::_Any_data" = type { %"union.std::_Nocopy_types" }
%"union.std::_Nocopy_types" = type { { i64, i64 } }
%class.anon.364 = type { ptr, ptr }
%"class.std::function.327" = type { %"class.std::_Function_base", ptr }
%class.anon.365 = type { ptr, ptr }
%"class.std::function.331" = type { %"class.std::_Function_base", ptr }
%class.anon.366 = type { ptr, ptr }
%"class.std::function.171" = type { %"class.std::_Function_base", ptr }
%class.anon.367 = type { ptr, ptr, %"class.std::function.323", %"class.std::function.327", %"class.std::function.331", %"class.std::function.171" }
%"class.std::function.368" = type { %"class.std::_Function_base", ptr }
%class.anon.371 = type { ptr, ptr, %"class.std::function.171" }
%"class.std::function.372" = type { %"class.std::_Function_base", ptr }
%class.anon.375 = type { ptr, ptr }
%class.anon.376 = type { ptr, ptr }
%"class.std::function.377" = type { %"class.std::_Function_base", ptr }
%class.anon.380 = type { ptr, ptr }
%"class.std::function.381" = type { %"class.std::_Function_base", ptr }
%class.anon.384 = type { ptr, ptr, %"class.std::function.323", %"class.std::function.327", %"class.std::function.331", %"class.std::function.171" }
%"class.std::function.336" = type { %"class.std::_Function_base", ptr }
%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::allocator" = type { i8 }
%class.anon.387 = type <{ ptr, i32, [4 x i8] }>
%"class.nnptr::NNShared.389" = type { %"class.nnptr::NotNull.390" }
%"class.nnptr::NotNull.390" = type { %"class.std::shared_ptr.391" }
%"class.std::shared_ptr.391" = type { %"class.std::__shared_ptr.392" }
%"class.std::__shared_ptr.392" = type { ptr, %"class.std::__shared_count" }
%"class.std::__shared_count" = type { ptr }
%"class.nnptr::NNShared.266" = type { %"class.nnptr::NotNull.267" }
%"class.nnptr::NotNull.267" = type { %"class.std::shared_ptr.115" }
%"class.std::shared_ptr.115" = type { %"class.std::__shared_ptr.116" }
%"class.std::__shared_ptr.116" = type { ptr, %"class.std::__shared_count" }

@_ZSt4cout = external global %"class.std::basic_ostream", align 8
@.str.67 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [25 x i8], align 1

declare i32 @__gxx_personality_v0(...)

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_(ptr noundef nonnull align 8 dereferenceable(8)) #2

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

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

; Function Attrs: nobuiltin allocsize(0)
declare noundef nonnull ptr @_Znwm(i64 noundef) local_unnamed_addr #4

; Function Attrs: nobuiltin nounwind
declare void @_ZdlPvm(ptr noundef, i64 noundef) local_unnamed_addr #5

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

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

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

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

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

declare noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8), i32 noundef) local_unnamed_addr #6

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZN8optframe16HeuristicFactoryISt4pairI16FCoreLibSolutionNS_10EvaluationIdEEEE12addComponentEN5nnptr8NNSharedINS_9ComponentEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(208), ptr noundef, ptr noundef) local_unnamed_addr #1 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN5nnptr8NNSharedIN8optframe9ComponentEED2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #7 align 2

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
define dso_local noundef i32 @optframe_api1d_add_nsseq(ptr noundef %0, ptr noundef %1, ptr noundef %2, ptr noundef %3, ptr noundef %4, ptr noundef %5, ptr noundef %6, ptr noundef %7, ptr noundef %8, ptr noundef %9, ptr noundef %10, ptr noundef %11) local_unnamed_addr #1 personality ptr @__gxx_personality_v0 {
  %13 = alloca ptr, align 8
  %14 = alloca %"class.std::function.323", align 8
  %15 = alloca %class.anon.364, align 8
  %16 = alloca %"class.std::function.327", align 8
  %17 = alloca %class.anon.365, align 8
  %18 = alloca %"class.std::function.331", align 8
  %19 = alloca %class.anon.366, align 8
  %20 = alloca %"class.std::function.171", align 8
  %21 = alloca %class.anon.367, align 8
  %22 = alloca %"class.std::function.368", align 8
  %23 = alloca %class.anon.371, align 8
  %24 = alloca %"class.std::function.372", align 8
  %25 = alloca %class.anon.375, align 8
  %26 = alloca %"class.std::function.372", align 8
  %27 = alloca %class.anon.376, align 8
  %28 = alloca %"class.std::function.377", align 8
  %29 = alloca %class.anon.380, align 8
  %30 = alloca %"class.std::function.381", align 8
  %31 = alloca %class.anon.384, align 8
  %32 = alloca %"class.std::function.336", align 8
  %33 = alloca %"class.std::function.368", align 8
  %34 = alloca %"class.std::function.372", align 8
  %35 = alloca %"class.std::function.372", align 8
  %36 = alloca %"class.std::function.377", align 8
  %37 = alloca %"class.std::function.381", align 8
  %38 = alloca %"class.std::__cxx11::basic_string", align 8
  %39 = alloca %"class.std::allocator", align 1
  %40 = alloca %class.anon.387, align 8
  %41 = alloca %"class.nnptr::NNShared.389", align 8
  %42 = alloca %"class.nnptr::NNShared.266", align 8
  %43 = alloca %"class.nnptr::NNShared.266", align 8
  %44 = alloca %"class.std::__cxx11::basic_string", align 8
  %45 = alloca %"class.std::allocator", align 1
  %46 = alloca %"class.nnptr::NNShared.389", align 8
  store ptr %11, ptr %13, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %14) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %15) #8
  store ptr %7, ptr %15, align 8, !tbaa !9
  %47 = getelementptr inbounds i8, ptr %15, i64 8
  store ptr %10, ptr %47, align 8, !tbaa !11
  call void @"_ZNSt8functionIFPvRKS0_RSt4pairI16FCoreLibSolutionN8optframe10EvaluationIdEEEEEC2IZ24optframe_api1d_add_nsseqE3$_0vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef nonnull align 8 dereferenceable(16) %15) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %15) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %16) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %17) #8
  store ptr %9, ptr %17, align 8, !tbaa !12
  %48 = getelementptr inbounds i8, ptr %17, i64 8
  store ptr %10, ptr %48, align 8, !tbaa !14
  call void @"_ZNSt8functionIFbRKPvRKSt4pairI16FCoreLibSolutionN8optframe10EvaluationIdEEEEEC2IZ24optframe_api1d_add_nsseqE3$_1vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %16, ptr noundef nonnull align 8 dereferenceable(16) %17) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %17) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %18) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %19) #8
  store ptr %8, ptr %19, align 8, !tbaa !15
  %49 = getelementptr inbounds i8, ptr %19, i64 8
  store ptr %10, ptr %49, align 8, !tbaa !17
  call void @"_ZNSt8functionIFbRKPvRKN8optframe4MoveISt4pairI16FCoreLibSolutionNS3_10EvaluationIdEEES9_EEEEC2IZ24optframe_api1d_add_nsseqE3$_2vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %18, ptr noundef nonnull align 8 dereferenceable(16) %19) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %19) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %20) #8
  call void @_ZNSt8functionIFbPvEEC2IRPFiS0_EvEEOT_(ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef nonnull align 8 dereferenceable(8) %13) #8
  call void @llvm.lifetime.start.p0(i64 144, ptr nonnull %21) #8
  store ptr %1, ptr %21, align 8, !tbaa !18
  %50 = getelementptr inbounds i8, ptr %21, i64 8
  store ptr %10, ptr %50, align 8, !tbaa !25
  %51 = getelementptr inbounds i8, ptr %21, i64 16
  invoke void @_ZNSt8functionIFPvRKS0_RSt4pairI16FCoreLibSolutionN8optframe10EvaluationIdEEEEEC2ERKSB_(ptr noundef nonnull align 8 dereferenceable(32) %51, ptr noundef nonnull align 8 dereferenceable(32) %14)
          to label %52 unwind label %101

52:                                               ; preds = %12
  %53 = getelementptr inbounds i8, ptr %21, i64 48
  invoke void @_ZNSt8functionIFbRKPvRKSt4pairI16FCoreLibSolutionN8optframe10EvaluationIdEEEEEC2ERKSC_(ptr noundef nonnull align 8 dereferenceable(32) %53, ptr noundef nonnull align 8 dereferenceable(32) %16)
          to label %54 unwind label %103

54:                                               ; preds = %52
  %55 = getelementptr inbounds i8, ptr %21, i64 80
  invoke void @_ZNSt8functionIFbRKPvRKN8optframe4MoveISt4pairI16FCoreLibSolutionNS3_10EvaluationIdEEES9_EEEEC2ERKSE_(ptr noundef nonnull align 8 dereferenceable(32) %55, ptr noundef nonnull align 8 dereferenceable(32) %18)
          to label %56 unwind label %105

56:                                               ; preds = %54
  %57 = getelementptr inbounds i8, ptr %21, i64 112
  invoke void @_ZNSt8functionIFbPvEEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(32) %57, ptr noundef nonnull align 8 dereferenceable(32) %20)
          to label %58 unwind label %107

58:                                               ; preds = %56
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %22) #8
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %23) #8
  store ptr %2, ptr %23, align 8, !tbaa !26
  %59 = getelementptr inbounds i8, ptr %23, i64 8
  store ptr %10, ptr %59, align 8, !tbaa !28
  %60 = getelementptr inbounds i8, ptr %23, i64 16
  invoke void @_ZNSt8functionIFbPvEEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(32) %60, ptr noundef nonnull align 8 dereferenceable(32) %20)
          to label %61 unwind label %111

61:                                               ; preds = %58
  invoke void @"_ZNSt8functionIF9IMSObjLibRKSt4pairI16FCoreLibSolutionN8optframe10EvaluationIdEEEEEC2IZ24optframe_api1d_add_nsseqE3$_3vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef nonnull align 8 dereferenceable(48) %23)
          to label %62 unwind label %113

62:                                               ; preds = %61
  call void @"_ZZ24optframe_api1d_add_nsseqEN3$_3D2Ev"(ptr noundef nonnull align 8 dereferenceable(48) %23) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %23) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %24) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %25) #8
  store ptr %3, ptr %25, align 8, !tbaa !29
  %63 = getelementptr inbounds i8, ptr %25, i64 8
  store ptr %10, ptr %63, align 8, !tbaa !31
  call void @"_ZNSt8functionIFvR9IMSObjLibEEC2IZ24optframe_api1d_add_nsseqE3$_4vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %24, ptr noundef nonnull align 8 dereferenceable(16) %25) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %25) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %26) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %27) #8
  store ptr %4, ptr %27, align 8, !tbaa !32
  %64 = getelementptr inbounds i8, ptr %27, i64 8
  store ptr %10, ptr %64, align 8, !tbaa !34
  call void @"_ZNSt8functionIFvR9IMSObjLibEEC2IZ24optframe_api1d_add_nsseqE3$_5vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %26, ptr noundef nonnull align 8 dereferenceable(16) %27) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %27) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %28) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %29) #8
  store ptr %5, ptr %29, align 8, !tbaa !35
  %65 = getelementptr inbounds i8, ptr %29, i64 8
  store ptr %10, ptr %65, align 8, !tbaa !37
  call void @"_ZNSt8functionIFbR9IMSObjLibEEC2IZ24optframe_api1d_add_nsseqE3$_6vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %28, ptr noundef nonnull align 8 dereferenceable(16) %29) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %29) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %30) #8
  call void @llvm.lifetime.start.p0(i64 144, ptr nonnull %31) #8
  store ptr %6, ptr %31, align 8, !tbaa !38
  %66 = getelementptr inbounds i8, ptr %31, i64 8
  store ptr %10, ptr %66, align 8, !tbaa !40
  %67 = getelementptr inbounds i8, ptr %31, i64 16
  invoke void @_ZNSt8functionIFPvRKS0_RSt4pairI16FCoreLibSolutionN8optframe10EvaluationIdEEEEEC2ERKSB_(ptr noundef nonnull align 8 dereferenceable(32) %67, ptr noundef nonnull align 8 dereferenceable(32) %14)
          to label %68 unwind label %116

68:                                               ; preds = %62
  %69 = getelementptr inbounds i8, ptr %31, i64 48
  invoke void @_ZNSt8functionIFbRKPvRKSt4pairI16FCoreLibSolutionN8optframe10EvaluationIdEEEEEC2ERKSC_(ptr noundef nonnull align 8 dereferenceable(32) %69, ptr noundef nonnull align 8 dereferenceable(32) %16)
          to label %70 unwind label %118

70:                                               ; preds = %68
  %71 = getelementptr inbounds i8, ptr %31, i64 80
  invoke void @_ZNSt8functionIFbRKPvRKN8optframe4MoveISt4pairI16FCoreLibSolutionNS3_10EvaluationIdEEES9_EEEEC2ERKSE_(ptr noundef nonnull align 8 dereferenceable(32) %71, ptr noundef nonnull align 8 dereferenceable(32) %18)
          to label %72 unwind label %120

72:                                               ; preds = %70
  %73 = getelementptr inbounds i8, ptr %31, i64 112
  invoke void @_ZNSt8functionIFbPvEEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(32) %73, ptr noundef nonnull align 8 dereferenceable(32) %20)
          to label %74 unwind label %122

74:                                               ; preds = %72
  invoke void @"_ZNSt8functionIFSt10unique_ptrIN8optframe4MoveISt4pairI16FCoreLibSolutionNS1_10EvaluationIdEEES7_EESt14default_deleteIS8_EER9IMSObjLibEEC2IZ24optframe_api1d_add_nsseqE3$_7vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %30, ptr noundef nonnull align 8 dereferenceable(144) %31)
          to label %75 unwind label %126

75:                                               ; preds = %74
  call void @"_ZZ24optframe_api1d_add_nsseqEN3$_7D2Ev"(ptr noundef nonnull align 8 dereferenceable(144) %31) #8
  call void @llvm.lifetime.end.p0(i64 144, ptr nonnull %31) #8
  %76 = invoke noalias noundef nonnull dereferenceable(272) ptr @_Znwm(i64 noundef 272) #9
          to label %77 unwind label %129

77:                                               ; preds = %75
  invoke void @"_ZNSt8functionIFSt10unique_ptrIN8optframe4MoveISt4pairI16FCoreLibSolutionNS1_10EvaluationIdEEES7_EESt14default_deleteIS8_EERKS7_EEC2IRZ24optframe_api1d_add_nsseqE3$_8vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %32, ptr noundef nonnull align 8 dereferenceable(144) %21)
          to label %78 unwind label %131

78:                                               ; preds = %77
  invoke void @_ZNSt8functionIF9IMSObjLibRKSt4pairI16FCoreLibSolutionN8optframe10EvaluationIdEEEEEC2ERKSA_(ptr noundef nonnull align 8 dereferenceable(32) %33, ptr noundef nonnull align 8 dereferenceable(32) %22)
          to label %79 unwind label %133

79:                                               ; preds = %78
  invoke void @_ZNSt8functionIFvR9IMSObjLibEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(32) %34, ptr noundef nonnull align 8 dereferenceable(32) %24)
          to label %80 unwind label %135

80:                                               ; preds = %79
  invoke void @_ZNSt8functionIFvR9IMSObjLibEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(32) %35, ptr noundef nonnull align 8 dereferenceable(32) %26)
          to label %81 unwind label %137

81:                                               ; preds = %80
  invoke void @_ZNSt8functionIFbR9IMSObjLibEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(32) %36, ptr noundef nonnull align 8 dereferenceable(32) %28)
          to label %82 unwind label %139

82:                                               ; preds = %81
  invoke void @_ZNSt8functionIFSt10unique_ptrIN8optframe4MoveISt4pairI16FCoreLibSolutionNS1_10EvaluationIdEEES7_EESt14default_deleteIS8_EER9IMSObjLibEEC2ERKSF_(ptr noundef nonnull align 8 dereferenceable(32) %37, ptr noundef nonnull align 8 dereferenceable(32) %30)
          to label %83 unwind label %141

83:                                               ; preds = %82
  invoke void @_ZN8optframe6FNSSeqI9IMSObjLibSt4pairI16FCoreLibSolutionNS_10EvaluationIdEEEvEC2ESt8functionIFSt10unique_ptrINS_4MoveIS6_S6_EESt14default_deleteISB_EERKS6_EES8_IFS1_SG_EES8_IFvRS1_EESN_S8_IFbSL_EES8_IFSE_SL_EE(ptr noundef nonnull align 8 dereferenceable(272) %76, ptr noundef nonnull %32, ptr noundef nonnull %33, ptr noundef nonnull %34, ptr noundef nonnull %35, ptr noundef nonnull %36, ptr noundef nonnull %37)
          to label %84 unwind label %143

84:                                               ; preds = %83
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #8
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #8
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #8
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #8
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #8
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %38) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %39) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %39) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %38, ptr noundef nonnull @.str.67, ptr noundef nonnull align 1 dereferenceable(1) %39)
          to label %85 unwind label %151

85:                                               ; preds = %84
  %86 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr noundef nonnull align 8 dereferenceable(32) %38)
          to label %87 unwind label %153

87:                                               ; preds = %85
  %88 = invoke noundef i32 @_ZNSt7__cxx114stoiERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPmi(ptr noundef nonnull align 8 dereferenceable(32) %86, ptr noundef null, i32 noundef 10)
          to label %89 unwind label %153

89:                                               ; preds = %87
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %39) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %39) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %38) #8
  %90 = icmp sgt i32 %88, 1
  br i1 %90, label %91, label %162

91:                                               ; preds = %89
  %92 = getelementptr inbounds i8, ptr %0, i64 48
  %93 = load i32, ptr %92, align 8, !tbaa !41
  %94 = icmp slt i32 %93, 2
  br i1 %94, label %95, label %158

95:                                               ; preds = %91
  %96 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.68)
          to label %97 unwind label %156

97:                                               ; preds = %95
  %98 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %96, i32 noundef %88)
          to label %99 unwind label %156

99:                                               ; preds = %97
  %100 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %98, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %158 unwind label %156

101:                                              ; preds = %12
  %102 = landingpad { ptr, i32 }
          cleanup
  br label %188

103:                                              ; preds = %52
  %104 = landingpad { ptr, i32 }
          cleanup
  br label %110

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

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

109:                                              ; preds = %107, %105
  %.pn = phi { ptr, i32 } [ %108, %107 ], [ %106, %105 ]
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #8
  br label %110

110:                                              ; preds = %109, %103
  %.pn.pn = phi { ptr, i32 } [ %.pn, %109 ], [ %104, %103 ]
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #8
  br label %188

111:                                              ; preds = %58
  %112 = landingpad { ptr, i32 }
          cleanup
  br label %115

113:                                              ; preds = %61
  %114 = landingpad { ptr, i32 }
          cleanup
  call void @"_ZZ24optframe_api1d_add_nsseqEN3$_3D2Ev"(ptr noundef nonnull align 8 dereferenceable(48) %23) #8
  br label %115

115:                                              ; preds = %113, %111
  %.pn57 = phi { ptr, i32 } [ %114, %113 ], [ %112, %111 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %23) #8
  br label %187

116:                                              ; preds = %62
  %117 = landingpad { ptr, i32 }
          cleanup
  br label %128

118:                                              ; preds = %68
  %119 = landingpad { ptr, i32 }
          cleanup
  br label %125

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

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

124:                                              ; preds = %122, %120
  %.pn59 = phi { ptr, i32 } [ %123, %122 ], [ %121, %120 ]
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #8
  br label %125

125:                                              ; preds = %124, %118
  %.pn59.pn = phi { ptr, i32 } [ %.pn59, %124 ], [ %119, %118 ]
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #8
  br label %128

126:                                              ; preds = %74
  %127 = landingpad { ptr, i32 }
          cleanup
  call void @"_ZZ24optframe_api1d_add_nsseqEN3$_7D2Ev"(ptr noundef nonnull align 8 dereferenceable(144) %31) #8
  br label %128

128:                                              ; preds = %126, %125, %116
  %.pn62 = phi { ptr, i32 } [ %127, %126 ], [ %.pn59.pn, %125 ], [ %117, %116 ]
  call void @llvm.lifetime.end.p0(i64 144, ptr nonnull %31) #8
  br label %186

129:                                              ; preds = %75
  %130 = landingpad { ptr, i32 }
          cleanup
  br label %185

131:                                              ; preds = %77
  %132 = landingpad { ptr, i32 }
          cleanup
  br label %150

133:                                              ; preds = %78
  %134 = landingpad { ptr, i32 }
          cleanup
  br label %149

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

137:                                              ; preds = %80
  %138 = landingpad { ptr, i32 }
          cleanup
  br label %147

139:                                              ; preds = %81
  %140 = landingpad { ptr, i32 }
          cleanup
  br label %146

141:                                              ; preds = %82
  %142 = landingpad { ptr, i32 }
          cleanup
  br label %145

143:                                              ; preds = %83
  %144 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #8
  br label %145

145:                                              ; preds = %143, %141
  %.pn64 = phi { ptr, i32 } [ %144, %143 ], [ %142, %141 ]
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #8
  br label %146

146:                                              ; preds = %145, %139
  %.pn64.pn = phi { ptr, i32 } [ %.pn64, %145 ], [ %140, %139 ]
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #8
  br label %147

147:                                              ; preds = %146, %137
  %.pn64.pn.pn = phi { ptr, i32 } [ %.pn64.pn, %146 ], [ %138, %137 ]
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #8
  br label %148

148:                                              ; preds = %147, %135
  %.pn64.pn.pn.pn = phi { ptr, i32 } [ %.pn64.pn.pn, %147 ], [ %136, %135 ]
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #8
  br label %149

149:                                              ; preds = %148, %133
  %.pn64.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn64.pn.pn.pn, %148 ], [ %134, %133 ]
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #8
  br label %150

150:                                              ; preds = %131, %149
  %.pn64.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn64.pn.pn.pn.pn, %149 ], [ %132, %131 ]
  call void @_ZdlPvm(ptr noundef nonnull %76, i64 noundef 272) #10
  br label %185

151:                                              ; preds = %84
  %152 = landingpad { ptr, i32 }
          cleanup
  br label %155

153:                                              ; preds = %87, %85
  %154 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #8
  br label %155

155:                                              ; preds = %153, %151
  %.pn71 = phi { ptr, i32 } [ %154, %153 ], [ %152, %151 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %39) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %39) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %38) #8
  br label %185

156:                                              ; preds = %99, %97, %95
  %157 = landingpad { ptr, i32 }
          cleanup
  br label %185

158:                                              ; preds = %99, %91
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %40) #8
  store ptr %76, ptr %40, align 8, !tbaa !113
  %159 = getelementptr inbounds i8, ptr %40, i64 8
  store i32 %88, ptr %159, align 8, !tbaa !116
  %160 = getelementptr inbounds i8, ptr %76, i64 80
  %161 = call noundef nonnull align 8 dereferenceable(32) ptr @"_ZNSt8functionIFSt10unique_ptrIN8optframe4MoveISt4pairI16FCoreLibSolutionNS1_10EvaluationIdEEES7_EESt14default_deleteIS8_EERKS7_EEaSIZ24optframe_api1d_add_nsseqE3$_9EENSt9enable_ifIXsrNSF_9_CallableIT_NSI_IXntsr7is_sameINSt9remove_cvINSt16remove_referenceISK_E4typeEE4typeESF_EE5valueESt5decayISK_EE4type4typeESt15__invoke_resultIRSV_JSD_EEEE5valueERSF_E4typeEOSK_"(ptr noundef nonnull align 8 dereferenceable(32) %160, ptr noundef nonnull align 8 dereferenceable(12) %40) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %40) #8
  br label %162

162:                                              ; preds = %158, %89
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %41) #8
  invoke void @_ZN5nnptr8NNSharedIN8optframe5NSSeqISt4pairI16FCoreLibSolutionNS1_10EvaluationIdEEES7_EEEC2EPS8_(ptr noundef nonnull align 8 dereferenceable(16) %41, ptr noundef nonnull %76)
          to label %163 unwind label %171

163:                                              ; preds = %162
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %42) #8
  invoke void @_ZN5nnptr8NNSharedIN8optframe5NSSeqISt4pairI16FCoreLibSolutionNS1_10EvaluationIdEEES7_EEEcvNS0_IT_EEINS1_9ComponentEvEEv(ptr dead_on_unwind nonnull writable sret(%"class.nnptr::NNShared.266") align 8 %42, ptr noundef nonnull align 8 dereferenceable(16) %41)
          to label %164 unwind label %173

164:                                              ; preds = %163
  call void @_ZN5nnptr8NNSharedIN8optframe9ComponentEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(16) %43, ptr noundef nonnull align 8 dereferenceable(16) %42)
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %45) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %44, ptr noundef nonnull @.str.70, ptr noundef nonnull align 1 dereferenceable(1) %45)
          to label %165 unwind label %175

165:                                              ; preds = %164
  %166 = getelementptr inbounds i8, ptr %0, i64 56
  %167 = invoke noundef i32 @_ZN8optframe16HeuristicFactoryISt4pairI16FCoreLibSolutionNS_10EvaluationIdEEEE12addComponentEN5nnptr8NNSharedINS_9ComponentEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(208) %166, ptr noundef nonnull %43, ptr noundef nonnull %44)
          to label %168 unwind label %177

168:                                              ; preds = %165
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %45) #8
  call void @_ZN5nnptr8NNSharedIN8optframe9ComponentEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %43) #8
  %169 = getelementptr inbounds i8, ptr %0, i64 360
  call void @_ZN5nnptr8NNSharedIN8optframe5NSSeqISt4pairI16FCoreLibSolutionNS1_10EvaluationIdEEES7_EEEC2ERKS9_(ptr noundef nonnull align 8 dereferenceable(16) %46, ptr noundef nonnull align 8 dereferenceable(16) %41)
  invoke void @_ZN8optframe12CheckCommandISt4pairI16FCoreLibSolutionNS_10EvaluationIdEEES2_S2_iNS_14MultiESolutionIS5_EES5_E3addEN5nnptr8NNSharedINS_5NSSeqIS5_S5_EEEE(ptr noundef nonnull align 8 dereferenceable(241) %169, ptr noundef nonnull %46)
          to label %170 unwind label %180

170:                                              ; preds = %168
  call void @_ZN5nnptr8NNSharedIN8optframe5NSSeqISt4pairI16FCoreLibSolutionNS1_10EvaluationIdEEES7_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %46) #8
  call void @_ZN5nnptr8NNSharedIN8optframe9ComponentEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %42) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %42) #8
  call void @_ZN5nnptr8NNSharedIN8optframe5NSSeqISt4pairI16FCoreLibSolutionNS1_10EvaluationIdEEES7_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %41) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %41) #8
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #8
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %28) #8
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #8
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #8
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #8
  call void @"_ZZ24optframe_api1d_add_nsseqEN3$_8D2Ev"(ptr noundef nonnull align 8 dereferenceable(144) %21) #8
  call void @llvm.lifetime.end.p0(i64 144, ptr nonnull %21) #8
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #8
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %18) #8
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #8
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %14) #8
  ret i32 %167

171:                                              ; preds = %162
  %172 = landingpad { ptr, i32 }
          cleanup
  br label %184

173:                                              ; preds = %163
  %174 = landingpad { ptr, i32 }
          cleanup
  br label %183

175:                                              ; preds = %164
  %176 = landingpad { ptr, i32 }
          cleanup
  br label %179

177:                                              ; preds = %165
  %178 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #8
  br label %179

179:                                              ; preds = %177, %175
  %.pn73 = phi { ptr, i32 } [ %178, %177 ], [ %176, %175 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %45) #8
  call void @_ZN5nnptr8NNSharedIN8optframe9ComponentEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %43) #8
  br label %182

180:                                              ; preds = %168
  %181 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5nnptr8NNSharedIN8optframe5NSSeqISt4pairI16FCoreLibSolutionNS1_10EvaluationIdEEES7_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %46) #8
  br label %182

182:                                              ; preds = %180, %179
  %.pn75 = phi { ptr, i32 } [ %181, %180 ], [ %.pn73, %179 ]
  call void @_ZN5nnptr8NNSharedIN8optframe9ComponentEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %42) #8
  br label %183

183:                                              ; preds = %182, %173
  %.pn75.pn = phi { ptr, i32 } [ %.pn75, %182 ], [ %174, %173 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %42) #8
  call void @_ZN5nnptr8NNSharedIN8optframe5NSSeqISt4pairI16FCoreLibSolutionNS1_10EvaluationIdEEES7_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %41) #8
  br label %184

184:                                              ; preds = %183, %171
  %.pn75.pn.pn = phi { ptr, i32 } [ %.pn75.pn, %183 ], [ %172, %171 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %41) #8
  br label %185

185:                                              ; preds = %155, %156, %184, %150, %129
  %.pn75.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn64.pn.pn.pn.pn.pn, %150 ], [ %130, %129 ], [ %.pn75.pn.pn, %184 ], [ %157, %156 ], [ %.pn71, %155 ]
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #8
  br label %186

186:                                              ; preds = %185, %128
  %.pn75.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn75.pn.pn.pn.pn, %185 ], [ %.pn62, %128 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #8
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %28) #8
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #8
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #8
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #8
  br label %187

187:                                              ; preds = %186, %115
  %.pn75.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn75.pn.pn.pn.pn.pn, %186 ], [ %.pn57, %115 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #8
  call void @"_ZZ24optframe_api1d_add_nsseqEN3$_8D2Ev"(ptr noundef nonnull align 8 dereferenceable(144) %21) #8
  br label %188

188:                                              ; preds = %187, %110, %101
  %.pn75.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn75.pn.pn.pn.pn.pn.pn, %187 ], [ %.pn.pn, %110 ], [ %102, %101 ]
  call void @llvm.lifetime.end.p0(i64 144, ptr nonnull %21) #8
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #8
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %18) #8
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #8
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %14) #8
  resume { ptr, i32 } %.pn75.pn.pn.pn.pn.pn.pn.pn
}

; Function Attrs: mustprogress nounwind uwtable
declare hidden void @"_ZNSt8functionIFPvRKS0_RSt4pairI16FCoreLibSolutionN8optframe10EvaluationIdEEEEEC2IZ24optframe_api1d_add_nsseqE3$_0vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare hidden void @"_ZNSt8functionIFbRKPvRKSt4pairI16FCoreLibSolutionN8optframe10EvaluationIdEEEEEC2IZ24optframe_api1d_add_nsseqE3$_1vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare hidden void @"_ZNSt8functionIFbRKPvRKN8optframe4MoveISt4pairI16FCoreLibSolutionNS3_10EvaluationIdEEES9_EEEEC2IZ24optframe_api1d_add_nsseqE3$_2vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIF9IMSObjLibRKSt4pairI16FCoreLibSolutionN8optframe10EvaluationIdEEEEEC2IZ24optframe_api1d_add_nsseqE3$_3vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(48)) unnamed_addr #1 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare hidden void @"_ZZ24optframe_api1d_add_nsseqEN3$_3D2Ev"(ptr noundef nonnull align 8 dereferenceable(48)) unnamed_addr #7 align 2

; Function Attrs: mustprogress nounwind uwtable
declare hidden void @"_ZNSt8functionIFvR9IMSObjLibEEC2IZ24optframe_api1d_add_nsseqE3$_4vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare hidden void @"_ZNSt8functionIFvR9IMSObjLibEEC2IZ24optframe_api1d_add_nsseqE3$_5vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare hidden void @"_ZNSt8functionIFbR9IMSObjLibEEC2IZ24optframe_api1d_add_nsseqE3$_6vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFSt10unique_ptrIN8optframe4MoveISt4pairI16FCoreLibSolutionNS1_10EvaluationIdEEES7_EESt14default_deleteIS8_EER9IMSObjLibEEC2IZ24optframe_api1d_add_nsseqE3$_7vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(144)) unnamed_addr #1 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare hidden void @"_ZZ24optframe_api1d_add_nsseqEN3$_7D2Ev"(ptr noundef nonnull align 8 dereferenceable(144)) unnamed_addr #7 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @"_ZNSt8functionIFSt10unique_ptrIN8optframe4MoveISt4pairI16FCoreLibSolutionNS1_10EvaluationIdEEES7_EESt14default_deleteIS8_EERKS7_EEC2IRZ24optframe_api1d_add_nsseqE3$_8vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(144)) unnamed_addr #1 align 2

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

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

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare hidden noundef nonnull align 8 dereferenceable(32) ptr @"_ZNSt8functionIFSt10unique_ptrIN8optframe4MoveISt4pairI16FCoreLibSolutionNS1_10EvaluationIdEEES7_EESt14default_deleteIS8_EERKS7_EEaSIZ24optframe_api1d_add_nsseqE3$_9EENSt9enable_ifIXsrNSF_9_CallableIT_NSI_IXntsr7is_sameINSt9remove_cvINSt16remove_referenceISK_E4typeEE4typeESF_EE5valueESt5decayISK_EE4type4typeESt15__invoke_resultIRSV_JSD_EEEE5valueERSF_E4typeEOSK_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(12)) local_unnamed_addr #3 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN5nnptr8NNSharedIN8optframe5NSSeqISt4pairI16FCoreLibSolutionNS1_10EvaluationIdEEES7_EEEcvNS0_IT_EEINS1_9ComponentEvEEv(ptr dead_on_unwind noalias writable sret(%"class.nnptr::NNShared.266") align 8, ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #1 align 2

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN5nnptr8NNSharedIN8optframe5NSSeqISt4pairI16FCoreLibSolutionNS1_10EvaluationIdEEES7_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #7 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare hidden void @"_ZZ24optframe_api1d_add_nsseqEN3$_8D2Ev"(ptr noundef nonnull align 8 dereferenceable(144)) unnamed_addr #7 align 2

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

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !6, i64 0}
!10 = !{!"_ZTSZ24optframe_api1d_add_nsseqE3$_0", !6, i64 0, !6, i64 8}
!11 = !{!10, !6, i64 8}
!12 = !{!13, !6, i64 0}
!13 = !{!"_ZTSZ24optframe_api1d_add_nsseqE3$_1", !6, i64 0, !6, i64 8}
!14 = !{!13, !6, i64 8}
!15 = !{!16, !6, i64 0}
!16 = !{!"_ZTSZ24optframe_api1d_add_nsseqE3$_2", !6, i64 0, !6, i64 8}
!17 = !{!16, !6, i64 8}
!18 = !{!19, !6, i64 0}
!19 = !{!"_ZTSZ24optframe_api1d_add_nsseqE3$_8", !6, i64 0, !6, i64 8, !20, i64 16, !22, i64 48, !23, i64 80, !24, i64 112}
!20 = !{!"_ZTSSt8functionIFPvRKS0_RSt4pairI16FCoreLibSolutionN8optframe10EvaluationIdEEEEE", !21, i64 0, !6, i64 24}
!21 = !{!"_ZTSSt14_Function_base", !7, i64 0, !6, i64 16}
!22 = !{!"_ZTSSt8functionIFbRKPvRKSt4pairI16FCoreLibSolutionN8optframe10EvaluationIdEEEEE", !21, i64 0, !6, i64 24}
!23 = !{!"_ZTSSt8functionIFbRKPvRKN8optframe4MoveISt4pairI16FCoreLibSolutionNS3_10EvaluationIdEEES9_EEEE", !21, i64 0, !6, i64 24}
!24 = !{!"_ZTSSt8functionIFbPvEE", !21, i64 0, !6, i64 24}
!25 = !{!19, !6, i64 8}
!26 = !{!27, !6, i64 0}
!27 = !{!"_ZTSZ24optframe_api1d_add_nsseqE3$_3", !6, i64 0, !6, i64 8, !24, i64 16}
!28 = !{!27, !6, i64 8}
!29 = !{!30, !6, i64 0}
!30 = !{!"_ZTSZ24optframe_api1d_add_nsseqE3$_4", !6, i64 0, !6, i64 8}
!31 = !{!30, !6, i64 8}
!32 = !{!33, !6, i64 0}
!33 = !{!"_ZTSZ24optframe_api1d_add_nsseqE3$_5", !6, i64 0, !6, i64 8}
!34 = !{!33, !6, i64 8}
!35 = !{!36, !6, i64 0}
!36 = !{!"_ZTSZ24optframe_api1d_add_nsseqE3$_6", !6, i64 0, !6, i64 8}
!37 = !{!36, !6, i64 8}
!38 = !{!39, !6, i64 0}
!39 = !{!"_ZTSZ24optframe_api1d_add_nsseqE3$_7", !6, i64 0, !6, i64 8, !20, i64 16, !22, i64 48, !23, i64 80, !24, i64 112}
!40 = !{!39, !6, i64 8}
!41 = !{!42, !52, i64 48}
!42 = !{!"_ZTS15FCoreApi1Engine", !43, i64 0, !52, i64 48, !52, i64 52, !53, i64 56, !81, i64 360}
!43 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEE", !44, i64 0}
!44 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE", !45, i64 0}
!45 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE13_Rb_tree_implISC_Lb1EEE", !46, i64 0, !48, i64 8}
!46 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE", !47, i64 0}
!47 = !{!"_ZTSSt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE"}
!48 = !{!"_ZTSSt15_Rb_tree_header", !49, i64 0, !51, i64 32}
!49 = !{!"_ZTSSt18_Rb_tree_node_base", !50, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!50 = !{!"_ZTSSt14_Rb_tree_color", !7, i64 0}
!51 = !{!"long", !7, i64 0}
!52 = !{!"_ZTSN6modlog8LogLevelE", !7, i64 0}
!53 = !{!"_ZTSN8optframe6LoaderISt4pairI16FCoreLibSolutionNS_10EvaluationIdEEES5_S5_St6vectorIS5_SaIS5_EEEE", !54, i64 0, !43, i64 208, !78, i64 256}
!54 = !{!"_ZTSN8optframe16HeuristicFactoryISt4pairI16FCoreLibSolutionNS_10EvaluationIdEEEEE", !52, i64 8, !55, i64 16, !6, i64 32, !60, i64 40, !63, i64 88, !67, i64 112, !71, i64 136, !75, i64 160}
!55 = !{!"_ZTSN5nnptr8NNSharedIN8optframe7RandGenEEE", !56, i64 0}
!56 = !{!"_ZTSN5nnptr7NotNullISt10shared_ptrIN8optframe7RandGenEEEE", !57, i64 0}
!57 = !{!"_ZTSSt10shared_ptrIN8optframe7RandGenEE", !58, i64 0}
!58 = !{!"_ZTSSt12__shared_ptrIN8optframe7RandGenELN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0, !59, i64 8}
!59 = !{!"_ZTSSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0}
!60 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorISt10shared_ptrIN8optframe9ComponentEESaISA_EESt4lessIS5_ESaISt4pairIKS5_SC_EEE", !61, i64 0}
!61 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St6vectorISt10shared_ptrIN8optframe9ComponentEESaISC_EEESt10_Select1stISF_ESt4lessIS5_ESaISF_EE", !62, i64 0}
!62 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St6vectorISt10shared_ptrIN8optframe9ComponentEESaISC_EEESt10_Select1stISF_ESt4lessIS5_ESaISF_EE13_Rb_tree_implISJ_Lb1EEE", !46, i64 0, !48, i64 8}
!63 = !{!"_ZTSSt6vectorIPN8optframe16ComponentBuilderISt4pairI16FCoreLibSolutionNS0_10EvaluationIdEEEEESaIS8_EE", !64, i64 0}
!64 = !{!"_ZTSSt12_Vector_baseIPN8optframe16ComponentBuilderISt4pairI16FCoreLibSolutionNS0_10EvaluationIdEEEEESaIS8_EE", !65, i64 0}
!65 = !{!"_ZTSNSt12_Vector_baseIPN8optframe16ComponentBuilderISt4pairI16FCoreLibSolutionNS0_10EvaluationIdEEEEESaIS8_EE12_Vector_implE", !66, i64 0}
!66 = !{!"_ZTSNSt12_Vector_baseIPN8optframe16ComponentBuilderISt4pairI16FCoreLibSolutionNS0_10EvaluationIdEEEEESaIS8_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!67 = !{!"_ZTSSt6vectorIPN8optframe21ComponentMultiBuilderI16FCoreLibSolutionNS0_15MultiEvaluationIdEESt4pairIS2_S4_ES_IS6_SaIS6_EEEESaISA_EE", !68, i64 0}
!68 = !{!"_ZTSSt12_Vector_baseIPN8optframe21ComponentMultiBuilderI16FCoreLibSolutionNS0_15MultiEvaluationIdEESt4pairIS2_S4_ESt6vectorIS6_SaIS6_EEEESaISB_EE", !69, i64 0}
!69 = !{!"_ZTSNSt12_Vector_baseIPN8optframe21ComponentMultiBuilderI16FCoreLibSolutionNS0_15MultiEvaluationIdEESt4pairIS2_S4_ESt6vectorIS6_SaIS6_EEEESaISB_EE12_Vector_implE", !70, i64 0}
!70 = !{!"_ZTSNSt12_Vector_baseIPN8optframe21ComponentMultiBuilderI16FCoreLibSolutionNS0_15MultiEvaluationIdEESt4pairIS2_S4_ESt6vectorIS6_SaIS6_EEEESaISB_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!71 = !{!"_ZTSSt6vectorIPN8optframe6ActionISt4pairI16FCoreLibSolutionNS0_10EvaluationIdEEEEESaIS8_EE", !72, i64 0}
!72 = !{!"_ZTSSt12_Vector_baseIPN8optframe6ActionISt4pairI16FCoreLibSolutionNS0_10EvaluationIdEEEEESaIS8_EE", !73, i64 0}
!73 = !{!"_ZTSNSt12_Vector_baseIPN8optframe6ActionISt4pairI16FCoreLibSolutionNS0_10EvaluationIdEEEEESaIS8_EE12_Vector_implE", !74, i64 0}
!74 = !{!"_ZTSNSt12_Vector_baseIPN8optframe6ActionISt4pairI16FCoreLibSolutionNS0_10EvaluationIdEEEEESaIS8_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!75 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_ISt10shared_ptrIN8optframe9ComponentEESaISA_EESaISC_EESt4lessIS5_ESaISt4pairIKS5_SE_EEE", !76, i64 0}
!76 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St6vectorIS8_ISt10shared_ptrIN8optframe9ComponentEESaISC_EESaISE_EEESt10_Select1stISH_ESt4lessIS5_ESaISH_EE", !77, i64 0}
!77 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St6vectorIS8_ISt10shared_ptrIN8optframe9ComponentEESaISC_EESaISE_EEESt10_Select1stISH_ESt4lessIS5_ESaISH_EE13_Rb_tree_implISL_Lb1EEE", !46, i64 0, !48, i64 8}
!78 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS5_SaIS5_EESt4lessIS5_ESaISt4pairIKS5_S8_EEE", !79, i64 0}
!79 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St6vectorIS5_SaIS5_EEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE", !80, i64 0}
!80 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St6vectorIS5_SaIS5_EEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE13_Rb_tree_implISF_Lb1EEE", !46, i64 0, !48, i64 8}
!81 = !{!"_ZTSN8optframe12CheckCommandISt4pairI16FCoreLibSolutionNS_10EvaluationIdEEES2_S2_iNS_14MultiESolutionIS5_EES5_EE", !82, i64 0, !83, i64 33, !83, i64 34, !83, i64 35, !84, i64 40, !88, i64 64, !92, i64 88, !96, i64 112, !100, i64 136, !104, i64 160, !108, i64 184, !112, i64 208, !83, i64 240}
!82 = !{!"_ZTSN8optframe9ComponentE", !6, i64 8, !6, i64 16, !52, i64 24, !83, i64 28, !83, i64 29, !83, i64 30, !83, i64 31, !83, i64 32}
!83 = !{!"bool", !7, i64 0}
!84 = !{!"_ZTSSt6vectorISt10shared_ptrIN8optframe9EvaluatorI16FCoreLibSolutionNS1_10EvaluationIdEESt4pairIS3_S5_EEEESaIS9_EE", !85, i64 0}
!85 = !{!"_ZTSSt12_Vector_baseISt10shared_ptrIN8optframe9EvaluatorI16FCoreLibSolutionNS1_10EvaluationIdEESt4pairIS3_S5_EEEESaIS9_EE", !86, i64 0}
!86 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN8optframe9EvaluatorI16FCoreLibSolutionNS1_10EvaluationIdEESt4pairIS3_S5_EEEESaIS9_EE12_Vector_implE", !87, i64 0}
!87 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN8optframe9EvaluatorI16FCoreLibSolutionNS1_10EvaluationIdEESt4pairIS3_S5_EEEESaIS9_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!88 = !{!"_ZTSSt6vectorISt10shared_ptrIN8optframe13InitialSearchISt4pairI16FCoreLibSolutionNS1_10EvaluationIdEEES7_EEESaIS9_EE", !89, i64 0}
!89 = !{!"_ZTSSt12_Vector_baseISt10shared_ptrIN8optframe13InitialSearchISt4pairI16FCoreLibSolutionNS1_10EvaluationIdEEES7_EEESaIS9_EE", !90, i64 0}
!90 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN8optframe13InitialSearchISt4pairI16FCoreLibSolutionNS1_10EvaluationIdEEES7_EEESaIS9_EE12_Vector_implE", !91, i64 0}
!91 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN8optframe13InitialSearchISt4pairI16FCoreLibSolutionNS1_10EvaluationIdEEES7_EEESaIS9_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!92 = !{!"_ZTSSt6vectorISt10shared_ptrI16FCoreLibSolutionESaIS2_EE", !93, i64 0}
!93 = !{!"_ZTSSt12_Vector_baseISt10shared_ptrI16FCoreLibSolutionESaIS2_EE", !94, i64 0}
!94 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrI16FCoreLibSolutionESaIS2_EE12_Vector_implE", !95, i64 0}
!95 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrI16FCoreLibSolutionESaIS2_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!96 = !{!"_ZTSSt6vectorISt10shared_ptrIN8optframe4MoveISt4pairI16FCoreLibSolutionNS1_10EvaluationIdEEES7_EEESaIS9_EE", !97, i64 0}
!97 = !{!"_ZTSSt12_Vector_baseISt10shared_ptrIN8optframe4MoveISt4pairI16FCoreLibSolutionNS1_10EvaluationIdEEES7_EEESaIS9_EE", !98, i64 0}
!98 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN8optframe4MoveISt4pairI16FCoreLibSolutionNS1_10EvaluationIdEEES7_EEESaIS9_EE12_Vector_implE", !99, i64 0}
!99 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN8optframe4MoveISt4pairI16FCoreLibSolutionNS1_10EvaluationIdEEES7_EEESaIS9_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!100 = !{!"_ZTSSt6vectorISt10shared_ptrIN8optframe2NSISt4pairI16FCoreLibSolutionNS1_10EvaluationIdEEES7_EEESaIS9_EE", !101, i64 0}
!101 = !{!"_ZTSSt12_Vector_baseISt10shared_ptrIN8optframe2NSISt4pairI16FCoreLibSolutionNS1_10EvaluationIdEEES7_EEESaIS9_EE", !102, i64 0}
!102 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN8optframe2NSISt4pairI16FCoreLibSolutionNS1_10EvaluationIdEEES7_EEESaIS9_EE12_Vector_implE", !103, i64 0}
!103 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN8optframe2NSISt4pairI16FCoreLibSolutionNS1_10EvaluationIdEEES7_EEESaIS9_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!104 = !{!"_ZTSSt6vectorISt10shared_ptrIN8optframe5NSSeqISt4pairI16FCoreLibSolutionNS1_10EvaluationIdEEES7_EEESaIS9_EE", !105, i64 0}
!105 = !{!"_ZTSSt12_Vector_baseISt10shared_ptrIN8optframe5NSSeqISt4pairI16FCoreLibSolutionNS1_10EvaluationIdEEES7_EEESaIS9_EE", !106, i64 0}
!106 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN8optframe5NSSeqISt4pairI16FCoreLibSolutionNS1_10EvaluationIdEEES7_EEESaIS9_EE12_Vector_implE", !107, i64 0}
!107 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN8optframe5NSSeqISt4pairI16FCoreLibSolutionNS1_10EvaluationIdEEES7_EEESaIS9_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!108 = !{!"_ZTSSt6vectorISt10shared_ptrIN8optframe6NSEnumISt4pairI16FCoreLibSolutionNS1_10EvaluationIdEEES7_EEESaIS9_EE", !109, i64 0}
!109 = !{!"_ZTSSt12_Vector_baseISt10shared_ptrIN8optframe6NSEnumISt4pairI16FCoreLibSolutionNS1_10EvaluationIdEEES7_EEESaIS9_EE", !110, i64 0}
!110 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN8optframe6NSEnumISt4pairI16FCoreLibSolutionNS1_10EvaluationIdEEES7_EEESaIS9_EE12_Vector_implE", !111, i64 0}
!111 = !{!"_ZTSNSt12_Vector_baseISt10shared_ptrIN8optframe6NSEnumISt4pairI16FCoreLibSolutionNS1_10EvaluationIdEEES7_EEESaIS9_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!112 = !{!"_ZTSSt8functionIFbiEE", !21, i64 0, !6, i64 24}
!113 = !{!114, !6, i64 0}
!114 = !{!"_ZTSZ24optframe_api1d_add_nsseqE3$_9", !6, i64 0, !115, i64 8}
!115 = !{!"int", !7, i64 0}
!116 = !{!114, !115, i64 8}


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