; LLVM IR from simbody/simbody :: SimTKmath/Optimizers/src/IpOpt (IpFilterLSAcceptor)

; 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.SimTKIpopt::SmartPtr.40" = type { ptr }
%"class.SimTKIpopt::SmartPtr.41" = type { ptr }
%"class.SimTKIpopt::SmartPtr.37" = type { ptr }
%"class.SimTKIpopt::SmartPtr.31" = type { ptr }
%"class.SimTKIpopt::SmartPtr.52" = type { 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.15" = type { i8 }
%"class.SimTKIpopt::FilterLSAcceptor" = type { %"class.SimTKIpopt::BacktrackingLSAcceptor.base", double, double, double, double, double, double, double, double, double, double, double, i32, double, double, i32, double, i8, i8, i32, i32, double, double, double, double, double, double, %"class.SimTKIpopt::Filter", double, i32, i32, %"class.SimTKIpopt::SmartPtr.13" }
%"class.SimTKIpopt::BacktrackingLSAcceptor.base" = type { %"class.SimTKIpopt::AlgorithmStrategyObject.base" }
%"class.SimTKIpopt::AlgorithmStrategyObject.base" = type <{ %"class.SimTKIpopt::ReferencedObject.base", [4 x i8], %"class.SimTKIpopt::SmartPtr.6", %"class.SimTKIpopt::SmartPtr.7", %"class.SimTKIpopt::SmartPtr.8", %"class.SimTKIpopt::SmartPtr.9", i8 }>
%"class.SimTKIpopt::ReferencedObject.base" = type <{ ptr, i32 }>
%"class.SimTKIpopt::SmartPtr.6" = type { ptr }
%"class.SimTKIpopt::SmartPtr.7" = type { ptr }
%"class.SimTKIpopt::SmartPtr.8" = type { ptr }
%"class.SimTKIpopt::SmartPtr.9" = type { ptr }
%"class.SimTKIpopt::Filter" = type { i32, %"class.std::__cxx11::list" }
%"class.std::__cxx11::list" = type { %"class.std::__cxx11::_List_base" }
%"class.std::__cxx11::_List_base" = type { %"struct.std::__cxx11::_List_base<SimTKIpopt::FilterEntry *, std::allocator<SimTKIpopt::FilterEntry *>>::_List_impl" }
%"struct.std::__cxx11::_List_base<SimTKIpopt::FilterEntry *, std::allocator<SimTKIpopt::FilterEntry *>>::_List_impl" = type { %"struct.std::__detail::_List_node_header" }
%"struct.std::__detail::_List_node_header" = type { %"struct.std::__detail::_List_node_base", i64 }
%"struct.std::__detail::_List_node_base" = type { ptr, ptr }
%"class.SimTKIpopt::SmartPtr.13" = type { ptr }

@_ZTIN10SimTKIpopt8IpoptNLP10Eval_ErrorE = external dso_local constant { ptr, ptr, ptr }, align 8
@.str.90 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.92 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.93 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.94 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.95 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.96 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.97 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.98 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.99 = external hidden unnamed_addr constant [1 x i8], align 1

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

declare i32 @__gxx_personality_v0(...)

; Function Attrs: noinline noreturn nounwind uwtable
declare hidden void @__clang_call_terminate(ptr noundef) #1

declare ptr @__cxa_begin_catch(ptr)

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

; Function Attrs: mustprogress nounwind uwtable
declare void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #2 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 #3 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49)) #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5JnlstEv(ptr noundef nonnull align 8 dereferenceable(49)) #3 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49)) #3 align 2

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

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

declare void @_ZN10SimTKIpopt25IpoptCalculatedQuantities6curr_cEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8, ptr noundef nonnull align 8 dereferenceable(2025)) #4

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef ptr @_ZNK10SimTKIpopt6Vector7MakeNewEv(ptr noundef nonnull align 8 dereferenceable(205)) #5 align 2

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

declare void @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_d_minus_sEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8, ptr noundef nonnull align 8 dereferenceable(2025)) #4

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN10SimTKIpopt6Vector4CopyERKS0_(ptr noundef nonnull align 8 dereferenceable(205), ptr noundef nonnull align 8 dereferenceable(205)) #5 align 2

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

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

declare void @_ZNK10SimTKIpopt14IteratesVector21MakeNewIteratesVectorEb(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.41") align 8, ptr noundef nonnull align 8 dereferenceable(280), i1 noundef zeroext) #4

declare void @_ZNK10SimTKIpopt14IteratesVector16MakeNewContainerEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.41") align 8, ptr noundef nonnull align 8 dereferenceable(280)) #4

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN10SimTKIpopt14IteratesVector5Set_xERKNS_6VectorE(ptr noundef nonnull align 8 dereferenceable(280), ptr noundef nonnull align 8 dereferenceable(205)) #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN10SimTKIpopt14IteratesVector5Set_sERKNS_6VectorE(ptr noundef nonnull align 8 dereferenceable(280), ptr noundef nonnull align 8 dereferenceable(205)) #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN10SimTKIpopt14IteratesVector7Set_y_cERKNS_6VectorE(ptr noundef nonnull align 8 dereferenceable(280), ptr noundef nonnull align 8 dereferenceable(205)) #3 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN10SimTKIpopt14IteratesVector7Set_y_dERKNS_6VectorE(ptr noundef nonnull align 8 dereferenceable(280), ptr noundef nonnull align 8 dereferenceable(205)) #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN10SimTKIpopt14IteratesVector7Set_z_LERKNS_6VectorE(ptr noundef nonnull align 8 dereferenceable(280), ptr noundef nonnull align 8 dereferenceable(205)) #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN10SimTKIpopt14IteratesVector7Set_z_UERKNS_6VectorE(ptr noundef nonnull align 8 dereferenceable(280), ptr noundef nonnull align 8 dereferenceable(205)) #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN10SimTKIpopt14IteratesVector7Set_v_LERKNS_6VectorE(ptr noundef nonnull align 8 dereferenceable(280), ptr noundef nonnull align 8 dereferenceable(205)) #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN10SimTKIpopt14IteratesVector7Set_v_UERKNS_6VectorE(ptr noundef nonnull align 8 dereferenceable(280), ptr noundef nonnull align 8 dereferenceable(205)) #3 align 2

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

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

declare noundef double @_ZN10SimTKIpopt25IpoptCalculatedQuantities24primal_frac_to_the_boundEdRKNS_6VectorES3_(ptr noundef nonnull align 8 dereferenceable(2025), double noundef, ptr noundef nonnull align 8 dereferenceable(205), ptr noundef nonnull align 8 dereferenceable(205)) #4

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNK10SimTKIpopt14IteratesVector1xEv(ptr dead_on_unwind noalias writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8, ptr noundef nonnull align 8 dereferenceable(280)) #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNK10SimTKIpopt14IteratesVector1sEv(ptr dead_on_unwind noalias writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8, ptr noundef nonnull align 8 dereferenceable(280)) #3 align 2

declare void @_ZN10SimTKIpopt9IpoptData31SetTrialPrimalVariablesFromStepEdRKNS_6VectorES3_(ptr noundef nonnull align 8 dereferenceable(864), double noundef, ptr noundef nonnull align 8 dereferenceable(205), ptr noundef nonnull align 8 dereferenceable(205)) #4

; Function Attrs: nounwind memory(none)
declare i32 @llvm.eh.typeid.for.p0(ptr) #6

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

declare void @__cxa_end_catch()

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

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

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

; Function Attrs: mustprogress uwtable
define dso_local noundef zeroext i1 @_ZN10SimTKIpopt16FilterLSAcceptor12TryCorrectorEdRdRNS_8SmartPtrINS_14IteratesVectorEEE(ptr noundef nonnull align 8 dereferenceable(304) %0, double noundef %1, ptr noundef nonnull align 8 dereferenceable(8) %2, ptr noundef nonnull align 8 dereferenceable(8) %3) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 {
  %5 = alloca i1, align 1
  %6 = alloca ptr, align 8
  %7 = alloca double, align 8
  %8 = alloca ptr, align 8
  %9 = alloca ptr, align 8
  %10 = alloca i32, align 4
  %11 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %12 = alloca %"class.SimTKIpopt::SmartPtr.37", align 8
  %13 = alloca ptr, align 8
  %14 = alloca i32, align 4
  %15 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %16 = alloca %"class.SimTKIpopt::SmartPtr.37", align 8
  %17 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %18 = alloca %"class.SimTKIpopt::SmartPtr.37", align 8
  %19 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %20 = alloca %"class.SimTKIpopt::SmartPtr.37", align 8
  %21 = alloca i32, align 4
  %22 = alloca i8, align 1
  %23 = alloca %"class.SimTKIpopt::SmartPtr.41", align 8
  %24 = alloca %"class.SimTKIpopt::SmartPtr.41", align 8
  %25 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %26 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %27 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %28 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %29 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %30 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %31 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %32 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %33 = alloca %"class.SimTKIpopt::SmartPtr.41", align 8
  %34 = alloca %"class.SimTKIpopt::SmartPtr.37", align 8
  %35 = alloca %"class.SimTKIpopt::SmartPtr.41", align 8
  %36 = alloca %"class.SimTKIpopt::SmartPtr.31", align 8
  %37 = alloca %"class.SimTKIpopt::SmartPtr.31", align 8
  %38 = alloca %"class.SimTKIpopt::SmartPtr.31", align 8
  %39 = alloca %"class.SimTKIpopt::SmartPtr.31", align 8
  %40 = alloca %"class.SimTKIpopt::SmartPtr.52", align 8
  %41 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %42 = alloca %"class.SimTKIpopt::SmartPtr.31", align 8
  %43 = alloca %"class.SimTKIpopt::SmartPtr.31", align 8
  %44 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %45 = alloca %"class.SimTKIpopt::SmartPtr.52", align 8
  %46 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %47 = alloca %"class.SimTKIpopt::SmartPtr.31", align 8
  %48 = alloca %"class.SimTKIpopt::SmartPtr.31", align 8
  %49 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %50 = alloca %"class.SimTKIpopt::SmartPtr.52", align 8
  %51 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %52 = alloca %"class.SimTKIpopt::SmartPtr.31", align 8
  %53 = alloca %"class.SimTKIpopt::SmartPtr.31", align 8
  %54 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %55 = alloca %"class.SimTKIpopt::SmartPtr.52", align 8
  %56 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %57 = alloca %"class.SimTKIpopt::SmartPtr.31", align 8
  %58 = alloca %"class.SimTKIpopt::SmartPtr.31", align 8
  %59 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %60 = alloca %"class.SimTKIpopt::SmartPtr.41", align 8
  %61 = alloca %"class.SimTKIpopt::SmartPtr.31", align 8
  %62 = alloca %"class.SimTKIpopt::SmartPtr.31", align 8
  %63 = alloca %"class.SimTKIpopt::SmartPtr.31", align 8
  %64 = alloca %"class.SimTKIpopt::SmartPtr.31", align 8
  %65 = alloca double, align 8
  %66 = alloca %"class.SimTKIpopt::SmartPtr.31", align 8
  %67 = alloca %"class.SimTKIpopt::SmartPtr.31", align 8
  %68 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %69 = alloca %"class.SimTKIpopt::SmartPtr.52", align 8
  %70 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %71 = alloca %"class.SimTKIpopt::SmartPtr.31", align 8
  %72 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %73 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %74 = alloca %"class.SimTKIpopt::SmartPtr.37", align 8
  %75 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %76 = alloca %"class.SimTKIpopt::SmartPtr.31", align 8
  %77 = alloca %"class.SimTKIpopt::SmartPtr.31", align 8
  %78 = alloca %"class.SimTKIpopt::SmartPtr.31", align 8
  %79 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %80 = alloca %"class.SimTKIpopt::SmartPtr.52", align 8
  %81 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %82 = alloca %"class.SimTKIpopt::SmartPtr.31", align 8
  %83 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %84 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %85 = alloca %"class.SimTKIpopt::SmartPtr.37", align 8
  %86 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %87 = alloca %"class.SimTKIpopt::SmartPtr.31", align 8
  %88 = alloca %"class.SimTKIpopt::SmartPtr.31", align 8
  %89 = alloca %"class.SimTKIpopt::SmartPtr.31", align 8
  %90 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %91 = alloca %"class.SimTKIpopt::SmartPtr.52", align 8
  %92 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %93 = alloca %"class.SimTKIpopt::SmartPtr.31", align 8
  %94 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %95 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %96 = alloca %"class.SimTKIpopt::SmartPtr.37", align 8
  %97 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %98 = alloca %"class.SimTKIpopt::SmartPtr.31", align 8
  %99 = alloca %"class.SimTKIpopt::SmartPtr.31", align 8
  %100 = alloca %"class.SimTKIpopt::SmartPtr.31", align 8
  %101 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %102 = alloca %"class.SimTKIpopt::SmartPtr.52", align 8
  %103 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %104 = alloca %"class.SimTKIpopt::SmartPtr.31", align 8
  %105 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %106 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %107 = alloca %"class.SimTKIpopt::SmartPtr.37", align 8
  %108 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %109 = alloca %"class.SimTKIpopt::SmartPtr.31", align 8
  %110 = alloca %"class.SimTKIpopt::SmartPtr.31", align 8
  %111 = alloca double, align 8
  %112 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %113 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %114 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %115 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %116 = alloca double, align 8
  %117 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %118 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %119 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %120 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %121 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %122 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %123 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %124 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %125 = alloca double, align 8
  %126 = alloca double, align 8
  %127 = alloca ptr, align 8
  %128 = alloca %"class.std::__cxx11::basic_string", align 8
  %129 = alloca %"class.std::allocator.15", align 1
  %130 = alloca %"class.std::__cxx11::basic_string", align 8
  %131 = alloca %"class.std::allocator.15", align 1
  %132 = alloca %"class.std::__cxx11::basic_string", align 8
  %133 = alloca %"class.std::allocator.15", align 1
  store ptr %0, ptr %6, align 8, !tbaa !5
  store double %1, ptr %7, align 8, !tbaa !9
  store ptr %2, ptr %8, align 8, !tbaa !5
  store ptr %3, ptr %9, align 8, !tbaa !5
  %134 = load ptr, ptr %6, align 8
  %135 = getelementptr inbounds %"class.SimTKIpopt::FilterLSAcceptor", ptr %134, i32 0, i32 15
  %136 = load i32, ptr %135, align 8, !tbaa !11
  %137 = icmp eq i32 %136, 0
  br i1 %137, label %153, label %138

138:                                              ; preds = %4
  %139 = getelementptr inbounds %"class.SimTKIpopt::FilterLSAcceptor", ptr %134, i32 0, i32 17
  %140 = load i8, ptr %139, align 8, !tbaa !31, !range !32, !noundef !33
  %141 = trunc i8 %140 to i1
  br i1 %141, label %142, label %146

142:                                              ; preds = %138
  %143 = call noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %134)
  %144 = call noundef double @_ZNK10SimTKIpopt9IpoptData11info_regu_xEv(ptr noundef nonnull align 8 dereferenceable(864) %143)
  %145 = fcmp une double %144, 0.000000e+00
  br i1 %145, label %153, label %146

146:                                              ; preds = %142, %138
  %147 = getelementptr inbounds %"class.SimTKIpopt::FilterLSAcceptor", ptr %134, i32 0, i32 18
  %148 = load i8, ptr %147, align 1, !tbaa !34, !range !32, !noundef !33
  %149 = trunc i8 %148 to i1
  br i1 %149, label %150, label %154

150:                                              ; preds = %146
  %151 = call noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %134)
  %152 = call noundef zeroext i1 @_ZNK10SimTKIpopt9IpoptData10FreeMuModeEv(ptr noundef nonnull align 8 dereferenceable(864) %151)
  br i1 %152, label %154, label %153

153:                                              ; preds = %150, %142, %4
  store i1 false, ptr %5, align 1
  br label %2036

154:                                              ; preds = %150, %146
  call void @llvm.lifetime.start.p0(i64 4, ptr %10) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %11) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %12) #7
  %155 = call noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %134)
  call void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.37") align 8 %12, ptr noundef nonnull align 8 dereferenceable(864) %155)
  %156 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %12)
          to label %157 unwind label %199

157:                                              ; preds = %154
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_LEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %11, ptr noundef nonnull align 8 dereferenceable(280) %156)
          to label %158 unwind label %199

158:                                              ; preds = %157
  %159 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %11)
          to label %160 unwind label %203

160:                                              ; preds = %158
  %161 = invoke noundef i32 @_ZNK10SimTKIpopt6Vector3DimEv(ptr noundef nonnull align 8 dereferenceable(205) %159)
          to label %162 unwind label %203

162:                                              ; preds = %160
  call void @llvm.lifetime.start.p0(i64 8, ptr %15) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %16) #7
  %163 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %134)
          to label %164 unwind label %207

164:                                              ; preds = %162
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.37") align 8 %16, ptr noundef nonnull align 8 dereferenceable(864) %163)
          to label %165 unwind label %207

165:                                              ; preds = %164
  %166 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %16)
          to label %167 unwind label %211

167:                                              ; preds = %165
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %15, ptr noundef nonnull align 8 dereferenceable(280) %166)
          to label %168 unwind label %211

168:                                              ; preds = %167
  %169 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %15)
          to label %170 unwind label %215

170:                                              ; preds = %168
  %171 = invoke noundef i32 @_ZNK10SimTKIpopt6Vector3DimEv(ptr noundef nonnull align 8 dereferenceable(205) %169)
          to label %172 unwind label %215

172:                                              ; preds = %170
  %173 = add nsw i32 %161, %171
  call void @llvm.lifetime.start.p0(i64 8, ptr %17) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %18) #7
  %174 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %134)
          to label %175 unwind label %219

175:                                              ; preds = %172
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.37") align 8 %18, ptr noundef nonnull align 8 dereferenceable(864) %174)
          to label %176 unwind label %219

176:                                              ; preds = %175
  %177 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %18)
          to label %178 unwind label %223

178:                                              ; preds = %176
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_LEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %17, ptr noundef nonnull align 8 dereferenceable(280) %177)
          to label %179 unwind label %223

179:                                              ; preds = %178
  %180 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %17)
          to label %181 unwind label %227

181:                                              ; preds = %179
  %182 = invoke noundef i32 @_ZNK10SimTKIpopt6Vector3DimEv(ptr noundef nonnull align 8 dereferenceable(205) %180)
          to label %183 unwind label %227

183:                                              ; preds = %181
  %184 = add nsw i32 %173, %182
  call void @llvm.lifetime.start.p0(i64 8, ptr %19) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %20) #7
  %185 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %134)
          to label %186 unwind label %231

186:                                              ; preds = %183
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.37") align 8 %20, ptr noundef nonnull align 8 dereferenceable(864) %185)
          to label %187 unwind label %231

187:                                              ; preds = %186
  %188 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %20)
          to label %189 unwind label %235

189:                                              ; preds = %187
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %19, ptr noundef nonnull align 8 dereferenceable(280) %188)
          to label %190 unwind label %235

190:                                              ; preds = %189
  %191 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %19)
          to label %192 unwind label %239

192:                                              ; preds = %190
  %193 = invoke noundef i32 @_ZNK10SimTKIpopt6Vector3DimEv(ptr noundef nonnull align 8 dereferenceable(205) %191)
          to label %194 unwind label %239

194:                                              ; preds = %192
  %195 = add nsw i32 %184, %193
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %19) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %20) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %20) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %17) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %18) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %18) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %17) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %15) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %16) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %16) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %15) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %11) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %12) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %12) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #7
  store i32 %195, ptr %10, align 4, !tbaa !35
  %196 = load i32, ptr %10, align 4, !tbaa !35
  %197 = icmp eq i32 %196, 0
  br i1 %197, label %198, label %253

198:                                              ; preds = %194
  store i1 false, ptr %5, align 1
  store i32 1, ptr %21, align 4
  br label %2034

199:                                              ; preds = %157, %154
  %200 = landingpad { ptr, i32 }
          cleanup
  %201 = extractvalue { ptr, i32 } %200, 0
  store ptr %201, ptr %13, align 8
  %202 = extractvalue { ptr, i32 } %200, 1
  store i32 %202, ptr %14, align 4
  br label %252

203:                                              ; preds = %160, %158
  %204 = landingpad { ptr, i32 }
          cleanup
  %205 = extractvalue { ptr, i32 } %204, 0
  store ptr %205, ptr %13, align 8
  %206 = extractvalue { ptr, i32 } %204, 1
  store i32 %206, ptr %14, align 4
  br label %251

207:                                              ; preds = %164, %162
  %208 = landingpad { ptr, i32 }
          cleanup
  %209 = extractvalue { ptr, i32 } %208, 0
  store ptr %209, ptr %13, align 8
  %210 = extractvalue { ptr, i32 } %208, 1
  store i32 %210, ptr %14, align 4
  br label %250

211:                                              ; preds = %167, %165
  %212 = landingpad { ptr, i32 }
          cleanup
  %213 = extractvalue { ptr, i32 } %212, 0
  store ptr %213, ptr %13, align 8
  %214 = extractvalue { ptr, i32 } %212, 1
  store i32 %214, ptr %14, align 4
  br label %249

215:                                              ; preds = %170, %168
  %216 = landingpad { ptr, i32 }
          cleanup
  %217 = extractvalue { ptr, i32 } %216, 0
  store ptr %217, ptr %13, align 8
  %218 = extractvalue { ptr, i32 } %216, 1
  store i32 %218, ptr %14, align 4
  br label %248

219:                                              ; preds = %175, %172
  %220 = landingpad { ptr, i32 }
          cleanup
  %221 = extractvalue { ptr, i32 } %220, 0
  store ptr %221, ptr %13, align 8
  %222 = extractvalue { ptr, i32 } %220, 1
  store i32 %222, ptr %14, align 4
  br label %247

223:                                              ; preds = %178, %176
  %224 = landingpad { ptr, i32 }
          cleanup
  %225 = extractvalue { ptr, i32 } %224, 0
  store ptr %225, ptr %13, align 8
  %226 = extractvalue { ptr, i32 } %224, 1
  store i32 %226, ptr %14, align 4
  br label %246

227:                                              ; preds = %181, %179
  %228 = landingpad { ptr, i32 }
          cleanup
  %229 = extractvalue { ptr, i32 } %228, 0
  store ptr %229, ptr %13, align 8
  %230 = extractvalue { ptr, i32 } %228, 1
  store i32 %230, ptr %14, align 4
  br label %245

231:                                              ; preds = %186, %183
  %232 = landingpad { ptr, i32 }
          cleanup
  %233 = extractvalue { ptr, i32 } %232, 0
  store ptr %233, ptr %13, align 8
  %234 = extractvalue { ptr, i32 } %232, 1
  store i32 %234, ptr %14, align 4
  br label %244

235:                                              ; preds = %189, %187
  %236 = landingpad { ptr, i32 }
          cleanup
  %237 = extractvalue { ptr, i32 } %236, 0
  store ptr %237, ptr %13, align 8
  %238 = extractvalue { ptr, i32 } %236, 1
  store i32 %238, ptr %14, align 4
  br label %243

239:                                              ; preds = %192, %190
  %240 = landingpad { ptr, i32 }
          cleanup
  %241 = extractvalue { ptr, i32 } %240, 0
  store ptr %241, ptr %13, align 8
  %242 = extractvalue { ptr, i32 } %240, 1
  store i32 %242, ptr %14, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %19) #7
  br label %243

243:                                              ; preds = %239, %235
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %20) #7
  br label %244

244:                                              ; preds = %243, %231
  call void @llvm.lifetime.end.p0(i64 8, ptr %20) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #7
  br label %245

245:                                              ; preds = %244, %227
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %17) #7
  br label %246

246:                                              ; preds = %245, %223
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %18) #7
  br label %247

247:                                              ; preds = %246, %219
  call void @llvm.lifetime.end.p0(i64 8, ptr %18) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %17) #7
  br label %248

248:                                              ; preds = %247, %215
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %15) #7
  br label %249

249:                                              ; preds = %248, %211
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %16) #7
  br label %250

250:                                              ; preds = %249, %207
  call void @llvm.lifetime.end.p0(i64 8, ptr %16) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %15) #7
  br label %251

251:                                              ; preds = %250, %203
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %11) #7
  br label %252

252:                                              ; preds = %251, %199
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %12) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %12) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #7
  br label %2035

253:                                              ; preds = %194
  %254 = call noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %134)
  %255 = call noundef nonnull align 8 dereferenceable(664) ptr @_ZN10SimTKIpopt9IpoptData11TimingStatsEv(ptr noundef nonnull align 8 dereferenceable(864) %254)
  %256 = call noundef nonnull align 8 dereferenceable(18) ptr @_ZN10SimTKIpopt16TimingStatistics12TryCorrectorEv(ptr noundef nonnull align 8 dereferenceable(664) %255)
  call void @_ZN10SimTKIpopt9TimedTask5StartEv(ptr noundef nonnull align 8 dereferenceable(18) %256)
  call void @llvm.lifetime.start.p0(i64 1, ptr %22) #7
  store i8 0, ptr %22, align 1, !tbaa !36
  call void @llvm.lifetime.start.p0(i64 8, ptr %23) #7
  %257 = load ptr, ptr %9, align 8, !tbaa !5
  %258 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %257)
  call void @_ZNK10SimTKIpopt14IteratesVector21MakeNewIteratesVectorEb(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.41") align 8 %23, ptr noundef nonnull align 8 dereferenceable(280) %258, i1 noundef zeroext true)
  %259 = getelementptr inbounds %"class.SimTKIpopt::FilterLSAcceptor", ptr %134, i32 0, i32 15
  %260 = load i32, ptr %259, align 8, !tbaa !11
  switch i32 %260, label %1668 [
    i32 1, label %261
    i32 2, label %871
  ]

261:                                              ; preds = %253
  %262 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %134)
          to label %263 unwind label %358

263:                                              ; preds = %261
  %264 = invoke noundef zeroext i1 @_ZNK10SimTKIpopt9IpoptData16HaveAffineDeltasEv(ptr noundef nonnull align 8 dereferenceable(864) %262)
          to label %265 unwind label %358

265:                                              ; preds = %263
  br i1 %264, label %453, label %266

266:                                              ; preds = %265
  %267 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5JnlstEv(ptr noundef nonnull align 8 dereferenceable(49) %134)
          to label %268 unwind label %358

268:                                              ; preds = %266
  invoke void (ptr, i32, i32, ptr, ...) @_ZNK10SimTKIpopt10Journalist6PrintfENS_13EJournalLevelENS_16EJournalCategoryEPKcz(ptr noundef nonnull align 8 dereferenceable(40) %267, i32 noundef 5, i32 noundef 8, ptr noundef @.str.92)
          to label %269 unwind label %358

269:                                              ; preds = %268
  call void @llvm.lifetime.start.p0(i64 8, ptr %24) #7
  %270 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %23)
          to label %271 unwind label %362

271:                                              ; preds = %269
  invoke void @_ZNK10SimTKIpopt14IteratesVector16MakeNewContainerEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.41") align 8 %24, ptr noundef nonnull align 8 dereferenceable(280) %270)
          to label %272 unwind label %362

272:                                              ; preds = %271
  %273 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %24)
          to label %274 unwind label %366

274:                                              ; preds = %272
  call void @llvm.lifetime.start.p0(i64 8, ptr %25) #7
  %275 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %134)
          to label %276 unwind label %370

276:                                              ; preds = %274
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities15curr_grad_lag_xEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %25, ptr noundef nonnull align 8 dereferenceable(2025) %275)
          to label %277 unwind label %370

277:                                              ; preds = %276
  %278 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %25)
          to label %279 unwind label %374

279:                                              ; preds = %277
  invoke void @_ZN10SimTKIpopt14IteratesVector5Set_xERKNS_6VectorE(ptr noundef nonnull align 8 dereferenceable(280) %273, ptr noundef nonnull align 8 dereferenceable(205) %278)
          to label %280 unwind label %374

280:                                              ; preds = %279
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %25) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #7
  %281 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %24)
          to label %282 unwind label %366

282:                                              ; preds = %280
  call void @llvm.lifetime.start.p0(i64 8, ptr %26) #7
  %283 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %134)
          to label %284 unwind label %379

284:                                              ; preds = %282
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities15curr_grad_lag_sEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %26, ptr noundef nonnull align 8 dereferenceable(2025) %283)
          to label %285 unwind label %379

285:                                              ; preds = %284
  %286 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %26)
          to label %287 unwind label %383

287:                                              ; preds = %285
  invoke void @_ZN10SimTKIpopt14IteratesVector5Set_sERKNS_6VectorE(ptr noundef nonnull align 8 dereferenceable(280) %281, ptr noundef nonnull align 8 dereferenceable(205) %286)
          to label %288 unwind label %383

288:                                              ; preds = %287
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %26) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %26) #7
  %289 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %24)
          to label %290 unwind label %366

290:                                              ; preds = %288
  call void @llvm.lifetime.start.p0(i64 8, ptr %27) #7
  %291 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %134)
          to label %292 unwind label %388

292:                                              ; preds = %290
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities6curr_cEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %27, ptr noundef nonnull align 8 dereferenceable(2025) %291)
          to label %293 unwind label %388

293:                                              ; preds = %292
  %294 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %27)
          to label %295 unwind label %392

295:                                              ; preds = %293
  invoke void @_ZN10SimTKIpopt14IteratesVector7Set_y_cERKNS_6VectorE(ptr noundef nonnull align 8 dereferenceable(280) %289, ptr noundef nonnull align 8 dereferenceable(205) %294)
          to label %296 unwind label %392

296:                                              ; preds = %295
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %27) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #7
  %297 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %24)
          to label %298 unwind label %366

298:                                              ; preds = %296
  call void @llvm.lifetime.start.p0(i64 8, ptr %28) #7
  %299 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %134)
          to label %300 unwind label %397

300:                                              ; preds = %298
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_d_minus_sEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %28, ptr noundef nonnull align 8 dereferenceable(2025) %299)
          to label %301 unwind label %397

301:                                              ; preds = %300
  %302 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %28)
          to label %303 unwind label %401

303:                                              ; preds = %301
  invoke void @_ZN10SimTKIpopt14IteratesVector7Set_y_dERKNS_6VectorE(ptr noundef nonnull align 8 dereferenceable(280) %297, ptr noundef nonnull align 8 dereferenceable(205) %302)
          to label %304 unwind label %401

304:                                              ; preds = %303
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %28) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #7
  %305 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %24)
          to label %306 unwind label %366

306:                                              ; preds = %304
  call void @llvm.lifetime.start.p0(i64 8, ptr %29) #7
  %307 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %134)
          to label %308 unwind label %406

308:                                              ; preds = %306
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_compl_x_LEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %29, ptr noundef nonnull align 8 dereferenceable(2025) %307)
          to label %309 unwind label %406

309:                                              ; preds = %308
  %310 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %29)
          to label %311 unwind label %410

311:                                              ; preds = %309
  invoke void @_ZN10SimTKIpopt14IteratesVector7Set_z_LERKNS_6VectorE(ptr noundef nonnull align 8 dereferenceable(280) %305, ptr noundef nonnull align 8 dereferenceable(205) %310)
          to label %312 unwind label %410

312:                                              ; preds = %311
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %29) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %29) #7
  %313 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %24)
          to label %314 unwind label %366

314:                                              ; preds = %312
  call void @llvm.lifetime.start.p0(i64 8, ptr %30) #7
  %315 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %134)
          to label %316 unwind label %415

316:                                              ; preds = %314
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_compl_x_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %30, ptr noundef nonnull align 8 dereferenceable(2025) %315)
          to label %317 unwind label %415

317:                                              ; preds = %316
  %318 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %30)
          to label %319 unwind label %419

319:                                              ; preds = %317
  invoke void @_ZN10SimTKIpopt14IteratesVector7Set_z_UERKNS_6VectorE(ptr noundef nonnull align 8 dereferenceable(280) %313, ptr noundef nonnull align 8 dereferenceable(205) %318)
          to label %320 unwind label %419

320:                                              ; preds = %319
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %30) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #7
  %321 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %24)
          to label %322 unwind label %366

322:                                              ; preds = %320
  call void @llvm.lifetime.start.p0(i64 8, ptr %31) #7
  %323 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %134)
          to label %324 unwind label %424

324:                                              ; preds = %322
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_compl_s_LEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %31, ptr noundef nonnull align 8 dereferenceable(2025) %323)
          to label %325 unwind label %424

325:                                              ; preds = %324
  %326 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %31)
          to label %327 unwind label %428

327:                                              ; preds = %325
  invoke void @_ZN10SimTKIpopt14IteratesVector7Set_v_LERKNS_6VectorE(ptr noundef nonnull align 8 dereferenceable(280) %321, ptr noundef nonnull align 8 dereferenceable(205) %326)
          to label %328 unwind label %428

328:                                              ; preds = %327
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %31) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #7
  %329 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %24)
          to label %330 unwind label %366

330:                                              ; preds = %328
  call void @llvm.lifetime.start.p0(i64 8, ptr %32) #7
  %331 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %134)
          to label %332 unwind label %433

332:                                              ; preds = %330
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_compl_s_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %32, ptr noundef nonnull align 8 dereferenceable(2025) %331)
          to label %333 unwind label %433

333:                                              ; preds = %332
  %334 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %32)
          to label %335 unwind label %437

335:                                              ; preds = %333
  invoke void @_ZN10SimTKIpopt14IteratesVector7Set_v_UERKNS_6VectorE(ptr noundef nonnull align 8 dereferenceable(280) %329, ptr noundef nonnull align 8 dereferenceable(205) %334)
          to label %336 unwind label %437

336:                                              ; preds = %335
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %32) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %33) #7
  %337 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %23)
          to label %338 unwind label %442

338:                                              ; preds = %336
  invoke void @_ZNK10SimTKIpopt14IteratesVector21MakeNewIteratesVectorEb(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.41") align 8 %33, ptr noundef nonnull align 8 dereferenceable(280) %337, i1 noundef zeroext true)
          to label %339 unwind label %442

339:                                              ; preds = %338
  %340 = getelementptr inbounds %"class.SimTKIpopt::FilterLSAcceptor", ptr %134, i32 0, i32 31
  %341 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14PDSystemSolverEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %340)
          to label %342 unwind label %446

342:                                              ; preds = %339
  %343 = invoke noundef nonnull align 8 dereferenceable(280) ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %24)
          to label %344 unwind label %446

344:                                              ; preds = %342
  %345 = invoke noundef nonnull align 8 dereferenceable(280) ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %33)
          to label %346 unwind label %446

346:                                              ; preds = %344
  %347 = load ptr, ptr %341, align 8, !tbaa !37
  %348 = getelementptr inbounds ptr, ptr %347, i64 3
  %349 = load ptr, ptr %348, align 8
  %350 = invoke noundef zeroext i1 %349(ptr noundef nonnull align 8 dereferenceable(49) %341, double noundef -1.000000e+00, double noundef 0.000000e+00, ptr noundef nonnull align 8 dereferenceable(280) %343, ptr noundef nonnull align 8 dereferenceable(280) %345, i1 noundef zeroext false, i1 noundef zeroext false)
          to label %351 unwind label %446

351:                                              ; preds = %346
  %352 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %134)
          to label %353 unwind label %446

353:                                              ; preds = %351
  invoke void @_ZN10SimTKIpopt9IpoptData13set_delta_affERNS_8SmartPtrINS_14IteratesVectorEEE(ptr noundef nonnull align 8 dereferenceable(864) %352, ptr noundef nonnull align 8 dereferenceable(8) %33)
          to label %354 unwind label %446

354:                                              ; preds = %353
  %355 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %134)
          to label %356 unwind label %446

356:                                              ; preds = %354
  invoke void @_ZN10SimTKIpopt9IpoptData19SetHaveAffineDeltasEb(ptr noundef nonnull align 8 dereferenceable(864) %355, i1 noundef zeroext true)
          to label %357 unwind label %446

357:                                              ; preds = %356
  call void @_ZN10SimTKIpopt8SmartPtrINS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %33) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %33) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %24) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #7
  br label %453

358:                                              ; preds = %876, %873, %871, %268, %266, %263, %261
  %359 = landingpad { ptr, i32 }
          cleanup
  %360 = extractvalue { ptr, i32 } %359, 0
  store ptr %360, ptr %13, align 8
  %361 = extractvalue { ptr, i32 } %359, 1
  store i32 %361, ptr %14, align 4
  br label %2033

362:                                              ; preds = %271, %269
  %363 = landingpad { ptr, i32 }
          cleanup
  %364 = extractvalue { ptr, i32 } %363, 0
  store ptr %364, ptr %13, align 8
  %365 = extractvalue { ptr, i32 } %363, 1
  store i32 %365, ptr %14, align 4
  br label %452

366:                                              ; preds = %328, %320, %312, %304, %296, %288, %280, %272
  %367 = landingpad { ptr, i32 }
          cleanup
  %368 = extractvalue { ptr, i32 } %367, 0
  store ptr %368, ptr %13, align 8
  %369 = extractvalue { ptr, i32 } %367, 1
  store i32 %369, ptr %14, align 4
  br label %451

370:                                              ; preds = %276, %274
  %371 = landingpad { ptr, i32 }
          cleanup
  %372 = extractvalue { ptr, i32 } %371, 0
  store ptr %372, ptr %13, align 8
  %373 = extractvalue { ptr, i32 } %371, 1
  store i32 %373, ptr %14, align 4
  br label %378

374:                                              ; preds = %279, %277
  %375 = landingpad { ptr, i32 }
          cleanup
  %376 = extractvalue { ptr, i32 } %375, 0
  store ptr %376, ptr %13, align 8
  %377 = extractvalue { ptr, i32 } %375, 1
  store i32 %377, ptr %14, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %25) #7
  br label %378

378:                                              ; preds = %374, %370
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #7
  br label %451

379:                                              ; preds = %284, %282
  %380 = landingpad { ptr, i32 }
          cleanup
  %381 = extractvalue { ptr, i32 } %380, 0
  store ptr %381, ptr %13, align 8
  %382 = extractvalue { ptr, i32 } %380, 1
  store i32 %382, ptr %14, align 4
  br label %387

383:                                              ; preds = %287, %285
  %384 = landingpad { ptr, i32 }
          cleanup
  %385 = extractvalue { ptr, i32 } %384, 0
  store ptr %385, ptr %13, align 8
  %386 = extractvalue { ptr, i32 } %384, 1
  store i32 %386, ptr %14, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %26) #7
  br label %387

387:                                              ; preds = %383, %379
  call void @llvm.lifetime.end.p0(i64 8, ptr %26) #7
  br label %451

388:                                              ; preds = %292, %290
  %389 = landingpad { ptr, i32 }
          cleanup
  %390 = extractvalue { ptr, i32 } %389, 0
  store ptr %390, ptr %13, align 8
  %391 = extractvalue { ptr, i32 } %389, 1
  store i32 %391, ptr %14, align 4
  br label %396

392:                                              ; preds = %295, %293
  %393 = landingpad { ptr, i32 }
          cleanup
  %394 = extractvalue { ptr, i32 } %393, 0
  store ptr %394, ptr %13, align 8
  %395 = extractvalue { ptr, i32 } %393, 1
  store i32 %395, ptr %14, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %27) #7
  br label %396

396:                                              ; preds = %392, %388
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #7
  br label %451

397:                                              ; preds = %300, %298
  %398 = landingpad { ptr, i32 }
          cleanup
  %399 = extractvalue { ptr, i32 } %398, 0
  store ptr %399, ptr %13, align 8
  %400 = extractvalue { ptr, i32 } %398, 1
  store i32 %400, ptr %14, align 4
  br label %405

401:                                              ; preds = %303, %301
  %402 = landingpad { ptr, i32 }
          cleanup
  %403 = extractvalue { ptr, i32 } %402, 0
  store ptr %403, ptr %13, align 8
  %404 = extractvalue { ptr, i32 } %402, 1
  store i32 %404, ptr %14, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %28) #7
  br label %405

405:                                              ; preds = %401, %397
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #7
  br label %451

406:                                              ; preds = %308, %306
  %407 = landingpad { ptr, i32 }
          cleanup
  %408 = extractvalue { ptr, i32 } %407, 0
  store ptr %408, ptr %13, align 8
  %409 = extractvalue { ptr, i32 } %407, 1
  store i32 %409, ptr %14, align 4
  br label %414

410:                                              ; preds = %311, %309
  %411 = landingpad { ptr, i32 }
          cleanup
  %412 = extractvalue { ptr, i32 } %411, 0
  store ptr %412, ptr %13, align 8
  %413 = extractvalue { ptr, i32 } %411, 1
  store i32 %413, ptr %14, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %29) #7
  br label %414

414:                                              ; preds = %410, %406
  call void @llvm.lifetime.end.p0(i64 8, ptr %29) #7
  br label %451

415:                                              ; preds = %316, %314
  %416 = landingpad { ptr, i32 }
          cleanup
  %417 = extractvalue { ptr, i32 } %416, 0
  store ptr %417, ptr %13, align 8
  %418 = extractvalue { ptr, i32 } %416, 1
  store i32 %418, ptr %14, align 4
  br label %423

419:                                              ; preds = %319, %317
  %420 = landingpad { ptr, i32 }
          cleanup
  %421 = extractvalue { ptr, i32 } %420, 0
  store ptr %421, ptr %13, align 8
  %422 = extractvalue { ptr, i32 } %420, 1
  store i32 %422, ptr %14, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %30) #7
  br label %423

423:                                              ; preds = %419, %415
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #7
  br label %451

424:                                              ; preds = %324, %322
  %425 = landingpad { ptr, i32 }
          cleanup
  %426 = extractvalue { ptr, i32 } %425, 0
  store ptr %426, ptr %13, align 8
  %427 = extractvalue { ptr, i32 } %425, 1
  store i32 %427, ptr %14, align 4
  br label %432

428:                                              ; preds = %327, %325
  %429 = landingpad { ptr, i32 }
          cleanup
  %430 = extractvalue { ptr, i32 } %429, 0
  store ptr %430, ptr %13, align 8
  %431 = extractvalue { ptr, i32 } %429, 1
  store i32 %431, ptr %14, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %31) #7
  br label %432

432:                                              ; preds = %428, %424
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #7
  br label %451

433:                                              ; preds = %332, %330
  %434 = landingpad { ptr, i32 }
          cleanup
  %435 = extractvalue { ptr, i32 } %434, 0
  store ptr %435, ptr %13, align 8
  %436 = extractvalue { ptr, i32 } %434, 1
  store i32 %436, ptr %14, align 4
  br label %441

437:                                              ; preds = %335, %333
  %438 = landingpad { ptr, i32 }
          cleanup
  %439 = extractvalue { ptr, i32 } %438, 0
  store ptr %439, ptr %13, align 8
  %440 = extractvalue { ptr, i32 } %438, 1
  store i32 %440, ptr %14, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %32) #7
  br label %441

441:                                              ; preds = %437, %433
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #7
  br label %451

442:                                              ; preds = %338, %336
  %443 = landingpad { ptr, i32 }
          cleanup
  %444 = extractvalue { ptr, i32 } %443, 0
  store ptr %444, ptr %13, align 8
  %445 = extractvalue { ptr, i32 } %443, 1
  store i32 %445, ptr %14, align 4
  br label %450

446:                                              ; preds = %356, %354, %353, %351, %346, %344, %342, %339
  %447 = landingpad { ptr, i32 }
          cleanup
  %448 = extractvalue { ptr, i32 } %447, 0
  store ptr %448, ptr %13, align 8
  %449 = extractvalue { ptr, i32 } %447, 1
  store i32 %449, ptr %14, align 4
  call void @_ZN10SimTKIpopt8SmartPtrINS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %33) #7
  br label %450

450:                                              ; preds = %446, %442
  call void @llvm.lifetime.end.p0(i64 8, ptr %33) #7
  br label %451

451:                                              ; preds = %450, %441, %432, %423, %414, %405, %396, %387, %378, %366
  call void @_ZN10SimTKIpopt8SmartPtrINS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %24) #7
  br label %452

452:                                              ; preds = %451, %362
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #7
  br label %2033

453:                                              ; preds = %357, %265
  call void @llvm.lifetime.start.p0(i64 8, ptr %34) #7
  %454 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %134)
          to label %455 unwind label %623

455:                                              ; preds = %453
  invoke void @_ZNK10SimTKIpopt9IpoptData9delta_affEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.37") align 8 %34, ptr noundef nonnull align 8 dereferenceable(864) %454)
          to label %456 unwind label %623

456:                                              ; preds = %455
  %457 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %23)
          to label %458 unwind label %627

458:                                              ; preds = %456
  %459 = load ptr, ptr %9, align 8, !tbaa !5
  %460 = invoke noundef nonnull align 8 dereferenceable(280) ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %459)
          to label %461 unwind label %627

461:                                              ; preds = %458
  invoke void @_ZN10SimTKIpopt6Vector4CopyERKS0_(ptr noundef nonnull align 8 dereferenceable(205) %457, ptr noundef nonnull align 8 dereferenceable(205) %460)
          to label %462 unwind label %627

462:                                              ; preds = %461
  call void @llvm.lifetime.start.p0(i64 8, ptr %35) #7
  %463 = load ptr, ptr %9, align 8, !tbaa !5
  %464 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %463)
          to label %465 unwind label %631

465:                                              ; preds = %462
  invoke void @_ZNK10SimTKIpopt14IteratesVector21MakeNewIteratesVectorEb(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.41") align 8 %35, ptr noundef nonnull align 8 dereferenceable(280) %464, i1 noundef zeroext true)
          to label %466 unwind label %631

466:                                              ; preds = %465
  call void @llvm.lifetime.start.p0(i64 8, ptr %36) #7
  %467 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %35)
          to label %468 unwind label %635

468:                                              ; preds = %466
  invoke void @_ZN10SimTKIpopt14IteratesVector10x_NonConstEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8 %36, ptr noundef nonnull align 8 dereferenceable(280) %467)
          to label %469 unwind label %635

469:                                              ; preds = %468
  %470 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %36)
          to label %471 unwind label %639

471:                                              ; preds = %469
  invoke void @_ZN10SimTKIpopt6Vector3SetEd(ptr noundef nonnull align 8 dereferenceable(205) %470, double noundef 0.000000e+00)
          to label %472 unwind label %639

472:                                              ; preds = %471
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %36) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %37) #7
  %473 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %35)
          to label %474 unwind label %644

474:                                              ; preds = %472
  invoke void @_ZN10SimTKIpopt14IteratesVector10s_NonConstEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8 %37, ptr noundef nonnull align 8 dereferenceable(280) %473)
          to label %475 unwind label %644

475:                                              ; preds = %474
  %476 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %37)
          to label %477 unwind label %648

477:                                              ; preds = %475
  invoke void @_ZN10SimTKIpopt6Vector3SetEd(ptr noundef nonnull align 8 dereferenceable(205) %476, double noundef 0.000000e+00)
          to label %478 unwind label %648

478:                                              ; preds = %477
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %37) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %38) #7
  %479 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %35)
          to label %480 unwind label %653

480:                                              ; preds = %478
  invoke void @_ZN10SimTKIpopt14IteratesVector12y_c_NonConstEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8 %38, ptr noundef nonnull align 8 dereferenceable(280) %479)
          to label %481 unwind label %653

481:                                              ; preds = %480
  %482 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %38)
          to label %483 unwind label %657

483:                                              ; preds = %481
  invoke void @_ZN10SimTKIpopt6Vector3SetEd(ptr noundef nonnull align 8 dereferenceable(205) %482, double noundef 0.000000e+00)
          to label %484 unwind label %657

484:                                              ; preds = %483
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %38) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %38) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %39) #7
  %485 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %35)
          to label %486 unwind label %662

486:                                              ; preds = %484
  invoke void @_ZN10SimTKIpopt14IteratesVector12y_d_NonConstEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8 %39, ptr noundef nonnull align 8 dereferenceable(280) %485)
          to label %487 unwind label %662

487:                                              ; preds = %486
  %488 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %39)
          to label %489 unwind label %666

489:                                              ; preds = %487
  invoke void @_ZN10SimTKIpopt6Vector3SetEd(ptr noundef nonnull align 8 dereferenceable(205) %488, double noundef 0.000000e+00)
          to label %490 unwind label %666

490:                                              ; preds = %489
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %39) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %39) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %40) #7
  %491 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %134)
          to label %492 unwind label %671

492:                                              ; preds = %490
  %493 = load ptr, ptr %491, align 8, !tbaa !37
  %494 = getelementptr inbounds ptr, ptr %493, i64 13
  %495 = load ptr, ptr %494, align 8
  invoke void %495(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.52") align 8 %40, ptr noundef nonnull align 8 dereferenceable(24) %491)
          to label %496 unwind label %671

496:                                              ; preds = %492
  %497 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6MatrixEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %40)
          to label %498 unwind label %675

498:                                              ; preds = %496
  call void @llvm.lifetime.start.p0(i64 8, ptr %41) #7
  %499 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %34)
          to label %500 unwind label %679

500:                                              ; preds = %498
  invoke void @_ZNK10SimTKIpopt14IteratesVector1xEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %41, ptr noundef nonnull align 8 dereferenceable(280) %499)
          to label %501 unwind label %679

501:                                              ; preds = %500
  %502 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %41)
          to label %503 unwind label %683

503:                                              ; preds = %501
  call void @llvm.lifetime.start.p0(i64 8, ptr %42) #7
  %504 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %35)
          to label %505 unwind label %687

505:                                              ; preds = %503
  invoke void @_ZN10SimTKIpopt14IteratesVector12z_L_NonConstEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8 %42, ptr noundef nonnull align 8 dereferenceable(280) %504)
          to label %506 unwind label %687

506:                                              ; preds = %505
  %507 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %42)
          to label %508 unwind label %691

508:                                              ; preds = %506
  invoke void @_ZNK10SimTKIpopt6Matrix15TransMultVectorEdRKNS_6VectorEdRS1_(ptr noundef nonnull align 8 dereferenceable(69) %497, double noundef -1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %502, double noundef 0.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %507)
          to label %509 unwind label %691

509:                                              ; preds = %508
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %42) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %42) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %41) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %41) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %40) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %43) #7
  %510 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %35)
          to label %511 unwind label %700

511:                                              ; preds = %509
  invoke void @_ZN10SimTKIpopt14IteratesVector12z_L_NonConstEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8 %43, ptr noundef nonnull align 8 dereferenceable(280) %510)
          to label %512 unwind label %700

512:                                              ; preds = %511
  %513 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %43)
          to label %514 unwind label %704

514:                                              ; preds = %512
  call void @llvm.lifetime.start.p0(i64 8, ptr %44) #7
  %515 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %34)
          to label %516 unwind label %708

516:                                              ; preds = %514
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_LEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %44, ptr noundef nonnull align 8 dereferenceable(280) %515)
          to label %517 unwind label %708

517:                                              ; preds = %516
  %518 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %44)
          to label %519 unwind label %712

519:                                              ; preds = %517
  invoke void @_ZN10SimTKIpopt6Vector19ElementWiseMultiplyERKS0_(ptr noundef nonnull align 8 dereferenceable(205) %513, ptr noundef nonnull align 8 dereferenceable(205) %518)
          to label %520 unwind label %712

520:                                              ; preds = %519
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %44) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %44) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %43) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %43) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %45) #7
  %521 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %134)
          to label %522 unwind label %719

522:                                              ; preds = %520
  %523 = load ptr, ptr %521, align 8, !tbaa !37
  %524 = getelementptr inbounds ptr, ptr %523, i64 15
  %525 = load ptr, ptr %524, align 8
  invoke void %525(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.52") align 8 %45, ptr noundef nonnull align 8 dereferenceable(24) %521)
          to label %526 unwind label %719

526:                                              ; preds = %522
  %527 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6MatrixEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %45)
          to label %528 unwind label %723

528:                                              ; preds = %526
  call void @llvm.lifetime.start.p0(i64 8, ptr %46) #7
  %529 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %34)
          to label %530 unwind label %727

530:                                              ; preds = %528
  invoke void @_ZNK10SimTKIpopt14IteratesVector1xEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %46, ptr noundef nonnull align 8 dereferenceable(280) %529)
          to label %531 unwind label %727

531:                                              ; preds = %530
  %532 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %46)
          to label %533 unwind label %731

533:                                              ; preds = %531
  call void @llvm.lifetime.start.p0(i64 8, ptr %47) #7
  %534 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %35)
          to label %535 unwind label %735

535:                                              ; preds = %533
  invoke void @_ZN10SimTKIpopt14IteratesVector12z_U_NonConstEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8 %47, ptr noundef nonnull align 8 dereferenceable(280) %534)
          to label %536 unwind label %735

536:                                              ; preds = %535
  %537 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %47)
          to label %538 unwind label %739

538:                                              ; preds = %536
  invoke void @_ZNK10SimTKIpopt6Matrix15TransMultVectorEdRKNS_6VectorEdRS1_(ptr noundef nonnull align 8 dereferenceable(69) %527, double noundef 1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %532, double noundef 0.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %537)
          to label %539 unwind label %739

539:                                              ; preds = %538
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %47) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %47) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %46) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %45) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %48) #7
  %540 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %35)
          to label %541 unwind label %748

541:                                              ; preds = %539
  invoke void @_ZN10SimTKIpopt14IteratesVector12z_U_NonConstEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8 %48, ptr noundef nonnull align 8 dereferenceable(280) %540)
          to label %542 unwind label %748

542:                                              ; preds = %541
  %543 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %48)
          to label %544 unwind label %752

544:                                              ; preds = %542
  call void @llvm.lifetime.start.p0(i64 8, ptr %49) #7
  %545 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %34)
          to label %546 unwind label %756

546:                                              ; preds = %544
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %49, ptr noundef nonnull align 8 dereferenceable(280) %545)
          to label %547 unwind label %756

547:                                              ; preds = %546
  %548 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %49)
          to label %549 unwind label %760

549:                                              ; preds = %547
  invoke void @_ZN10SimTKIpopt6Vector19ElementWiseMultiplyERKS0_(ptr noundef nonnull align 8 dereferenceable(205) %543, ptr noundef nonnull align 8 dereferenceable(205) %548)
          to label %550 unwind label %760

550:                                              ; preds = %549
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %49) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %49) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %48) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %48) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %50) #7
  %551 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %134)
          to label %552 unwind label %767

552:                                              ; preds = %550
  %553 = load ptr, ptr %551, align 8, !tbaa !37
  %554 = getelementptr inbounds ptr, ptr %553, i64 17
  %555 = load ptr, ptr %554, align 8
  invoke void %555(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.52") align 8 %50, ptr noundef nonnull align 8 dereferenceable(24) %551)
          to label %556 unwind label %767

556:                                              ; preds = %552
  %557 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6MatrixEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %50)
          to label %558 unwind label %771

558:                                              ; preds = %556
  call void @llvm.lifetime.start.p0(i64 8, ptr %51) #7
  %559 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %34)
          to label %560 unwind label %775

560:                                              ; preds = %558
  invoke void @_ZNK10SimTKIpopt14IteratesVector1sEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %51, ptr noundef nonnull align 8 dereferenceable(280) %559)
          to label %561 unwind label %775

561:                                              ; preds = %560
  %562 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %51)
          to label %563 unwind label %779

563:                                              ; preds = %561
  call void @llvm.lifetime.start.p0(i64 8, ptr %52) #7
  %564 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %35)
          to label %565 unwind label %783

565:                                              ; preds = %563
  invoke void @_ZN10SimTKIpopt14IteratesVector12v_L_NonConstEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8 %52, ptr noundef nonnull align 8 dereferenceable(280) %564)
          to label %566 unwind label %783

566:                                              ; preds = %565
  %567 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %52)
          to label %568 unwind label %787

568:                                              ; preds = %566
  invoke void @_ZNK10SimTKIpopt6Matrix15TransMultVectorEdRKNS_6VectorEdRS1_(ptr noundef nonnull align 8 dereferenceable(69) %557, double noundef -1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %562, double noundef 0.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %567)
          to label %569 unwind label %787

569:                                              ; preds = %568
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %52) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %52) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %51) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %51) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %50) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %50) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %53) #7
  %570 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %35)
          to label %571 unwind label %796

571:                                              ; preds = %569
  invoke void @_ZN10SimTKIpopt14IteratesVector12v_L_NonConstEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8 %53, ptr noundef nonnull align 8 dereferenceable(280) %570)
          to label %572 unwind label %796

572:                                              ; preds = %571
  %573 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %53)
          to label %574 unwind label %800

574:                                              ; preds = %572
  call void @llvm.lifetime.start.p0(i64 8, ptr %54) #7
  %575 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %34)
          to label %576 unwind label %804

576:                                              ; preds = %574
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_LEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %54, ptr noundef nonnull align 8 dereferenceable(280) %575)
          to label %577 unwind label %804

577:                                              ; preds = %576
  %578 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %54)
          to label %579 unwind label %808

579:                                              ; preds = %577
  invoke void @_ZN10SimTKIpopt6Vector19ElementWiseMultiplyERKS0_(ptr noundef nonnull align 8 dereferenceable(205) %573, ptr noundef nonnull align 8 dereferenceable(205) %578)
          to label %580 unwind label %808

580:                                              ; preds = %579
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %54) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %54) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %53) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %53) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %55) #7
  %581 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %134)
          to label %582 unwind label %815

582:                                              ; preds = %580
  %583 = load ptr, ptr %581, align 8, !tbaa !37
  %584 = getelementptr inbounds ptr, ptr %583, i64 19
  %585 = load ptr, ptr %584, align 8
  invoke void %585(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.52") align 8 %55, ptr noundef nonnull align 8 dereferenceable(24) %581)
          to label %586 unwind label %815

586:                                              ; preds = %582
  %587 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6MatrixEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %55)
          to label %588 unwind label %819

588:                                              ; preds = %586
  call void @llvm.lifetime.start.p0(i64 8, ptr %56) #7
  %589 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %34)
          to label %590 unwind label %823

590:                                              ; preds = %588
  invoke void @_ZNK10SimTKIpopt14IteratesVector1sEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %56, ptr noundef nonnull align 8 dereferenceable(280) %589)
          to label %591 unwind label %823

591:                                              ; preds = %590
  %592 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %56)
          to label %593 unwind label %827

593:                                              ; preds = %591
  call void @llvm.lifetime.start.p0(i64 8, ptr %57) #7
  %594 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %35)
          to label %595 unwind label %831

595:                                              ; preds = %593
  invoke void @_ZN10SimTKIpopt14IteratesVector12v_U_NonConstEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8 %57, ptr noundef nonnull align 8 dereferenceable(280) %594)
          to label %596 unwind label %831

596:                                              ; preds = %595
  %597 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %57)
          to label %598 unwind label %835

598:                                              ; preds = %596
  invoke void @_ZNK10SimTKIpopt6Matrix15TransMultVectorEdRKNS_6VectorEdRS1_(ptr noundef nonnull align 8 dereferenceable(69) %587, double noundef 1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %592, double noundef 0.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %597)
          to label %599 unwind label %835

599:                                              ; preds = %598
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %57) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %57) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %56) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %56) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %55) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %55) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %58) #7
  %600 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %35)
          to label %601 unwind label %844

601:                                              ; preds = %599
  invoke void @_ZN10SimTKIpopt14IteratesVector12v_U_NonConstEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8 %58, ptr noundef nonnull align 8 dereferenceable(280) %600)
          to label %602 unwind label %844

602:                                              ; preds = %601
  %603 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %58)
          to label %604 unwind label %848

604:                                              ; preds = %602
  call void @llvm.lifetime.start.p0(i64 8, ptr %59) #7
  %605 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %34)
          to label %606 unwind label %852

606:                                              ; preds = %604
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %59, ptr noundef nonnull align 8 dereferenceable(280) %605)
          to label %607 unwind label %852

607:                                              ; preds = %606
  %608 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %59)
          to label %609 unwind label %856

609:                                              ; preds = %607
  invoke void @_ZN10SimTKIpopt6Vector19ElementWiseMultiplyERKS0_(ptr noundef nonnull align 8 dereferenceable(205) %603, ptr noundef nonnull align 8 dereferenceable(205) %608)
          to label %610 unwind label %856

610:                                              ; preds = %609
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %59) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %59) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %58) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %58) #7
  %611 = getelementptr inbounds %"class.SimTKIpopt::FilterLSAcceptor", ptr %134, i32 0, i32 31
  %612 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14PDSystemSolverEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %611)
          to label %613 unwind label %863

613:                                              ; preds = %610
  %614 = invoke noundef nonnull align 8 dereferenceable(280) ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %35)
          to label %615 unwind label %863

615:                                              ; preds = %613
  %616 = invoke noundef nonnull align 8 dereferenceable(280) ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %23)
          to label %617 unwind label %863

617:                                              ; preds = %615
  %618 = load ptr, ptr %612, align 8, !tbaa !37
  %619 = getelementptr inbounds ptr, ptr %618, i64 3
  %620 = load ptr, ptr %619, align 8
  %621 = invoke noundef zeroext i1 %620(ptr noundef nonnull align 8 dereferenceable(49) %612, double noundef 1.000000e+00, double noundef 1.000000e+00, ptr noundef nonnull align 8 dereferenceable(280) %614, ptr noundef nonnull align 8 dereferenceable(280) %616, i1 noundef zeroext true, i1 noundef zeroext false)
          to label %622 unwind label %863

622:                                              ; preds = %617
  call void @_ZN10SimTKIpopt8SmartPtrINS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %35) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %35) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %34) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %34) #7
  br label %1669

623:                                              ; preds = %455, %453
  %624 = landingpad { ptr, i32 }
          cleanup
  %625 = extractvalue { ptr, i32 } %624, 0
  store ptr %625, ptr %13, align 8
  %626 = extractvalue { ptr, i32 } %624, 1
  store i32 %626, ptr %14, align 4
  br label %870

627:                                              ; preds = %461, %458, %456
  %628 = landingpad { ptr, i32 }
          cleanup
  %629 = extractvalue { ptr, i32 } %628, 0
  store ptr %629, ptr %13, align 8
  %630 = extractvalue { ptr, i32 } %628, 1
  store i32 %630, ptr %14, align 4
  br label %869

631:                                              ; preds = %465, %462
  %632 = landingpad { ptr, i32 }
          cleanup
  %633 = extractvalue { ptr, i32 } %632, 0
  store ptr %633, ptr %13, align 8
  %634 = extractvalue { ptr, i32 } %632, 1
  store i32 %634, ptr %14, align 4
  br label %868

635:                                              ; preds = %468, %466
  %636 = landingpad { ptr, i32 }
          cleanup
  %637 = extractvalue { ptr, i32 } %636, 0
  store ptr %637, ptr %13, align 8
  %638 = extractvalue { ptr, i32 } %636, 1
  store i32 %638, ptr %14, align 4
  br label %643

639:                                              ; preds = %471, %469
  %640 = landingpad { ptr, i32 }
          cleanup
  %641 = extractvalue { ptr, i32 } %640, 0
  store ptr %641, ptr %13, align 8
  %642 = extractvalue { ptr, i32 } %640, 1
  store i32 %642, ptr %14, align 4
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %36) #7
  br label %643

643:                                              ; preds = %639, %635
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #7
  br label %867

644:                                              ; preds = %474, %472
  %645 = landingpad { ptr, i32 }
          cleanup
  %646 = extractvalue { ptr, i32 } %645, 0
  store ptr %646, ptr %13, align 8
  %647 = extractvalue { ptr, i32 } %645, 1
  store i32 %647, ptr %14, align 4
  br label %652

648:                                              ; preds = %477, %475
  %649 = landingpad { ptr, i32 }
          cleanup
  %650 = extractvalue { ptr, i32 } %649, 0
  store ptr %650, ptr %13, align 8
  %651 = extractvalue { ptr, i32 } %649, 1
  store i32 %651, ptr %14, align 4
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %37) #7
  br label %652

652:                                              ; preds = %648, %644
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #7
  br label %867

653:                                              ; preds = %480, %478
  %654 = landingpad { ptr, i32 }
          cleanup
  %655 = extractvalue { ptr, i32 } %654, 0
  store ptr %655, ptr %13, align 8
  %656 = extractvalue { ptr, i32 } %654, 1
  store i32 %656, ptr %14, align 4
  br label %661

657:                                              ; preds = %483, %481
  %658 = landingpad { ptr, i32 }
          cleanup
  %659 = extractvalue { ptr, i32 } %658, 0
  store ptr %659, ptr %13, align 8
  %660 = extractvalue { ptr, i32 } %658, 1
  store i32 %660, ptr %14, align 4
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %38) #7
  br label %661

661:                                              ; preds = %657, %653
  call void @llvm.lifetime.end.p0(i64 8, ptr %38) #7
  br label %867

662:                                              ; preds = %486, %484
  %663 = landingpad { ptr, i32 }
          cleanup
  %664 = extractvalue { ptr, i32 } %663, 0
  store ptr %664, ptr %13, align 8
  %665 = extractvalue { ptr, i32 } %663, 1
  store i32 %665, ptr %14, align 4
  br label %670

666:                                              ; preds = %489, %487
  %667 = landingpad { ptr, i32 }
          cleanup
  %668 = extractvalue { ptr, i32 } %667, 0
  store ptr %668, ptr %13, align 8
  %669 = extractvalue { ptr, i32 } %667, 1
  store i32 %669, ptr %14, align 4
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %39) #7
  br label %670

670:                                              ; preds = %666, %662
  call void @llvm.lifetime.end.p0(i64 8, ptr %39) #7
  br label %867

671:                                              ; preds = %492, %490
  %672 = landingpad { ptr, i32 }
          cleanup
  %673 = extractvalue { ptr, i32 } %672, 0
  store ptr %673, ptr %13, align 8
  %674 = extractvalue { ptr, i32 } %672, 1
  store i32 %674, ptr %14, align 4
  br label %699

675:                                              ; preds = %496
  %676 = landingpad { ptr, i32 }
          cleanup
  %677 = extractvalue { ptr, i32 } %676, 0
  store ptr %677, ptr %13, align 8
  %678 = extractvalue { ptr, i32 } %676, 1
  store i32 %678, ptr %14, align 4
  br label %698

679:                                              ; preds = %500, %498
  %680 = landingpad { ptr, i32 }
          cleanup
  %681 = extractvalue { ptr, i32 } %680, 0
  store ptr %681, ptr %13, align 8
  %682 = extractvalue { ptr, i32 } %680, 1
  store i32 %682, ptr %14, align 4
  br label %697

683:                                              ; preds = %501
  %684 = landingpad { ptr, i32 }
          cleanup
  %685 = extractvalue { ptr, i32 } %684, 0
  store ptr %685, ptr %13, align 8
  %686 = extractvalue { ptr, i32 } %684, 1
  store i32 %686, ptr %14, align 4
  br label %696

687:                                              ; preds = %505, %503
  %688 = landingpad { ptr, i32 }
          cleanup
  %689 = extractvalue { ptr, i32 } %688, 0
  store ptr %689, ptr %13, align 8
  %690 = extractvalue { ptr, i32 } %688, 1
  store i32 %690, ptr %14, align 4
  br label %695

691:                                              ; preds = %508, %506
  %692 = landingpad { ptr, i32 }
          cleanup
  %693 = extractvalue { ptr, i32 } %692, 0
  store ptr %693, ptr %13, align 8
  %694 = extractvalue { ptr, i32 } %692, 1
  store i32 %694, ptr %14, align 4
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %42) #7
  br label %695

695:                                              ; preds = %691, %687
  call void @llvm.lifetime.end.p0(i64 8, ptr %42) #7
  br label %696

696:                                              ; preds = %695, %683
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %41) #7
  br label %697

697:                                              ; preds = %696, %679
  call void @llvm.lifetime.end.p0(i64 8, ptr %41) #7
  br label %698

698:                                              ; preds = %697, %675
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %40) #7
  br label %699

699:                                              ; preds = %698, %671
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #7
  br label %867

700:                                              ; preds = %511, %509
  %701 = landingpad { ptr, i32 }
          cleanup
  %702 = extractvalue { ptr, i32 } %701, 0
  store ptr %702, ptr %13, align 8
  %703 = extractvalue { ptr, i32 } %701, 1
  store i32 %703, ptr %14, align 4
  br label %718

704:                                              ; preds = %512
  %705 = landingpad { ptr, i32 }
          cleanup
  %706 = extractvalue { ptr, i32 } %705, 0
  store ptr %706, ptr %13, align 8
  %707 = extractvalue { ptr, i32 } %705, 1
  store i32 %707, ptr %14, align 4
  br label %717

708:                                              ; preds = %516, %514
  %709 = landingpad { ptr, i32 }
          cleanup
  %710 = extractvalue { ptr, i32 } %709, 0
  store ptr %710, ptr %13, align 8
  %711 = extractvalue { ptr, i32 } %709, 1
  store i32 %711, ptr %14, align 4
  br label %716

712:                                              ; preds = %519, %517
  %713 = landingpad { ptr, i32 }
          cleanup
  %714 = extractvalue { ptr, i32 } %713, 0
  store ptr %714, ptr %13, align 8
  %715 = extractvalue { ptr, i32 } %713, 1
  store i32 %715, ptr %14, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %44) #7
  br label %716

716:                                              ; preds = %712, %708
  call void @llvm.lifetime.end.p0(i64 8, ptr %44) #7
  br label %717

717:                                              ; preds = %716, %704
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %43) #7
  br label %718

718:                                              ; preds = %717, %700
  call void @llvm.lifetime.end.p0(i64 8, ptr %43) #7
  br label %867

719:                                              ; preds = %522, %520
  %720 = landingpad { ptr, i32 }
          cleanup
  %721 = extractvalue { ptr, i32 } %720, 0
  store ptr %721, ptr %13, align 8
  %722 = extractvalue { ptr, i32 } %720, 1
  store i32 %722, ptr %14, align 4
  br label %747

723:                                              ; preds = %526
  %724 = landingpad { ptr, i32 }
          cleanup
  %725 = extractvalue { ptr, i32 } %724, 0
  store ptr %725, ptr %13, align 8
  %726 = extractvalue { ptr, i32 } %724, 1
  store i32 %726, ptr %14, align 4
  br label %746

727:                                              ; preds = %530, %528
  %728 = landingpad { ptr, i32 }
          cleanup
  %729 = extractvalue { ptr, i32 } %728, 0
  store ptr %729, ptr %13, align 8
  %730 = extractvalue { ptr, i32 } %728, 1
  store i32 %730, ptr %14, align 4
  br label %745

731:                                              ; preds = %531
  %732 = landingpad { ptr, i32 }
          cleanup
  %733 = extractvalue { ptr, i32 } %732, 0
  store ptr %733, ptr %13, align 8
  %734 = extractvalue { ptr, i32 } %732, 1
  store i32 %734, ptr %14, align 4
  br label %744

735:                                              ; preds = %535, %533
  %736 = landingpad { ptr, i32 }
          cleanup
  %737 = extractvalue { ptr, i32 } %736, 0
  store ptr %737, ptr %13, align 8
  %738 = extractvalue { ptr, i32 } %736, 1
  store i32 %738, ptr %14, align 4
  br label %743

739:                                              ; preds = %538, %536
  %740 = landingpad { ptr, i32 }
          cleanup
  %741 = extractvalue { ptr, i32 } %740, 0
  store ptr %741, ptr %13, align 8
  %742 = extractvalue { ptr, i32 } %740, 1
  store i32 %742, ptr %14, align 4
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %47) #7
  br label %743

743:                                              ; preds = %739, %735
  call void @llvm.lifetime.end.p0(i64 8, ptr %47) #7
  br label %744

744:                                              ; preds = %743, %731
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %46) #7
  br label %745

745:                                              ; preds = %744, %727
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #7
  br label %746

746:                                              ; preds = %745, %723
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %45) #7
  br label %747

747:                                              ; preds = %746, %719
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #7
  br label %867

748:                                              ; preds = %541, %539
  %749 = landingpad { ptr, i32 }
          cleanup
  %750 = extractvalue { ptr, i32 } %749, 0
  store ptr %750, ptr %13, align 8
  %751 = extractvalue { ptr, i32 } %749, 1
  store i32 %751, ptr %14, align 4
  br label %766

752:                                              ; preds = %542
  %753 = landingpad { ptr, i32 }
          cleanup
  %754 = extractvalue { ptr, i32 } %753, 0
  store ptr %754, ptr %13, align 8
  %755 = extractvalue { ptr, i32 } %753, 1
  store i32 %755, ptr %14, align 4
  br label %765

756:                                              ; preds = %546, %544
  %757 = landingpad { ptr, i32 }
          cleanup
  %758 = extractvalue { ptr, i32 } %757, 0
  store ptr %758, ptr %13, align 8
  %759 = extractvalue { ptr, i32 } %757, 1
  store i32 %759, ptr %14, align 4
  br label %764

760:                                              ; preds = %549, %547
  %761 = landingpad { ptr, i32 }
          cleanup
  %762 = extractvalue { ptr, i32 } %761, 0
  store ptr %762, ptr %13, align 8
  %763 = extractvalue { ptr, i32 } %761, 1
  store i32 %763, ptr %14, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %49) #7
  br label %764

764:                                              ; preds = %760, %756
  call void @llvm.lifetime.end.p0(i64 8, ptr %49) #7
  br label %765

765:                                              ; preds = %764, %752
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %48) #7
  br label %766

766:                                              ; preds = %765, %748
  call void @llvm.lifetime.end.p0(i64 8, ptr %48) #7
  br label %867

767:                                              ; preds = %552, %550
  %768 = landingpad { ptr, i32 }
          cleanup
  %769 = extractvalue { ptr, i32 } %768, 0
  store ptr %769, ptr %13, align 8
  %770 = extractvalue { ptr, i32 } %768, 1
  store i32 %770, ptr %14, align 4
  br label %795

771:                                              ; preds = %556
  %772 = landingpad { ptr, i32 }
          cleanup
  %773 = extractvalue { ptr, i32 } %772, 0
  store ptr %773, ptr %13, align 8
  %774 = extractvalue { ptr, i32 } %772, 1
  store i32 %774, ptr %14, align 4
  br label %794

775:                                              ; preds = %560, %558
  %776 = landingpad { ptr, i32 }
          cleanup
  %777 = extractvalue { ptr, i32 } %776, 0
  store ptr %777, ptr %13, align 8
  %778 = extractvalue { ptr, i32 } %776, 1
  store i32 %778, ptr %14, align 4
  br label %793

779:                                              ; preds = %561
  %780 = landingpad { ptr, i32 }
          cleanup
  %781 = extractvalue { ptr, i32 } %780, 0
  store ptr %781, ptr %13, align 8
  %782 = extractvalue { ptr, i32 } %780, 1
  store i32 %782, ptr %14, align 4
  br label %792

783:                                              ; preds = %565, %563
  %784 = landingpad { ptr, i32 }
          cleanup
  %785 = extractvalue { ptr, i32 } %784, 0
  store ptr %785, ptr %13, align 8
  %786 = extractvalue { ptr, i32 } %784, 1
  store i32 %786, ptr %14, align 4
  br label %791

787:                                              ; preds = %568, %566
  %788 = landingpad { ptr, i32 }
          cleanup
  %789 = extractvalue { ptr, i32 } %788, 0
  store ptr %789, ptr %13, align 8
  %790 = extractvalue { ptr, i32 } %788, 1
  store i32 %790, ptr %14, align 4
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %52) #7
  br label %791

791:                                              ; preds = %787, %783
  call void @llvm.lifetime.end.p0(i64 8, ptr %52) #7
  br label %792

792:                                              ; preds = %791, %779
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %51) #7
  br label %793

793:                                              ; preds = %792, %775
  call void @llvm.lifetime.end.p0(i64 8, ptr %51) #7
  br label %794

794:                                              ; preds = %793, %771
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %50) #7
  br label %795

795:                                              ; preds = %794, %767
  call void @llvm.lifetime.end.p0(i64 8, ptr %50) #7
  br label %867

796:                                              ; preds = %571, %569
  %797 = landingpad { ptr, i32 }
          cleanup
  %798 = extractvalue { ptr, i32 } %797, 0
  store ptr %798, ptr %13, align 8
  %799 = extractvalue { ptr, i32 } %797, 1
  store i32 %799, ptr %14, align 4
  br label %814

800:                                              ; preds = %572
  %801 = landingpad { ptr, i32 }
          cleanup
  %802 = extractvalue { ptr, i32 } %801, 0
  store ptr %802, ptr %13, align 8
  %803 = extractvalue { ptr, i32 } %801, 1
  store i32 %803, ptr %14, align 4
  br label %813

804:                                              ; preds = %576, %574
  %805 = landingpad { ptr, i32 }
          cleanup
  %806 = extractvalue { ptr, i32 } %805, 0
  store ptr %806, ptr %13, align 8
  %807 = extractvalue { ptr, i32 } %805, 1
  store i32 %807, ptr %14, align 4
  br label %812

808:                                              ; preds = %579, %577
  %809 = landingpad { ptr, i32 }
          cleanup
  %810 = extractvalue { ptr, i32 } %809, 0
  store ptr %810, ptr %13, align 8
  %811 = extractvalue { ptr, i32 } %809, 1
  store i32 %811, ptr %14, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %54) #7
  br label %812

812:                                              ; preds = %808, %804
  call void @llvm.lifetime.end.p0(i64 8, ptr %54) #7
  br label %813

813:                                              ; preds = %812, %800
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %53) #7
  br label %814

814:                                              ; preds = %813, %796
  call void @llvm.lifetime.end.p0(i64 8, ptr %53) #7
  br label %867

815:                                              ; preds = %582, %580
  %816 = landingpad { ptr, i32 }
          cleanup
  %817 = extractvalue { ptr, i32 } %816, 0
  store ptr %817, ptr %13, align 8
  %818 = extractvalue { ptr, i32 } %816, 1
  store i32 %818, ptr %14, align 4
  br label %843

819:                                              ; preds = %586
  %820 = landingpad { ptr, i32 }
          cleanup
  %821 = extractvalue { ptr, i32 } %820, 0
  store ptr %821, ptr %13, align 8
  %822 = extractvalue { ptr, i32 } %820, 1
  store i32 %822, ptr %14, align 4
  br label %842

823:                                              ; preds = %590, %588
  %824 = landingpad { ptr, i32 }
          cleanup
  %825 = extractvalue { ptr, i32 } %824, 0
  store ptr %825, ptr %13, align 8
  %826 = extractvalue { ptr, i32 } %824, 1
  store i32 %826, ptr %14, align 4
  br label %841

827:                                              ; preds = %591
  %828 = landingpad { ptr, i32 }
          cleanup
  %829 = extractvalue { ptr, i32 } %828, 0
  store ptr %829, ptr %13, align 8
  %830 = extractvalue { ptr, i32 } %828, 1
  store i32 %830, ptr %14, align 4
  br label %840

831:                                              ; preds = %595, %593
  %832 = landingpad { ptr, i32 }
          cleanup
  %833 = extractvalue { ptr, i32 } %832, 0
  store ptr %833, ptr %13, align 8
  %834 = extractvalue { ptr, i32 } %832, 1
  store i32 %834, ptr %14, align 4
  br label %839

835:                                              ; preds = %598, %596
  %836 = landingpad { ptr, i32 }
          cleanup
  %837 = extractvalue { ptr, i32 } %836, 0
  store ptr %837, ptr %13, align 8
  %838 = extractvalue { ptr, i32 } %836, 1
  store i32 %838, ptr %14, align 4
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %57) #7
  br label %839

839:                                              ; preds = %835, %831
  call void @llvm.lifetime.end.p0(i64 8, ptr %57) #7
  br label %840

840:                                              ; preds = %839, %827
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %56) #7
  br label %841

841:                                              ; preds = %840, %823
  call void @llvm.lifetime.end.p0(i64 8, ptr %56) #7
  br label %842

842:                                              ; preds = %841, %819
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %55) #7
  br label %843

843:                                              ; preds = %842, %815
  call void @llvm.lifetime.end.p0(i64 8, ptr %55) #7
  br label %867

844:                                              ; preds = %601, %599
  %845 = landingpad { ptr, i32 }
          cleanup
  %846 = extractvalue { ptr, i32 } %845, 0
  store ptr %846, ptr %13, align 8
  %847 = extractvalue { ptr, i32 } %845, 1
  store i32 %847, ptr %14, align 4
  br label %862

848:                                              ; preds = %602
  %849 = landingpad { ptr, i32 }
          cleanup
  %850 = extractvalue { ptr, i32 } %849, 0
  store ptr %850, ptr %13, align 8
  %851 = extractvalue { ptr, i32 } %849, 1
  store i32 %851, ptr %14, align 4
  br label %861

852:                                              ; preds = %606, %604
  %853 = landingpad { ptr, i32 }
          cleanup
  %854 = extractvalue { ptr, i32 } %853, 0
  store ptr %854, ptr %13, align 8
  %855 = extractvalue { ptr, i32 } %853, 1
  store i32 %855, ptr %14, align 4
  br label %860

856:                                              ; preds = %609, %607
  %857 = landingpad { ptr, i32 }
          cleanup
  %858 = extractvalue { ptr, i32 } %857, 0
  store ptr %858, ptr %13, align 8
  %859 = extractvalue { ptr, i32 } %857, 1
  store i32 %859, ptr %14, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %59) #7
  br label %860

860:                                              ; preds = %856, %852
  call void @llvm.lifetime.end.p0(i64 8, ptr %59) #7
  br label %861

861:                                              ; preds = %860, %848
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %58) #7
  br label %862

862:                                              ; preds = %861, %844
  call void @llvm.lifetime.end.p0(i64 8, ptr %58) #7
  br label %867

863:                                              ; preds = %617, %615, %613, %610
  %864 = landingpad { ptr, i32 }
          cleanup
  %865 = extractvalue { ptr, i32 } %864, 0
  store ptr %865, ptr %13, align 8
  %866 = extractvalue { ptr, i32 } %864, 1
  store i32 %866, ptr %14, align 4
  br label %867

867:                                              ; preds = %863, %862, %843, %814, %795, %766, %747, %718, %699, %670, %661, %652, %643
  call void @_ZN10SimTKIpopt8SmartPtrINS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %35) #7
  br label %868

868:                                              ; preds = %867, %631
  call void @llvm.lifetime.end.p0(i64 8, ptr %35) #7
  br label %869

869:                                              ; preds = %868, %627
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %34) #7
  br label %870

870:                                              ; preds = %869, %623
  call void @llvm.lifetime.end.p0(i64 8, ptr %34) #7
  br label %2033

871:                                              ; preds = %253
  %872 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %23)
          to label %873 unwind label %358

873:                                              ; preds = %871
  %874 = load ptr, ptr %9, align 8, !tbaa !5
  %875 = invoke noundef nonnull align 8 dereferenceable(280) ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %874)
          to label %876 unwind label %358

876:                                              ; preds = %873
  invoke void @_ZN10SimTKIpopt6Vector4CopyERKS0_(ptr noundef nonnull align 8 dereferenceable(205) %872, ptr noundef nonnull align 8 dereferenceable(205) %875)
          to label %877 unwind label %358

877:                                              ; preds = %876
  call void @llvm.lifetime.start.p0(i64 8, ptr %60) #7
  %878 = load ptr, ptr %9, align 8, !tbaa !5
  %879 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %878)
          to label %880 unwind label %1215

880:                                              ; preds = %877
  invoke void @_ZNK10SimTKIpopt14IteratesVector21MakeNewIteratesVectorEb(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.41") align 8 %60, ptr noundef nonnull align 8 dereferenceable(280) %879, i1 noundef zeroext true)
          to label %881 unwind label %1215

881:                                              ; preds = %880
  call void @llvm.lifetime.start.p0(i64 8, ptr %61) #7
  %882 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %60)
          to label %883 unwind label %1219

883:                                              ; preds = %881
  invoke void @_ZN10SimTKIpopt14IteratesVector10x_NonConstEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8 %61, ptr noundef nonnull align 8 dereferenceable(280) %882)
          to label %884 unwind label %1219

884:                                              ; preds = %883
  %885 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %61)
          to label %886 unwind label %1223

886:                                              ; preds = %884
  invoke void @_ZN10SimTKIpopt6Vector3SetEd(ptr noundef nonnull align 8 dereferenceable(205) %885, double noundef 0.000000e+00)
          to label %887 unwind label %1223

887:                                              ; preds = %886
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %61) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %61) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %62) #7
  %888 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %60)
          to label %889 unwind label %1228

889:                                              ; preds = %887
  invoke void @_ZN10SimTKIpopt14IteratesVector10s_NonConstEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8 %62, ptr noundef nonnull align 8 dereferenceable(280) %888)
          to label %890 unwind label %1228

890:                                              ; preds = %889
  %891 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %62)
          to label %892 unwind label %1232

892:                                              ; preds = %890
  invoke void @_ZN10SimTKIpopt6Vector3SetEd(ptr noundef nonnull align 8 dereferenceable(205) %891, double noundef 0.000000e+00)
          to label %893 unwind label %1232

893:                                              ; preds = %892
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %62) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %62) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %63) #7
  %894 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %60)
          to label %895 unwind label %1237

895:                                              ; preds = %893
  invoke void @_ZN10SimTKIpopt14IteratesVector12y_c_NonConstEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8 %63, ptr noundef nonnull align 8 dereferenceable(280) %894)
          to label %896 unwind label %1237

896:                                              ; preds = %895
  %897 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %63)
          to label %898 unwind label %1241

898:                                              ; preds = %896
  invoke void @_ZN10SimTKIpopt6Vector3SetEd(ptr noundef nonnull align 8 dereferenceable(205) %897, double noundef 0.000000e+00)
          to label %899 unwind label %1241

899:                                              ; preds = %898
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %63) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %63) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %64) #7
  %900 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %60)
          to label %901 unwind label %1246

901:                                              ; preds = %899
  invoke void @_ZN10SimTKIpopt14IteratesVector12y_d_NonConstEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8 %64, ptr noundef nonnull align 8 dereferenceable(280) %900)
          to label %902 unwind label %1246

902:                                              ; preds = %901
  %903 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %64)
          to label %904 unwind label %1250

904:                                              ; preds = %902
  invoke void @_ZN10SimTKIpopt6Vector3SetEd(ptr noundef nonnull align 8 dereferenceable(205) %903, double noundef 0.000000e+00)
          to label %905 unwind label %1250

905:                                              ; preds = %904
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %64) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %64) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %65) #7
  %906 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %134)
          to label %907 unwind label %1255

907:                                              ; preds = %905
  %908 = invoke noundef double @_ZNK10SimTKIpopt9IpoptData7curr_muEv(ptr noundef nonnull align 8 dereferenceable(864) %906)
          to label %909 unwind label %1255

909:                                              ; preds = %907
  store double %908, ptr %65, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %66) #7
  invoke void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %66)
          to label %910 unwind label %1259

910:                                              ; preds = %909
  call void @llvm.lifetime.start.p0(i64 8, ptr %67) #7
  %911 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %60)
          to label %912 unwind label %1263

912:                                              ; preds = %910
  invoke void @_ZN10SimTKIpopt14IteratesVector12z_L_NonConstEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8 %67, ptr noundef nonnull align 8 dereferenceable(280) %911)
          to label %913 unwind label %1263

913:                                              ; preds = %912
  %914 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %67)
          to label %915 unwind label %1267

915:                                              ; preds = %913
  call void @llvm.lifetime.start.p0(i64 8, ptr %68) #7
  %916 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %134)
          to label %917 unwind label %1271

917:                                              ; preds = %915
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_slack_x_LEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %68, ptr noundef nonnull align 8 dereferenceable(2025) %916)
          to label %918 unwind label %1271

918:                                              ; preds = %917
  %919 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %68)
          to label %920 unwind label %1275

920:                                              ; preds = %918
  invoke void @_ZN10SimTKIpopt6Vector4CopyERKS0_(ptr noundef nonnull align 8 dereferenceable(205) %914, ptr noundef nonnull align 8 dereferenceable(205) %919)
          to label %921 unwind label %1275

921:                                              ; preds = %920
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %68) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %68) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %67) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %67) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %69) #7
  %922 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %134)
          to label %923 unwind label %1282

923:                                              ; preds = %921
  %924 = load ptr, ptr %922, align 8, !tbaa !37
  %925 = getelementptr inbounds ptr, ptr %924, i64 13
  %926 = load ptr, ptr %925, align 8
  invoke void %926(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.52") align 8 %69, ptr noundef nonnull align 8 dereferenceable(24) %922)
          to label %927 unwind label %1282

927:                                              ; preds = %923
  %928 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6MatrixEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %69)
          to label %929 unwind label %1286

929:                                              ; preds = %927
  call void @llvm.lifetime.start.p0(i64 8, ptr %70) #7
  %930 = load ptr, ptr %9, align 8, !tbaa !5
  %931 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %930)
          to label %932 unwind label %1290

932:                                              ; preds = %929
  invoke void @_ZNK10SimTKIpopt14IteratesVector1xEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %70, ptr noundef nonnull align 8 dereferenceable(280) %931)
          to label %933 unwind label %1290

933:                                              ; preds = %932
  %934 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %70)
          to label %935 unwind label %1294

935:                                              ; preds = %933
  call void @llvm.lifetime.start.p0(i64 8, ptr %71) #7
  %936 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %60)
          to label %937 unwind label %1298

937:                                              ; preds = %935
  invoke void @_ZN10SimTKIpopt14IteratesVector12z_L_NonConstEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8 %71, ptr noundef nonnull align 8 dereferenceable(280) %936)
          to label %938 unwind label %1298

938:                                              ; preds = %937
  %939 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %71)
          to label %940 unwind label %1302

940:                                              ; preds = %938
  invoke void @_ZNK10SimTKIpopt6Matrix15TransMultVectorEdRKNS_6VectorEdRS1_(ptr noundef nonnull align 8 dereferenceable(69) %928, double noundef -1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %934, double noundef -1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %939)
          to label %941 unwind label %1302

941:                                              ; preds = %940
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %71) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %71) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %70) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %70) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %69) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %69) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %72) #7
  %942 = load ptr, ptr %9, align 8, !tbaa !5
  %943 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %942)
          to label %944 unwind label %1311

944:                                              ; preds = %941
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_LEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %72, ptr noundef nonnull align 8 dereferenceable(280) %943)
          to label %945 unwind label %1311

945:                                              ; preds = %944
  %946 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %72)
          to label %947 unwind label %1315

947:                                              ; preds = %945
  %948 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector7MakeNewEv(ptr noundef nonnull align 8 dereferenceable(205) %946)
          to label %949 unwind label %1315

949:                                              ; preds = %947
  %950 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %66, ptr noundef %948)
          to label %951 unwind label %1315

951:                                              ; preds = %949
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %72) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %72) #7
  %952 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %66)
          to label %953 unwind label %1320

953:                                              ; preds = %951
  call void @llvm.lifetime.start.p0(i64 8, ptr %73) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %74) #7
  %954 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %134)
          to label %955 unwind label %1324

955:                                              ; preds = %953
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.37") align 8 %74, ptr noundef nonnull align 8 dereferenceable(864) %954)
          to label %956 unwind label %1324

956:                                              ; preds = %955
  %957 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %74)
          to label %958 unwind label %1328

958:                                              ; preds = %956
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_LEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %73, ptr noundef nonnull align 8 dereferenceable(280) %957)
          to label %959 unwind label %1328

959:                                              ; preds = %958
  %960 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %73)
          to label %961 unwind label %1332

961:                                              ; preds = %959
  call void @llvm.lifetime.start.p0(i64 8, ptr %75) #7
  %962 = load ptr, ptr %9, align 8, !tbaa !5
  %963 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %962)
          to label %964 unwind label %1336

964:                                              ; preds = %961
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_LEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %75, ptr noundef nonnull align 8 dereferenceable(280) %963)
          to label %965 unwind label %1336

965:                                              ; preds = %964
  %966 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %75)
          to label %967 unwind label %1340

967:                                              ; preds = %965
  invoke void @_ZN10SimTKIpopt6Vector13AddTwoVectorsEdRKS0_dS2_d(ptr noundef nonnull align 8 dereferenceable(205) %952, double noundef 1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %960, double noundef 1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %966, double noundef 0.000000e+00)
          to label %968 unwind label %1340

968:                                              ; preds = %967
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %75) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %75) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %73) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %74) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %74) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %73) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %76) #7
  %969 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %60)
          to label %970 unwind label %1348

970:                                              ; preds = %968
  invoke void @_ZN10SimTKIpopt14IteratesVector12z_L_NonConstEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8 %76, ptr noundef nonnull align 8 dereferenceable(280) %969)
          to label %971 unwind label %1348

971:                                              ; preds = %970
  %972 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %76)
          to label %973 unwind label %1352

973:                                              ; preds = %971
  %974 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %66)
          to label %975 unwind label %1352

975:                                              ; preds = %973
  invoke void @_ZN10SimTKIpopt6Vector19ElementWiseMultiplyERKS0_(ptr noundef nonnull align 8 dereferenceable(205) %972, ptr noundef nonnull align 8 dereferenceable(205) %974)
          to label %976 unwind label %1352

976:                                              ; preds = %975
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %76) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %76) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %77) #7
  %977 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %60)
          to label %978 unwind label %1357

978:                                              ; preds = %976
  invoke void @_ZN10SimTKIpopt14IteratesVector12z_L_NonConstEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8 %77, ptr noundef nonnull align 8 dereferenceable(280) %977)
          to label %979 unwind label %1357

979:                                              ; preds = %978
  %980 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %77)
          to label %981 unwind label %1361

981:                                              ; preds = %979
  %982 = load double, ptr %65, align 8, !tbaa !9
  invoke void @_ZN10SimTKIpopt6Vector9AddScalarEd(ptr noundef nonnull align 8 dereferenceable(205) %980, double noundef %982)
          to label %983 unwind label %1361

983:                                              ; preds = %981
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %77) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %77) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %78) #7
  %984 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %60)
          to label %985 unwind label %1366

985:                                              ; preds = %983
  invoke void @_ZN10SimTKIpopt14IteratesVector12z_U_NonConstEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8 %78, ptr noundef nonnull align 8 dereferenceable(280) %984)
          to label %986 unwind label %1366

986:                                              ; preds = %985
  %987 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %78)
          to label %988 unwind label %1370

988:                                              ; preds = %986
  call void @llvm.lifetime.start.p0(i64 8, ptr %79) #7
  %989 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %134)
          to label %990 unwind label %1374

990:                                              ; preds = %988
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_slack_x_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %79, ptr noundef nonnull align 8 dereferenceable(2025) %989)
          to label %991 unwind label %1374

991:                                              ; preds = %990
  %992 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %79)
          to label %993 unwind label %1378

993:                                              ; preds = %991
  invoke void @_ZN10SimTKIpopt6Vector4CopyERKS0_(ptr noundef nonnull align 8 dereferenceable(205) %987, ptr noundef nonnull align 8 dereferenceable(205) %992)
          to label %994 unwind label %1378

994:                                              ; preds = %993
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %79) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %79) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %78) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %78) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %80) #7
  %995 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %134)
          to label %996 unwind label %1385

996:                                              ; preds = %994
  %997 = load ptr, ptr %995, align 8, !tbaa !37
  %998 = getelementptr inbounds ptr, ptr %997, i64 15
  %999 = load ptr, ptr %998, align 8
  invoke void %999(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.52") align 8 %80, ptr noundef nonnull align 8 dereferenceable(24) %995)
          to label %1000 unwind label %1385

1000:                                             ; preds = %996
  %1001 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6MatrixEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %80)
          to label %1002 unwind label %1389

1002:                                             ; preds = %1000
  call void @llvm.lifetime.start.p0(i64 8, ptr %81) #7
  %1003 = load ptr, ptr %9, align 8, !tbaa !5
  %1004 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1003)
          to label %1005 unwind label %1393

1005:                                             ; preds = %1002
  invoke void @_ZNK10SimTKIpopt14IteratesVector1xEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %81, ptr noundef nonnull align 8 dereferenceable(280) %1004)
          to label %1006 unwind label %1393

1006:                                             ; preds = %1005
  %1007 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %81)
          to label %1008 unwind label %1397

1008:                                             ; preds = %1006
  call void @llvm.lifetime.start.p0(i64 8, ptr %82) #7
  %1009 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %60)
          to label %1010 unwind label %1401

1010:                                             ; preds = %1008
  invoke void @_ZN10SimTKIpopt14IteratesVector12z_U_NonConstEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8 %82, ptr noundef nonnull align 8 dereferenceable(280) %1009)
          to label %1011 unwind label %1401

1011:                                             ; preds = %1010
  %1012 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %82)
          to label %1013 unwind label %1405

1013:                                             ; preds = %1011
  invoke void @_ZNK10SimTKIpopt6Matrix15TransMultVectorEdRKNS_6VectorEdRS1_(ptr noundef nonnull align 8 dereferenceable(69) %1001, double noundef 1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %1007, double noundef -1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %1012)
          to label %1014 unwind label %1405

1014:                                             ; preds = %1013
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %82) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %82) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %81) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %81) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %80) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %80) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %83) #7
  %1015 = load ptr, ptr %9, align 8, !tbaa !5
  %1016 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1015)
          to label %1017 unwind label %1414

1017:                                             ; preds = %1014
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %83, ptr noundef nonnull align 8 dereferenceable(280) %1016)
          to label %1018 unwind label %1414

1018:                                             ; preds = %1017
  %1019 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %83)
          to label %1020 unwind label %1418

1020:                                             ; preds = %1018
  %1021 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector7MakeNewEv(ptr noundef nonnull align 8 dereferenceable(205) %1019)
          to label %1022 unwind label %1418

1022:                                             ; preds = %1020
  %1023 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %66, ptr noundef %1021)
          to label %1024 unwind label %1418

1024:                                             ; preds = %1022
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %83) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %83) #7
  %1025 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %66)
          to label %1026 unwind label %1320

1026:                                             ; preds = %1024
  call void @llvm.lifetime.start.p0(i64 8, ptr %84) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %85) #7
  %1027 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %134)
          to label %1028 unwind label %1423

1028:                                             ; preds = %1026
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.37") align 8 %85, ptr noundef nonnull align 8 dereferenceable(864) %1027)
          to label %1029 unwind label %1423

1029:                                             ; preds = %1028
  %1030 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %85)
          to label %1031 unwind label %1427

1031:                                             ; preds = %1029
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %84, ptr noundef nonnull align 8 dereferenceable(280) %1030)
          to label %1032 unwind label %1427

1032:                                             ; preds = %1031
  %1033 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %84)
          to label %1034 unwind label %1431

1034:                                             ; preds = %1032
  call void @llvm.lifetime.start.p0(i64 8, ptr %86) #7
  %1035 = load ptr, ptr %9, align 8, !tbaa !5
  %1036 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1035)
          to label %1037 unwind label %1435

1037:                                             ; preds = %1034
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %86, ptr noundef nonnull align 8 dereferenceable(280) %1036)
          to label %1038 unwind label %1435

1038:                                             ; preds = %1037
  %1039 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %86)
          to label %1040 unwind label %1439

1040:                                             ; preds = %1038
  invoke void @_ZN10SimTKIpopt6Vector13AddTwoVectorsEdRKS0_dS2_d(ptr noundef nonnull align 8 dereferenceable(205) %1025, double noundef 1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %1033, double noundef 1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %1039, double noundef 0.000000e+00)
          to label %1041 unwind label %1439

1041:                                             ; preds = %1040
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %86) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %86) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %84) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %85) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %85) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %84) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %87) #7
  %1042 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %60)
          to label %1043 unwind label %1447

1043:                                             ; preds = %1041
  invoke void @_ZN10SimTKIpopt14IteratesVector12z_U_NonConstEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8 %87, ptr noundef nonnull align 8 dereferenceable(280) %1042)
          to label %1044 unwind label %1447

1044:                                             ; preds = %1043
  %1045 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %87)
          to label %1046 unwind label %1451

1046:                                             ; preds = %1044
  %1047 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %66)
          to label %1048 unwind label %1451

1048:                                             ; preds = %1046
  invoke void @_ZN10SimTKIpopt6Vector19ElementWiseMultiplyERKS0_(ptr noundef nonnull align 8 dereferenceable(205) %1045, ptr noundef nonnull align 8 dereferenceable(205) %1047)
          to label %1049 unwind label %1451

1049:                                             ; preds = %1048
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %87) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %87) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %88) #7
  %1050 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %60)
          to label %1051 unwind label %1456

1051:                                             ; preds = %1049
  invoke void @_ZN10SimTKIpopt14IteratesVector12z_U_NonConstEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8 %88, ptr noundef nonnull align 8 dereferenceable(280) %1050)
          to label %1052 unwind label %1456

1052:                                             ; preds = %1051
  %1053 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %88)
          to label %1054 unwind label %1460

1054:                                             ; preds = %1052
  %1055 = load double, ptr %65, align 8, !tbaa !9
  invoke void @_ZN10SimTKIpopt6Vector9AddScalarEd(ptr noundef nonnull align 8 dereferenceable(205) %1053, double noundef %1055)
          to label %1056 unwind label %1460

1056:                                             ; preds = %1054
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %88) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %88) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %89) #7
  %1057 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %60)
          to label %1058 unwind label %1465

1058:                                             ; preds = %1056
  invoke void @_ZN10SimTKIpopt14IteratesVector12v_L_NonConstEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8 %89, ptr noundef nonnull align 8 dereferenceable(280) %1057)
          to label %1059 unwind label %1465

1059:                                             ; preds = %1058
  %1060 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %89)
          to label %1061 unwind label %1469

1061:                                             ; preds = %1059
  call void @llvm.lifetime.start.p0(i64 8, ptr %90) #7
  %1062 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %134)
          to label %1063 unwind label %1473

1063:                                             ; preds = %1061
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_slack_s_LEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %90, ptr noundef nonnull align 8 dereferenceable(2025) %1062)
          to label %1064 unwind label %1473

1064:                                             ; preds = %1063
  %1065 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %90)
          to label %1066 unwind label %1477

1066:                                             ; preds = %1064
  invoke void @_ZN10SimTKIpopt6Vector4CopyERKS0_(ptr noundef nonnull align 8 dereferenceable(205) %1060, ptr noundef nonnull align 8 dereferenceable(205) %1065)
          to label %1067 unwind label %1477

1067:                                             ; preds = %1066
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %90) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %90) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %89) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %89) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %91) #7
  %1068 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %134)
          to label %1069 unwind label %1484

1069:                                             ; preds = %1067
  %1070 = load ptr, ptr %1068, align 8, !tbaa !37
  %1071 = getelementptr inbounds ptr, ptr %1070, i64 17
  %1072 = load ptr, ptr %1071, align 8
  invoke void %1072(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.52") align 8 %91, ptr noundef nonnull align 8 dereferenceable(24) %1068)
          to label %1073 unwind label %1484

1073:                                             ; preds = %1069
  %1074 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6MatrixEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %91)
          to label %1075 unwind label %1488

1075:                                             ; preds = %1073
  call void @llvm.lifetime.start.p0(i64 8, ptr %92) #7
  %1076 = load ptr, ptr %9, align 8, !tbaa !5
  %1077 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1076)
          to label %1078 unwind label %1492

1078:                                             ; preds = %1075
  invoke void @_ZNK10SimTKIpopt14IteratesVector1sEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %92, ptr noundef nonnull align 8 dereferenceable(280) %1077)
          to label %1079 unwind label %1492

1079:                                             ; preds = %1078
  %1080 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %92)
          to label %1081 unwind label %1496

1081:                                             ; preds = %1079
  call void @llvm.lifetime.start.p0(i64 8, ptr %93) #7
  %1082 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %60)
          to label %1083 unwind label %1500

1083:                                             ; preds = %1081
  invoke void @_ZN10SimTKIpopt14IteratesVector12v_L_NonConstEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8 %93, ptr noundef nonnull align 8 dereferenceable(280) %1082)
          to label %1084 unwind label %1500

1084:                                             ; preds = %1083
  %1085 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %93)
          to label %1086 unwind label %1504

1086:                                             ; preds = %1084
  invoke void @_ZNK10SimTKIpopt6Matrix15TransMultVectorEdRKNS_6VectorEdRS1_(ptr noundef nonnull align 8 dereferenceable(69) %1074, double noundef -1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %1080, double noundef -1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %1085)
          to label %1087 unwind label %1504

1087:                                             ; preds = %1086
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %93) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %93) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %92) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %92) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %91) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %91) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %94) #7
  %1088 = load ptr, ptr %9, align 8, !tbaa !5
  %1089 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1088)
          to label %1090 unwind label %1513

1090:                                             ; preds = %1087
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_LEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %94, ptr noundef nonnull align 8 dereferenceable(280) %1089)
          to label %1091 unwind label %1513

1091:                                             ; preds = %1090
  %1092 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %94)
          to label %1093 unwind label %1517

1093:                                             ; preds = %1091
  %1094 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector7MakeNewEv(ptr noundef nonnull align 8 dereferenceable(205) %1092)
          to label %1095 unwind label %1517

1095:                                             ; preds = %1093
  %1096 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %66, ptr noundef %1094)
          to label %1097 unwind label %1517

1097:                                             ; preds = %1095
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %94) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %94) #7
  %1098 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %66)
          to label %1099 unwind label %1320

1099:                                             ; preds = %1097
  call void @llvm.lifetime.start.p0(i64 8, ptr %95) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %96) #7
  %1100 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %134)
          to label %1101 unwind label %1522

1101:                                             ; preds = %1099
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.37") align 8 %96, ptr noundef nonnull align 8 dereferenceable(864) %1100)
          to label %1102 unwind label %1522

1102:                                             ; preds = %1101
  %1103 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %96)
          to label %1104 unwind label %1526

1104:                                             ; preds = %1102
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_LEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %95, ptr noundef nonnull align 8 dereferenceable(280) %1103)
          to label %1105 unwind label %1526

1105:                                             ; preds = %1104
  %1106 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %95)
          to label %1107 unwind label %1530

1107:                                             ; preds = %1105
  call void @llvm.lifetime.start.p0(i64 8, ptr %97) #7
  %1108 = load ptr, ptr %9, align 8, !tbaa !5
  %1109 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1108)
          to label %1110 unwind label %1534

1110:                                             ; preds = %1107
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_LEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %97, ptr noundef nonnull align 8 dereferenceable(280) %1109)
          to label %1111 unwind label %1534

1111:                                             ; preds = %1110
  %1112 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %97)
          to label %1113 unwind label %1538

1113:                                             ; preds = %1111
  invoke void @_ZN10SimTKIpopt6Vector13AddTwoVectorsEdRKS0_dS2_d(ptr noundef nonnull align 8 dereferenceable(205) %1098, double noundef 1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %1106, double noundef 1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %1112, double noundef 0.000000e+00)
          to label %1114 unwind label %1538

1114:                                             ; preds = %1113
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %97) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %97) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %95) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %96) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %96) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %95) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %98) #7
  %1115 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %60)
          to label %1116 unwind label %1546

1116:                                             ; preds = %1114
  invoke void @_ZN10SimTKIpopt14IteratesVector12v_L_NonConstEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8 %98, ptr noundef nonnull align 8 dereferenceable(280) %1115)
          to label %1117 unwind label %1546

1117:                                             ; preds = %1116
  %1118 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %98)
          to label %1119 unwind label %1550

1119:                                             ; preds = %1117
  %1120 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %66)
          to label %1121 unwind label %1550

1121:                                             ; preds = %1119
  invoke void @_ZN10SimTKIpopt6Vector19ElementWiseMultiplyERKS0_(ptr noundef nonnull align 8 dereferenceable(205) %1118, ptr noundef nonnull align 8 dereferenceable(205) %1120)
          to label %1122 unwind label %1550

1122:                                             ; preds = %1121
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %98) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %98) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %99) #7
  %1123 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %60)
          to label %1124 unwind label %1555

1124:                                             ; preds = %1122
  invoke void @_ZN10SimTKIpopt14IteratesVector12v_L_NonConstEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8 %99, ptr noundef nonnull align 8 dereferenceable(280) %1123)
          to label %1125 unwind label %1555

1125:                                             ; preds = %1124
  %1126 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %99)
          to label %1127 unwind label %1559

1127:                                             ; preds = %1125
  %1128 = load double, ptr %65, align 8, !tbaa !9
  invoke void @_ZN10SimTKIpopt6Vector9AddScalarEd(ptr noundef nonnull align 8 dereferenceable(205) %1126, double noundef %1128)
          to label %1129 unwind label %1559

1129:                                             ; preds = %1127
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %99) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %99) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %100) #7
  %1130 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %60)
          to label %1131 unwind label %1564

1131:                                             ; preds = %1129
  invoke void @_ZN10SimTKIpopt14IteratesVector12v_U_NonConstEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8 %100, ptr noundef nonnull align 8 dereferenceable(280) %1130)
          to label %1132 unwind label %1564

1132:                                             ; preds = %1131
  %1133 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %100)
          to label %1134 unwind label %1568

1134:                                             ; preds = %1132
  call void @llvm.lifetime.start.p0(i64 8, ptr %101) #7
  %1135 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %134)
          to label %1136 unwind label %1572

1136:                                             ; preds = %1134
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_slack_s_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %101, ptr noundef nonnull align 8 dereferenceable(2025) %1135)
          to label %1137 unwind label %1572

1137:                                             ; preds = %1136
  %1138 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %101)
          to label %1139 unwind label %1576

1139:                                             ; preds = %1137
  invoke void @_ZN10SimTKIpopt6Vector4CopyERKS0_(ptr noundef nonnull align 8 dereferenceable(205) %1133, ptr noundef nonnull align 8 dereferenceable(205) %1138)
          to label %1140 unwind label %1576

1140:                                             ; preds = %1139
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %101) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %101) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %100) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %100) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %102) #7
  %1141 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %134)
          to label %1142 unwind label %1583

1142:                                             ; preds = %1140
  %1143 = load ptr, ptr %1141, align 8, !tbaa !37
  %1144 = getelementptr inbounds ptr, ptr %1143, i64 19
  %1145 = load ptr, ptr %1144, align 8
  invoke void %1145(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.52") align 8 %102, ptr noundef nonnull align 8 dereferenceable(24) %1141)
          to label %1146 unwind label %1583

1146:                                             ; preds = %1142
  %1147 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6MatrixEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %102)
          to label %1148 unwind label %1587

1148:                                             ; preds = %1146
  call void @llvm.lifetime.start.p0(i64 8, ptr %103) #7
  %1149 = load ptr, ptr %9, align 8, !tbaa !5
  %1150 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1149)
          to label %1151 unwind label %1591

1151:                                             ; preds = %1148
  invoke void @_ZNK10SimTKIpopt14IteratesVector1sEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %103, ptr noundef nonnull align 8 dereferenceable(280) %1150)
          to label %1152 unwind label %1591

1152:                                             ; preds = %1151
  %1153 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %103)
          to label %1154 unwind label %1595

1154:                                             ; preds = %1152
  call void @llvm.lifetime.start.p0(i64 8, ptr %104) #7
  %1155 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %60)
          to label %1156 unwind label %1599

1156:                                             ; preds = %1154
  invoke void @_ZN10SimTKIpopt14IteratesVector12v_U_NonConstEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8 %104, ptr noundef nonnull align 8 dereferenceable(280) %1155)
          to label %1157 unwind label %1599

1157:                                             ; preds = %1156
  %1158 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %104)
          to label %1159 unwind label %1603

1159:                                             ; preds = %1157
  invoke void @_ZNK10SimTKIpopt6Matrix15TransMultVectorEdRKNS_6VectorEdRS1_(ptr noundef nonnull align 8 dereferenceable(69) %1147, double noundef 1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %1153, double noundef -1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %1158)
          to label %1160 unwind label %1603

1160:                                             ; preds = %1159
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %104) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %104) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %103) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %103) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %102) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %102) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %105) #7
  %1161 = load ptr, ptr %9, align 8, !tbaa !5
  %1162 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1161)
          to label %1163 unwind label %1612

1163:                                             ; preds = %1160
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %105, ptr noundef nonnull align 8 dereferenceable(280) %1162)
          to label %1164 unwind label %1612

1164:                                             ; preds = %1163
  %1165 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %105)
          to label %1166 unwind label %1616

1166:                                             ; preds = %1164
  %1167 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector7MakeNewEv(ptr noundef nonnull align 8 dereferenceable(205) %1165)
          to label %1168 unwind label %1616

1168:                                             ; preds = %1166
  %1169 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %66, ptr noundef %1167)
          to label %1170 unwind label %1616

1170:                                             ; preds = %1168
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %105) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %105) #7
  %1171 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %66)
          to label %1172 unwind label %1320

1172:                                             ; preds = %1170
  call void @llvm.lifetime.start.p0(i64 8, ptr %106) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %107) #7
  %1173 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %134)
          to label %1174 unwind label %1621

1174:                                             ; preds = %1172
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.37") align 8 %107, ptr noundef nonnull align 8 dereferenceable(864) %1173)
          to label %1175 unwind label %1621

1175:                                             ; preds = %1174
  %1176 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %107)
          to label %1177 unwind label %1625

1177:                                             ; preds = %1175
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %106, ptr noundef nonnull align 8 dereferenceable(280) %1176)
          to label %1178 unwind label %1625

1178:                                             ; preds = %1177
  %1179 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %106)
          to label %1180 unwind label %1629

1180:                                             ; preds = %1178
  call void @llvm.lifetime.start.p0(i64 8, ptr %108) #7
  %1181 = load ptr, ptr %9, align 8, !tbaa !5
  %1182 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1181)
          to label %1183 unwind label %1633

1183:                                             ; preds = %1180
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %108, ptr noundef nonnull align 8 dereferenceable(280) %1182)
          to label %1184 unwind label %1633

1184:                                             ; preds = %1183
  %1185 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %108)
          to label %1186 unwind label %1637

1186:                                             ; preds = %1184
  invoke void @_ZN10SimTKIpopt6Vector13AddTwoVectorsEdRKS0_dS2_d(ptr noundef nonnull align 8 dereferenceable(205) %1171, double noundef 1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %1179, double noundef 1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %1185, double noundef 0.000000e+00)
          to label %1187 unwind label %1637

1187:                                             ; preds = %1186
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %108) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %108) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %106) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %107) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %107) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %106) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %109) #7
  %1188 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %60)
          to label %1189 unwind label %1645

1189:                                             ; preds = %1187
  invoke void @_ZN10SimTKIpopt14IteratesVector12v_U_NonConstEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8 %109, ptr noundef nonnull align 8 dereferenceable(280) %1188)
          to label %1190 unwind label %1645

1190:                                             ; preds = %1189
  %1191 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %109)
          to label %1192 unwind label %1649

1192:                                             ; preds = %1190
  %1193 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %66)
          to label %1194 unwind label %1649

1194:                                             ; preds = %1192
  invoke void @_ZN10SimTKIpopt6Vector19ElementWiseMultiplyERKS0_(ptr noundef nonnull align 8 dereferenceable(205) %1191, ptr noundef nonnull align 8 dereferenceable(205) %1193)
          to label %1195 unwind label %1649

1195:                                             ; preds = %1194
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %109) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %109) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %110) #7
  %1196 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %60)
          to label %1197 unwind label %1654

1197:                                             ; preds = %1195
  invoke void @_ZN10SimTKIpopt14IteratesVector12v_U_NonConstEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8 %110, ptr noundef nonnull align 8 dereferenceable(280) %1196)
          to label %1198 unwind label %1654

1198:                                             ; preds = %1197
  %1199 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %110)
          to label %1200 unwind label %1658

1200:                                             ; preds = %1198
  %1201 = load double, ptr %65, align 8, !tbaa !9
  invoke void @_ZN10SimTKIpopt6Vector9AddScalarEd(ptr noundef nonnull align 8 dereferenceable(205) %1199, double noundef %1201)
          to label %1202 unwind label %1658

1202:                                             ; preds = %1200
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %110) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %110) #7
  %1203 = getelementptr inbounds %"class.SimTKIpopt::FilterLSAcceptor", ptr %134, i32 0, i32 31
  %1204 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14PDSystemSolverEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1203)
          to label %1205 unwind label %1320

1205:                                             ; preds = %1202
  %1206 = invoke noundef nonnull align 8 dereferenceable(280) ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %60)
          to label %1207 unwind label %1320

1207:                                             ; preds = %1205
  %1208 = invoke noundef nonnull align 8 dereferenceable(280) ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %23)
          to label %1209 unwind label %1320

1209:                                             ; preds = %1207
  %1210 = load ptr, ptr %1204, align 8, !tbaa !37
  %1211 = getelementptr inbounds ptr, ptr %1210, i64 3
  %1212 = load ptr, ptr %1211, align 8
  %1213 = invoke noundef zeroext i1 %1212(ptr noundef nonnull align 8 dereferenceable(49) %1204, double noundef 1.000000e+00, double noundef 1.000000e+00, ptr noundef nonnull align 8 dereferenceable(280) %1206, ptr noundef nonnull align 8 dereferenceable(280) %1208, i1 noundef zeroext true, i1 noundef zeroext false)
          to label %1214 unwind label %1320

1214:                                             ; preds = %1209
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %66) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %66) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %65) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %60) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %60) #7
  br label %1669

1215:                                             ; preds = %880, %877
  %1216 = landingpad { ptr, i32 }
          cleanup
  %1217 = extractvalue { ptr, i32 } %1216, 0
  store ptr %1217, ptr %13, align 8
  %1218 = extractvalue { ptr, i32 } %1216, 1
  store i32 %1218, ptr %14, align 4
  br label %1667

1219:                                             ; preds = %883, %881
  %1220 = landingpad { ptr, i32 }
          cleanup
  %1221 = extractvalue { ptr, i32 } %1220, 0
  store ptr %1221, ptr %13, align 8
  %1222 = extractvalue { ptr, i32 } %1220, 1
  store i32 %1222, ptr %14, align 4
  br label %1227

1223:                                             ; preds = %886, %884
  %1224 = landingpad { ptr, i32 }
          cleanup
  %1225 = extractvalue { ptr, i32 } %1224, 0
  store ptr %1225, ptr %13, align 8
  %1226 = extractvalue { ptr, i32 } %1224, 1
  store i32 %1226, ptr %14, align 4
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %61) #7
  br label %1227

1227:                                             ; preds = %1223, %1219
  call void @llvm.lifetime.end.p0(i64 8, ptr %61) #7
  br label %1666

1228:                                             ; preds = %889, %887
  %1229 = landingpad { ptr, i32 }
          cleanup
  %1230 = extractvalue { ptr, i32 } %1229, 0
  store ptr %1230, ptr %13, align 8
  %1231 = extractvalue { ptr, i32 } %1229, 1
  store i32 %1231, ptr %14, align 4
  br label %1236

1232:                                             ; preds = %892, %890
  %1233 = landingpad { ptr, i32 }
          cleanup
  %1234 = extractvalue { ptr, i32 } %1233, 0
  store ptr %1234, ptr %13, align 8
  %1235 = extractvalue { ptr, i32 } %1233, 1
  store i32 %1235, ptr %14, align 4
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %62) #7
  br label %1236

1236:                                             ; preds = %1232, %1228
  call void @llvm.lifetime.end.p0(i64 8, ptr %62) #7
  br label %1666

1237:                                             ; preds = %895, %893
  %1238 = landingpad { ptr, i32 }
          cleanup
  %1239 = extractvalue { ptr, i32 } %1238, 0
  store ptr %1239, ptr %13, align 8
  %1240 = extractvalue { ptr, i32 } %1238, 1
  store i32 %1240, ptr %14, align 4
  br label %1245

1241:                                             ; preds = %898, %896
  %1242 = landingpad { ptr, i32 }
          cleanup
  %1243 = extractvalue { ptr, i32 } %1242, 0
  store ptr %1243, ptr %13, align 8
  %1244 = extractvalue { ptr, i32 } %1242, 1
  store i32 %1244, ptr %14, align 4
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %63) #7
  br label %1245

1245:                                             ; preds = %1241, %1237
  call void @llvm.lifetime.end.p0(i64 8, ptr %63) #7
  br label %1666

1246:                                             ; preds = %901, %899
  %1247 = landingpad { ptr, i32 }
          cleanup
  %1248 = extractvalue { ptr, i32 } %1247, 0
  store ptr %1248, ptr %13, align 8
  %1249 = extractvalue { ptr, i32 } %1247, 1
  store i32 %1249, ptr %14, align 4
  br label %1254

1250:                                             ; preds = %904, %902
  %1251 = landingpad { ptr, i32 }
          cleanup
  %1252 = extractvalue { ptr, i32 } %1251, 0
  store ptr %1252, ptr %13, align 8
  %1253 = extractvalue { ptr, i32 } %1251, 1
  store i32 %1253, ptr %14, align 4
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %64) #7
  br label %1254

1254:                                             ; preds = %1250, %1246
  call void @llvm.lifetime.end.p0(i64 8, ptr %64) #7
  br label %1666

1255:                                             ; preds = %907, %905
  %1256 = landingpad { ptr, i32 }
          cleanup
  %1257 = extractvalue { ptr, i32 } %1256, 0
  store ptr %1257, ptr %13, align 8
  %1258 = extractvalue { ptr, i32 } %1256, 1
  store i32 %1258, ptr %14, align 4
  br label %1665

1259:                                             ; preds = %909
  %1260 = landingpad { ptr, i32 }
          cleanup
  %1261 = extractvalue { ptr, i32 } %1260, 0
  store ptr %1261, ptr %13, align 8
  %1262 = extractvalue { ptr, i32 } %1260, 1
  store i32 %1262, ptr %14, align 4
  br label %1664

1263:                                             ; preds = %912, %910
  %1264 = landingpad { ptr, i32 }
          cleanup
  %1265 = extractvalue { ptr, i32 } %1264, 0
  store ptr %1265, ptr %13, align 8
  %1266 = extractvalue { ptr, i32 } %1264, 1
  store i32 %1266, ptr %14, align 4
  br label %1281

1267:                                             ; preds = %913
  %1268 = landingpad { ptr, i32 }
          cleanup
  %1269 = extractvalue { ptr, i32 } %1268, 0
  store ptr %1269, ptr %13, align 8
  %1270 = extractvalue { ptr, i32 } %1268, 1
  store i32 %1270, ptr %14, align 4
  br label %1280

1271:                                             ; preds = %917, %915
  %1272 = landingpad { ptr, i32 }
          cleanup
  %1273 = extractvalue { ptr, i32 } %1272, 0
  store ptr %1273, ptr %13, align 8
  %1274 = extractvalue { ptr, i32 } %1272, 1
  store i32 %1274, ptr %14, align 4
  br label %1279

1275:                                             ; preds = %920, %918
  %1276 = landingpad { ptr, i32 }
          cleanup
  %1277 = extractvalue { ptr, i32 } %1276, 0
  store ptr %1277, ptr %13, align 8
  %1278 = extractvalue { ptr, i32 } %1276, 1
  store i32 %1278, ptr %14, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %68) #7
  br label %1279

1279:                                             ; preds = %1275, %1271
  call void @llvm.lifetime.end.p0(i64 8, ptr %68) #7
  br label %1280

1280:                                             ; preds = %1279, %1267
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %67) #7
  br label %1281

1281:                                             ; preds = %1280, %1263
  call void @llvm.lifetime.end.p0(i64 8, ptr %67) #7
  br label %1663

1282:                                             ; preds = %923, %921
  %1283 = landingpad { ptr, i32 }
          cleanup
  %1284 = extractvalue { ptr, i32 } %1283, 0
  store ptr %1284, ptr %13, align 8
  %1285 = extractvalue { ptr, i32 } %1283, 1
  store i32 %1285, ptr %14, align 4
  br label %1310

1286:                                             ; preds = %927
  %1287 = landingpad { ptr, i32 }
          cleanup
  %1288 = extractvalue { ptr, i32 } %1287, 0
  store ptr %1288, ptr %13, align 8
  %1289 = extractvalue { ptr, i32 } %1287, 1
  store i32 %1289, ptr %14, align 4
  br label %1309

1290:                                             ; preds = %932, %929
  %1291 = landingpad { ptr, i32 }
          cleanup
  %1292 = extractvalue { ptr, i32 } %1291, 0
  store ptr %1292, ptr %13, align 8
  %1293 = extractvalue { ptr, i32 } %1291, 1
  store i32 %1293, ptr %14, align 4
  br label %1308

1294:                                             ; preds = %933
  %1295 = landingpad { ptr, i32 }
          cleanup
  %1296 = extractvalue { ptr, i32 } %1295, 0
  store ptr %1296, ptr %13, align 8
  %1297 = extractvalue { ptr, i32 } %1295, 1
  store i32 %1297, ptr %14, align 4
  br label %1307

1298:                                             ; preds = %937, %935
  %1299 = landingpad { ptr, i32 }
          cleanup
  %1300 = extractvalue { ptr, i32 } %1299, 0
  store ptr %1300, ptr %13, align 8
  %1301 = extractvalue { ptr, i32 } %1299, 1
  store i32 %1301, ptr %14, align 4
  br label %1306

1302:                                             ; preds = %940, %938
  %1303 = landingpad { ptr, i32 }
          cleanup
  %1304 = extractvalue { ptr, i32 } %1303, 0
  store ptr %1304, ptr %13, align 8
  %1305 = extractvalue { ptr, i32 } %1303, 1
  store i32 %1305, ptr %14, align 4
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %71) #7
  br label %1306

1306:                                             ; preds = %1302, %1298
  call void @llvm.lifetime.end.p0(i64 8, ptr %71) #7
  br label %1307

1307:                                             ; preds = %1306, %1294
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %70) #7
  br label %1308

1308:                                             ; preds = %1307, %1290
  call void @llvm.lifetime.end.p0(i64 8, ptr %70) #7
  br label %1309

1309:                                             ; preds = %1308, %1286
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %69) #7
  br label %1310

1310:                                             ; preds = %1309, %1282
  call void @llvm.lifetime.end.p0(i64 8, ptr %69) #7
  br label %1663

1311:                                             ; preds = %944, %941
  %1312 = landingpad { ptr, i32 }
          cleanup
  %1313 = extractvalue { ptr, i32 } %1312, 0
  store ptr %1313, ptr %13, align 8
  %1314 = extractvalue { ptr, i32 } %1312, 1
  store i32 %1314, ptr %14, align 4
  br label %1319

1315:                                             ; preds = %949, %947, %945
  %1316 = landingpad { ptr, i32 }
          cleanup
  %1317 = extractvalue { ptr, i32 } %1316, 0
  store ptr %1317, ptr %13, align 8
  %1318 = extractvalue { ptr, i32 } %1316, 1
  store i32 %1318, ptr %14, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %72) #7
  br label %1319

1319:                                             ; preds = %1315, %1311
  call void @llvm.lifetime.end.p0(i64 8, ptr %72) #7
  br label %1663

1320:                                             ; preds = %1209, %1207, %1205, %1202, %1170, %1097, %1024, %951
  %1321 = landingpad { ptr, i32 }
          cleanup
  %1322 = extractvalue { ptr, i32 } %1321, 0
  store ptr %1322, ptr %13, align 8
  %1323 = extractvalue { ptr, i32 } %1321, 1
  store i32 %1323, ptr %14, align 4
  br label %1663

1324:                                             ; preds = %955, %953
  %1325 = landingpad { ptr, i32 }
          cleanup
  %1326 = extractvalue { ptr, i32 } %1325, 0
  store ptr %1326, ptr %13, align 8
  %1327 = extractvalue { ptr, i32 } %1325, 1
  store i32 %1327, ptr %14, align 4
  br label %1347

1328:                                             ; preds = %958, %956
  %1329 = landingpad { ptr, i32 }
          cleanup
  %1330 = extractvalue { ptr, i32 } %1329, 0
  store ptr %1330, ptr %13, align 8
  %1331 = extractvalue { ptr, i32 } %1329, 1
  store i32 %1331, ptr %14, align 4
  br label %1346

1332:                                             ; preds = %959
  %1333 = landingpad { ptr, i32 }
          cleanup
  %1334 = extractvalue { ptr, i32 } %1333, 0
  store ptr %1334, ptr %13, align 8
  %1335 = extractvalue { ptr, i32 } %1333, 1
  store i32 %1335, ptr %14, align 4
  br label %1345

1336:                                             ; preds = %964, %961
  %1337 = landingpad { ptr, i32 }
          cleanup
  %1338 = extractvalue { ptr, i32 } %1337, 0
  store ptr %1338, ptr %13, align 8
  %1339 = extractvalue { ptr, i32 } %1337, 1
  store i32 %1339, ptr %14, align 4
  br label %1344

1340:                                             ; preds = %967, %965
  %1341 = landingpad { ptr, i32 }
          cleanup
  %1342 = extractvalue { ptr, i32 } %1341, 0
  store ptr %1342, ptr %13, align 8
  %1343 = extractvalue { ptr, i32 } %1341, 1
  store i32 %1343, ptr %14, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %75) #7
  br label %1344

1344:                                             ; preds = %1340, %1336
  call void @llvm.lifetime.end.p0(i64 8, ptr %75) #7
  br label %1345

1345:                                             ; preds = %1344, %1332
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %73) #7
  br label %1346

1346:                                             ; preds = %1345, %1328
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %74) #7
  br label %1347

1347:                                             ; preds = %1346, %1324
  call void @llvm.lifetime.end.p0(i64 8, ptr %74) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %73) #7
  br label %1663

1348:                                             ; preds = %970, %968
  %1349 = landingpad { ptr, i32 }
          cleanup
  %1350 = extractvalue { ptr, i32 } %1349, 0
  store ptr %1350, ptr %13, align 8
  %1351 = extractvalue { ptr, i32 } %1349, 1
  store i32 %1351, ptr %14, align 4
  br label %1356

1352:                                             ; preds = %975, %973, %971
  %1353 = landingpad { ptr, i32 }
          cleanup
  %1354 = extractvalue { ptr, i32 } %1353, 0
  store ptr %1354, ptr %13, align 8
  %1355 = extractvalue { ptr, i32 } %1353, 1
  store i32 %1355, ptr %14, align 4
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %76) #7
  br label %1356

1356:                                             ; preds = %1352, %1348
  call void @llvm.lifetime.end.p0(i64 8, ptr %76) #7
  br label %1663

1357:                                             ; preds = %978, %976
  %1358 = landingpad { ptr, i32 }
          cleanup
  %1359 = extractvalue { ptr, i32 } %1358, 0
  store ptr %1359, ptr %13, align 8
  %1360 = extractvalue { ptr, i32 } %1358, 1
  store i32 %1360, ptr %14, align 4
  br label %1365

1361:                                             ; preds = %981, %979
  %1362 = landingpad { ptr, i32 }
          cleanup
  %1363 = extractvalue { ptr, i32 } %1362, 0
  store ptr %1363, ptr %13, align 8
  %1364 = extractvalue { ptr, i32 } %1362, 1
  store i32 %1364, ptr %14, align 4
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %77) #7
  br label %1365

1365:                                             ; preds = %1361, %1357
  call void @llvm.lifetime.end.p0(i64 8, ptr %77) #7
  br label %1663

1366:                                             ; preds = %985, %983
  %1367 = landingpad { ptr, i32 }
          cleanup
  %1368 = extractvalue { ptr, i32 } %1367, 0
  store ptr %1368, ptr %13, align 8
  %1369 = extractvalue { ptr, i32 } %1367, 1
  store i32 %1369, ptr %14, align 4
  br label %1384

1370:                                             ; preds = %986
  %1371 = landingpad { ptr, i32 }
          cleanup
  %1372 = extractvalue { ptr, i32 } %1371, 0
  store ptr %1372, ptr %13, align 8
  %1373 = extractvalue { ptr, i32 } %1371, 1
  store i32 %1373, ptr %14, align 4
  br label %1383

1374:                                             ; preds = %990, %988
  %1375 = landingpad { ptr, i32 }
          cleanup
  %1376 = extractvalue { ptr, i32 } %1375, 0
  store ptr %1376, ptr %13, align 8
  %1377 = extractvalue { ptr, i32 } %1375, 1
  store i32 %1377, ptr %14, align 4
  br label %1382

1378:                                             ; preds = %993, %991
  %1379 = landingpad { ptr, i32 }
          cleanup
  %1380 = extractvalue { ptr, i32 } %1379, 0
  store ptr %1380, ptr %13, align 8
  %1381 = extractvalue { ptr, i32 } %1379, 1
  store i32 %1381, ptr %14, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %79) #7
  br label %1382

1382:                                             ; preds = %1378, %1374
  call void @llvm.lifetime.end.p0(i64 8, ptr %79) #7
  br label %1383

1383:                                             ; preds = %1382, %1370
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %78) #7
  br label %1384

1384:                                             ; preds = %1383, %1366
  call void @llvm.lifetime.end.p0(i64 8, ptr %78) #7
  br label %1663

1385:                                             ; preds = %996, %994
  %1386 = landingpad { ptr, i32 }
          cleanup
  %1387 = extractvalue { ptr, i32 } %1386, 0
  store ptr %1387, ptr %13, align 8
  %1388 = extractvalue { ptr, i32 } %1386, 1
  store i32 %1388, ptr %14, align 4
  br label %1413

1389:                                             ; preds = %1000
  %1390 = landingpad { ptr, i32 }
          cleanup
  %1391 = extractvalue { ptr, i32 } %1390, 0
  store ptr %1391, ptr %13, align 8
  %1392 = extractvalue { ptr, i32 } %1390, 1
  store i32 %1392, ptr %14, align 4
  br label %1412

1393:                                             ; preds = %1005, %1002
  %1394 = landingpad { ptr, i32 }
          cleanup
  %1395 = extractvalue { ptr, i32 } %1394, 0
  store ptr %1395, ptr %13, align 8
  %1396 = extractvalue { ptr, i32 } %1394, 1
  store i32 %1396, ptr %14, align 4
  br label %1411

1397:                                             ; preds = %1006
  %1398 = landingpad { ptr, i32 }
          cleanup
  %1399 = extractvalue { ptr, i32 } %1398, 0
  store ptr %1399, ptr %13, align 8
  %1400 = extractvalue { ptr, i32 } %1398, 1
  store i32 %1400, ptr %14, align 4
  br label %1410

1401:                                             ; preds = %1010, %1008
  %1402 = landingpad { ptr, i32 }
          cleanup
  %1403 = extractvalue { ptr, i32 } %1402, 0
  store ptr %1403, ptr %13, align 8
  %1404 = extractvalue { ptr, i32 } %1402, 1
  store i32 %1404, ptr %14, align 4
  br label %1409

1405:                                             ; preds = %1013, %1011
  %1406 = landingpad { ptr, i32 }
          cleanup
  %1407 = extractvalue { ptr, i32 } %1406, 0
  store ptr %1407, ptr %13, align 8
  %1408 = extractvalue { ptr, i32 } %1406, 1
  store i32 %1408, ptr %14, align 4
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %82) #7
  br label %1409

1409:                                             ; preds = %1405, %1401
  call void @llvm.lifetime.end.p0(i64 8, ptr %82) #7
  br label %1410

1410:                                             ; preds = %1409, %1397
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %81) #7
  br label %1411

1411:                                             ; preds = %1410, %1393
  call void @llvm.lifetime.end.p0(i64 8, ptr %81) #7
  br label %1412

1412:                                             ; preds = %1411, %1389
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %80) #7
  br label %1413

1413:                                             ; preds = %1412, %1385
  call void @llvm.lifetime.end.p0(i64 8, ptr %80) #7
  br label %1663

1414:                                             ; preds = %1017, %1014
  %1415 = landingpad { ptr, i32 }
          cleanup
  %1416 = extractvalue { ptr, i32 } %1415, 0
  store ptr %1416, ptr %13, align 8
  %1417 = extractvalue { ptr, i32 } %1415, 1
  store i32 %1417, ptr %14, align 4
  br label %1422

1418:                                             ; preds = %1022, %1020, %1018
  %1419 = landingpad { ptr, i32 }
          cleanup
  %1420 = extractvalue { ptr, i32 } %1419, 0
  store ptr %1420, ptr %13, align 8
  %1421 = extractvalue { ptr, i32 } %1419, 1
  store i32 %1421, ptr %14, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %83) #7
  br label %1422

1422:                                             ; preds = %1418, %1414
  call void @llvm.lifetime.end.p0(i64 8, ptr %83) #7
  br label %1663

1423:                                             ; preds = %1028, %1026
  %1424 = landingpad { ptr, i32 }
          cleanup
  %1425 = extractvalue { ptr, i32 } %1424, 0
  store ptr %1425, ptr %13, align 8
  %1426 = extractvalue { ptr, i32 } %1424, 1
  store i32 %1426, ptr %14, align 4
  br label %1446

1427:                                             ; preds = %1031, %1029
  %1428 = landingpad { ptr, i32 }
          cleanup
  %1429 = extractvalue { ptr, i32 } %1428, 0
  store ptr %1429, ptr %13, align 8
  %1430 = extractvalue { ptr, i32 } %1428, 1
  store i32 %1430, ptr %14, align 4
  br label %1445

1431:                                             ; preds = %1032
  %1432 = landingpad { ptr, i32 }
          cleanup
  %1433 = extractvalue { ptr, i32 } %1432, 0
  store ptr %1433, ptr %13, align 8
  %1434 = extractvalue { ptr, i32 } %1432, 1
  store i32 %1434, ptr %14, align 4
  br label %1444

1435:                                             ; preds = %1037, %1034
  %1436 = landingpad { ptr, i32 }
          cleanup
  %1437 = extractvalue { ptr, i32 } %1436, 0
  store ptr %1437, ptr %13, align 8
  %1438 = extractvalue { ptr, i32 } %1436, 1
  store i32 %1438, ptr %14, align 4
  br label %1443

1439:                                             ; preds = %1040, %1038
  %1440 = landingpad { ptr, i32 }
          cleanup
  %1441 = extractvalue { ptr, i32 } %1440, 0
  store ptr %1441, ptr %13, align 8
  %1442 = extractvalue { ptr, i32 } %1440, 1
  store i32 %1442, ptr %14, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %86) #7
  br label %1443

1443:                                             ; preds = %1439, %1435
  call void @llvm.lifetime.end.p0(i64 8, ptr %86) #7
  br label %1444

1444:                                             ; preds = %1443, %1431
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %84) #7
  br label %1445

1445:                                             ; preds = %1444, %1427
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %85) #7
  br label %1446

1446:                                             ; preds = %1445, %1423
  call void @llvm.lifetime.end.p0(i64 8, ptr %85) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %84) #7
  br label %1663

1447:                                             ; preds = %1043, %1041
  %1448 = landingpad { ptr, i32 }
          cleanup
  %1449 = extractvalue { ptr, i32 } %1448, 0
  store ptr %1449, ptr %13, align 8
  %1450 = extractvalue { ptr, i32 } %1448, 1
  store i32 %1450, ptr %14, align 4
  br label %1455

1451:                                             ; preds = %1048, %1046, %1044
  %1452 = landingpad { ptr, i32 }
          cleanup
  %1453 = extractvalue { ptr, i32 } %1452, 0
  store ptr %1453, ptr %13, align 8
  %1454 = extractvalue { ptr, i32 } %1452, 1
  store i32 %1454, ptr %14, align 4
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %87) #7
  br label %1455

1455:                                             ; preds = %1451, %1447
  call void @llvm.lifetime.end.p0(i64 8, ptr %87) #7
  br label %1663

1456:                                             ; preds = %1051, %1049
  %1457 = landingpad { ptr, i32 }
          cleanup
  %1458 = extractvalue { ptr, i32 } %1457, 0
  store ptr %1458, ptr %13, align 8
  %1459 = extractvalue { ptr, i32 } %1457, 1
  store i32 %1459, ptr %14, align 4
  br label %1464

1460:                                             ; preds = %1054, %1052
  %1461 = landingpad { ptr, i32 }
          cleanup
  %1462 = extractvalue { ptr, i32 } %1461, 0
  store ptr %1462, ptr %13, align 8
  %1463 = extractvalue { ptr, i32 } %1461, 1
  store i32 %1463, ptr %14, align 4
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %88) #7
  br label %1464

1464:                                             ; preds = %1460, %1456
  call void @llvm.lifetime.end.p0(i64 8, ptr %88) #7
  br label %1663

1465:                                             ; preds = %1058, %1056
  %1466 = landingpad { ptr, i32 }
          cleanup
  %1467 = extractvalue { ptr, i32 } %1466, 0
  store ptr %1467, ptr %13, align 8
  %1468 = extractvalue { ptr, i32 } %1466, 1
  store i32 %1468, ptr %14, align 4
  br label %1483

1469:                                             ; preds = %1059
  %1470 = landingpad { ptr, i32 }
          cleanup
  %1471 = extractvalue { ptr, i32 } %1470, 0
  store ptr %1471, ptr %13, align 8
  %1472 = extractvalue { ptr, i32 } %1470, 1
  store i32 %1472, ptr %14, align 4
  br label %1482

1473:                                             ; preds = %1063, %1061
  %1474 = landingpad { ptr, i32 }
          cleanup
  %1475 = extractvalue { ptr, i32 } %1474, 0
  store ptr %1475, ptr %13, align 8
  %1476 = extractvalue { ptr, i32 } %1474, 1
  store i32 %1476, ptr %14, align 4
  br label %1481

1477:                                             ; preds = %1066, %1064
  %1478 = landingpad { ptr, i32 }
          cleanup
  %1479 = extractvalue { ptr, i32 } %1478, 0
  store ptr %1479, ptr %13, align 8
  %1480 = extractvalue { ptr, i32 } %1478, 1
  store i32 %1480, ptr %14, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %90) #7
  br label %1481

1481:                                             ; preds = %1477, %1473
  call void @llvm.lifetime.end.p0(i64 8, ptr %90) #7
  br label %1482

1482:                                             ; preds = %1481, %1469
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %89) #7
  br label %1483

1483:                                             ; preds = %1482, %1465
  call void @llvm.lifetime.end.p0(i64 8, ptr %89) #7
  br label %1663

1484:                                             ; preds = %1069, %1067
  %1485 = landingpad { ptr, i32 }
          cleanup
  %1486 = extractvalue { ptr, i32 } %1485, 0
  store ptr %1486, ptr %13, align 8
  %1487 = extractvalue { ptr, i32 } %1485, 1
  store i32 %1487, ptr %14, align 4
  br label %1512

1488:                                             ; preds = %1073
  %1489 = landingpad { ptr, i32 }
          cleanup
  %1490 = extractvalue { ptr, i32 } %1489, 0
  store ptr %1490, ptr %13, align 8
  %1491 = extractvalue { ptr, i32 } %1489, 1
  store i32 %1491, ptr %14, align 4
  br label %1511

1492:                                             ; preds = %1078, %1075
  %1493 = landingpad { ptr, i32 }
          cleanup
  %1494 = extractvalue { ptr, i32 } %1493, 0
  store ptr %1494, ptr %13, align 8
  %1495 = extractvalue { ptr, i32 } %1493, 1
  store i32 %1495, ptr %14, align 4
  br label %1510

1496:                                             ; preds = %1079
  %1497 = landingpad { ptr, i32 }
          cleanup
  %1498 = extractvalue { ptr, i32 } %1497, 0
  store ptr %1498, ptr %13, align 8
  %1499 = extractvalue { ptr, i32 } %1497, 1
  store i32 %1499, ptr %14, align 4
  br label %1509

1500:                                             ; preds = %1083, %1081
  %1501 = landingpad { ptr, i32 }
          cleanup
  %1502 = extractvalue { ptr, i32 } %1501, 0
  store ptr %1502, ptr %13, align 8
  %1503 = extractvalue { ptr, i32 } %1501, 1
  store i32 %1503, ptr %14, align 4
  br label %1508

1504:                                             ; preds = %1086, %1084
  %1505 = landingpad { ptr, i32 }
          cleanup
  %1506 = extractvalue { ptr, i32 } %1505, 0
  store ptr %1506, ptr %13, align 8
  %1507 = extractvalue { ptr, i32 } %1505, 1
  store i32 %1507, ptr %14, align 4
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %93) #7
  br label %1508

1508:                                             ; preds = %1504, %1500
  call void @llvm.lifetime.end.p0(i64 8, ptr %93) #7
  br label %1509

1509:                                             ; preds = %1508, %1496
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %92) #7
  br label %1510

1510:                                             ; preds = %1509, %1492
  call void @llvm.lifetime.end.p0(i64 8, ptr %92) #7
  br label %1511

1511:                                             ; preds = %1510, %1488
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %91) #7
  br label %1512

1512:                                             ; preds = %1511, %1484
  call void @llvm.lifetime.end.p0(i64 8, ptr %91) #7
  br label %1663

1513:                                             ; preds = %1090, %1087
  %1514 = landingpad { ptr, i32 }
          cleanup
  %1515 = extractvalue { ptr, i32 } %1514, 0
  store ptr %1515, ptr %13, align 8
  %1516 = extractvalue { ptr, i32 } %1514, 1
  store i32 %1516, ptr %14, align 4
  br label %1521

1517:                                             ; preds = %1095, %1093, %1091
  %1518 = landingpad { ptr, i32 }
          cleanup
  %1519 = extractvalue { ptr, i32 } %1518, 0
  store ptr %1519, ptr %13, align 8
  %1520 = extractvalue { ptr, i32 } %1518, 1
  store i32 %1520, ptr %14, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %94) #7
  br label %1521

1521:                                             ; preds = %1517, %1513
  call void @llvm.lifetime.end.p0(i64 8, ptr %94) #7
  br label %1663

1522:                                             ; preds = %1101, %1099
  %1523 = landingpad { ptr, i32 }
          cleanup
  %1524 = extractvalue { ptr, i32 } %1523, 0
  store ptr %1524, ptr %13, align 8
  %1525 = extractvalue { ptr, i32 } %1523, 1
  store i32 %1525, ptr %14, align 4
  br label %1545

1526:                                             ; preds = %1104, %1102
  %1527 = landingpad { ptr, i32 }
          cleanup
  %1528 = extractvalue { ptr, i32 } %1527, 0
  store ptr %1528, ptr %13, align 8
  %1529 = extractvalue { ptr, i32 } %1527, 1
  store i32 %1529, ptr %14, align 4
  br label %1544

1530:                                             ; preds = %1105
  %1531 = landingpad { ptr, i32 }
          cleanup
  %1532 = extractvalue { ptr, i32 } %1531, 0
  store ptr %1532, ptr %13, align 8
  %1533 = extractvalue { ptr, i32 } %1531, 1
  store i32 %1533, ptr %14, align 4
  br label %1543

1534:                                             ; preds = %1110, %1107
  %1535 = landingpad { ptr, i32 }
          cleanup
  %1536 = extractvalue { ptr, i32 } %1535, 0
  store ptr %1536, ptr %13, align 8
  %1537 = extractvalue { ptr, i32 } %1535, 1
  store i32 %1537, ptr %14, align 4
  br label %1542

1538:                                             ; preds = %1113, %1111
  %1539 = landingpad { ptr, i32 }
          cleanup
  %1540 = extractvalue { ptr, i32 } %1539, 0
  store ptr %1540, ptr %13, align 8
  %1541 = extractvalue { ptr, i32 } %1539, 1
  store i32 %1541, ptr %14, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %97) #7
  br label %1542

1542:                                             ; preds = %1538, %1534
  call void @llvm.lifetime.end.p0(i64 8, ptr %97) #7
  br label %1543

1543:                                             ; preds = %1542, %1530
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %95) #7
  br label %1544

1544:                                             ; preds = %1543, %1526
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %96) #7
  br label %1545

1545:                                             ; preds = %1544, %1522
  call void @llvm.lifetime.end.p0(i64 8, ptr %96) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %95) #7
  br label %1663

1546:                                             ; preds = %1116, %1114
  %1547 = landingpad { ptr, i32 }
          cleanup
  %1548 = extractvalue { ptr, i32 } %1547, 0
  store ptr %1548, ptr %13, align 8
  %1549 = extractvalue { ptr, i32 } %1547, 1
  store i32 %1549, ptr %14, align 4
  br label %1554

1550:                                             ; preds = %1121, %1119, %1117
  %1551 = landingpad { ptr, i32 }
          cleanup
  %1552 = extractvalue { ptr, i32 } %1551, 0
  store ptr %1552, ptr %13, align 8
  %1553 = extractvalue { ptr, i32 } %1551, 1
  store i32 %1553, ptr %14, align 4
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %98) #7
  br label %1554

1554:                                             ; preds = %1550, %1546
  call void @llvm.lifetime.end.p0(i64 8, ptr %98) #7
  br label %1663

1555:                                             ; preds = %1124, %1122
  %1556 = landingpad { ptr, i32 }
          cleanup
  %1557 = extractvalue { ptr, i32 } %1556, 0
  store ptr %1557, ptr %13, align 8
  %1558 = extractvalue { ptr, i32 } %1556, 1
  store i32 %1558, ptr %14, align 4
  br label %1563

1559:                                             ; preds = %1127, %1125
  %1560 = landingpad { ptr, i32 }
          cleanup
  %1561 = extractvalue { ptr, i32 } %1560, 0
  store ptr %1561, ptr %13, align 8
  %1562 = extractvalue { ptr, i32 } %1560, 1
  store i32 %1562, ptr %14, align 4
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %99) #7
  br label %1563

1563:                                             ; preds = %1559, %1555
  call void @llvm.lifetime.end.p0(i64 8, ptr %99) #7
  br label %1663

1564:                                             ; preds = %1131, %1129
  %1565 = landingpad { ptr, i32 }
          cleanup
  %1566 = extractvalue { ptr, i32 } %1565, 0
  store ptr %1566, ptr %13, align 8
  %1567 = extractvalue { ptr, i32 } %1565, 1
  store i32 %1567, ptr %14, align 4
  br label %1582

1568:                                             ; preds = %1132
  %1569 = landingpad { ptr, i32 }
          cleanup
  %1570 = extractvalue { ptr, i32 } %1569, 0
  store ptr %1570, ptr %13, align 8
  %1571 = extractvalue { ptr, i32 } %1569, 1
  store i32 %1571, ptr %14, align 4
  br label %1581

1572:                                             ; preds = %1136, %1134
  %1573 = landingpad { ptr, i32 }
          cleanup
  %1574 = extractvalue { ptr, i32 } %1573, 0
  store ptr %1574, ptr %13, align 8
  %1575 = extractvalue { ptr, i32 } %1573, 1
  store i32 %1575, ptr %14, align 4
  br label %1580

1576:                                             ; preds = %1139, %1137
  %1577 = landingpad { ptr, i32 }
          cleanup
  %1578 = extractvalue { ptr, i32 } %1577, 0
  store ptr %1578, ptr %13, align 8
  %1579 = extractvalue { ptr, i32 } %1577, 1
  store i32 %1579, ptr %14, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %101) #7
  br label %1580

1580:                                             ; preds = %1576, %1572
  call void @llvm.lifetime.end.p0(i64 8, ptr %101) #7
  br label %1581

1581:                                             ; preds = %1580, %1568
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %100) #7
  br label %1582

1582:                                             ; preds = %1581, %1564
  call void @llvm.lifetime.end.p0(i64 8, ptr %100) #7
  br label %1663

1583:                                             ; preds = %1142, %1140
  %1584 = landingpad { ptr, i32 }
          cleanup
  %1585 = extractvalue { ptr, i32 } %1584, 0
  store ptr %1585, ptr %13, align 8
  %1586 = extractvalue { ptr, i32 } %1584, 1
  store i32 %1586, ptr %14, align 4
  br label %1611

1587:                                             ; preds = %1146
  %1588 = landingpad { ptr, i32 }
          cleanup
  %1589 = extractvalue { ptr, i32 } %1588, 0
  store ptr %1589, ptr %13, align 8
  %1590 = extractvalue { ptr, i32 } %1588, 1
  store i32 %1590, ptr %14, align 4
  br label %1610

1591:                                             ; preds = %1151, %1148
  %1592 = landingpad { ptr, i32 }
          cleanup
  %1593 = extractvalue { ptr, i32 } %1592, 0
  store ptr %1593, ptr %13, align 8
  %1594 = extractvalue { ptr, i32 } %1592, 1
  store i32 %1594, ptr %14, align 4
  br label %1609

1595:                                             ; preds = %1152
  %1596 = landingpad { ptr, i32 }
          cleanup
  %1597 = extractvalue { ptr, i32 } %1596, 0
  store ptr %1597, ptr %13, align 8
  %1598 = extractvalue { ptr, i32 } %1596, 1
  store i32 %1598, ptr %14, align 4
  br label %1608

1599:                                             ; preds = %1156, %1154
  %1600 = landingpad { ptr, i32 }
          cleanup
  %1601 = extractvalue { ptr, i32 } %1600, 0
  store ptr %1601, ptr %13, align 8
  %1602 = extractvalue { ptr, i32 } %1600, 1
  store i32 %1602, ptr %14, align 4
  br label %1607

1603:                                             ; preds = %1159, %1157
  %1604 = landingpad { ptr, i32 }
          cleanup
  %1605 = extractvalue { ptr, i32 } %1604, 0
  store ptr %1605, ptr %13, align 8
  %1606 = extractvalue { ptr, i32 } %1604, 1
  store i32 %1606, ptr %14, align 4
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %104) #7
  br label %1607

1607:                                             ; preds = %1603, %1599
  call void @llvm.lifetime.end.p0(i64 8, ptr %104) #7
  br label %1608

1608:                                             ; preds = %1607, %1595
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %103) #7
  br label %1609

1609:                                             ; preds = %1608, %1591
  call void @llvm.lifetime.end.p0(i64 8, ptr %103) #7
  br label %1610

1610:                                             ; preds = %1609, %1587
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %102) #7
  br label %1611

1611:                                             ; preds = %1610, %1583
  call void @llvm.lifetime.end.p0(i64 8, ptr %102) #7
  br label %1663

1612:                                             ; preds = %1163, %1160
  %1613 = landingpad { ptr, i32 }
          cleanup
  %1614 = extractvalue { ptr, i32 } %1613, 0
  store ptr %1614, ptr %13, align 8
  %1615 = extractvalue { ptr, i32 } %1613, 1
  store i32 %1615, ptr %14, align 4
  br label %1620

1616:                                             ; preds = %1168, %1166, %1164
  %1617 = landingpad { ptr, i32 }
          cleanup
  %1618 = extractvalue { ptr, i32 } %1617, 0
  store ptr %1618, ptr %13, align 8
  %1619 = extractvalue { ptr, i32 } %1617, 1
  store i32 %1619, ptr %14, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %105) #7
  br label %1620

1620:                                             ; preds = %1616, %1612
  call void @llvm.lifetime.end.p0(i64 8, ptr %105) #7
  br label %1663

1621:                                             ; preds = %1174, %1172
  %1622 = landingpad { ptr, i32 }
          cleanup
  %1623 = extractvalue { ptr, i32 } %1622, 0
  store ptr %1623, ptr %13, align 8
  %1624 = extractvalue { ptr, i32 } %1622, 1
  store i32 %1624, ptr %14, align 4
  br label %1644

1625:                                             ; preds = %1177, %1175
  %1626 = landingpad { ptr, i32 }
          cleanup
  %1627 = extractvalue { ptr, i32 } %1626, 0
  store ptr %1627, ptr %13, align 8
  %1628 = extractvalue { ptr, i32 } %1626, 1
  store i32 %1628, ptr %14, align 4
  br label %1643

1629:                                             ; preds = %1178
  %1630 = landingpad { ptr, i32 }
          cleanup
  %1631 = extractvalue { ptr, i32 } %1630, 0
  store ptr %1631, ptr %13, align 8
  %1632 = extractvalue { ptr, i32 } %1630, 1
  store i32 %1632, ptr %14, align 4
  br label %1642

1633:                                             ; preds = %1183, %1180
  %1634 = landingpad { ptr, i32 }
          cleanup
  %1635 = extractvalue { ptr, i32 } %1634, 0
  store ptr %1635, ptr %13, align 8
  %1636 = extractvalue { ptr, i32 } %1634, 1
  store i32 %1636, ptr %14, align 4
  br label %1641

1637:                                             ; preds = %1186, %1184
  %1638 = landingpad { ptr, i32 }
          cleanup
  %1639 = extractvalue { ptr, i32 } %1638, 0
  store ptr %1639, ptr %13, align 8
  %1640 = extractvalue { ptr, i32 } %1638, 1
  store i32 %1640, ptr %14, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %108) #7
  br label %1641

1641:                                             ; preds = %1637, %1633
  call void @llvm.lifetime.end.p0(i64 8, ptr %108) #7
  br label %1642

1642:                                             ; preds = %1641, %1629
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %106) #7
  br label %1643

1643:                                             ; preds = %1642, %1625
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %107) #7
  br label %1644

1644:                                             ; preds = %1643, %1621
  call void @llvm.lifetime.end.p0(i64 8, ptr %107) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %106) #7
  br label %1663

1645:                                             ; preds = %1189, %1187
  %1646 = landingpad { ptr, i32 }
          cleanup
  %1647 = extractvalue { ptr, i32 } %1646, 0
  store ptr %1647, ptr %13, align 8
  %1648 = extractvalue { ptr, i32 } %1646, 1
  store i32 %1648, ptr %14, align 4
  br label %1653

1649:                                             ; preds = %1194, %1192, %1190
  %1650 = landingpad { ptr, i32 }
          cleanup
  %1651 = extractvalue { ptr, i32 } %1650, 0
  store ptr %1651, ptr %13, align 8
  %1652 = extractvalue { ptr, i32 } %1650, 1
  store i32 %1652, ptr %14, align 4
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %109) #7
  br label %1653

1653:                                             ; preds = %1649, %1645
  call void @llvm.lifetime.end.p0(i64 8, ptr %109) #7
  br label %1663

1654:                                             ; preds = %1197, %1195
  %1655 = landingpad { ptr, i32 }
          cleanup
  %1656 = extractvalue { ptr, i32 } %1655, 0
  store ptr %1656, ptr %13, align 8
  %1657 = extractvalue { ptr, i32 } %1655, 1
  store i32 %1657, ptr %14, align 4
  br label %1662

1658:                                             ; preds = %1200, %1198
  %1659 = landingpad { ptr, i32 }
          cleanup
  %1660 = extractvalue { ptr, i32 } %1659, 0
  store ptr %1660, ptr %13, align 8
  %1661 = extractvalue { ptr, i32 } %1659, 1
  store i32 %1661, ptr %14, align 4
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %110) #7
  br label %1662

1662:                                             ; preds = %1658, %1654
  call void @llvm.lifetime.end.p0(i64 8, ptr %110) #7
  br label %1663

1663:                                             ; preds = %1662, %1653, %1644, %1620, %1611, %1582, %1563, %1554, %1545, %1521, %1512, %1483, %1464, %1455, %1446, %1422, %1413, %1384, %1365, %1356, %1347, %1320, %1319, %1310, %1281
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %66) #7
  br label %1664

1664:                                             ; preds = %1663, %1259
  call void @llvm.lifetime.end.p0(i64 8, ptr %66) #7
  br label %1665

1665:                                             ; preds = %1664, %1255
  call void @llvm.lifetime.end.p0(i64 8, ptr %65) #7
  br label %1666

1666:                                             ; preds = %1665, %1254, %1245, %1236, %1227
  call void @_ZN10SimTKIpopt8SmartPtrINS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %60) #7
  br label %1667

1667:                                             ; preds = %1666, %1215
  call void @llvm.lifetime.end.p0(i64 8, ptr %60) #7
  br label %2033

1668:                                             ; preds = %253
  br label %1669

1669:                                             ; preds = %1668, %1214, %622
  call void @llvm.lifetime.start.p0(i64 8, ptr %111) #7
  %1670 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %134)
          to label %1671 unwind label %1788

1671:                                             ; preds = %1669
  %1672 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %134)
          to label %1673 unwind label %1788

1673:                                             ; preds = %1671
  %1674 = invoke noundef double @_ZNK10SimTKIpopt9IpoptData8curr_tauEv(ptr noundef nonnull align 8 dereferenceable(864) %1672)
          to label %1675 unwind label %1788

1675:                                             ; preds = %1673
  call void @llvm.lifetime.start.p0(i64 8, ptr %112) #7
  %1676 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %23)
          to label %1677 unwind label %1792

1677:                                             ; preds = %1675
  invoke void @_ZNK10SimTKIpopt14IteratesVector1xEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %112, ptr noundef nonnull align 8 dereferenceable(280) %1676)
          to label %1678 unwind label %1792

1678:                                             ; preds = %1677
  %1679 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %112)
          to label %1680 unwind label %1796

1680:                                             ; preds = %1678
  call void @llvm.lifetime.start.p0(i64 8, ptr %113) #7
  %1681 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %23)
          to label %1682 unwind label %1800

1682:                                             ; preds = %1680
  invoke void @_ZNK10SimTKIpopt14IteratesVector1sEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %113, ptr noundef nonnull align 8 dereferenceable(280) %1681)
          to label %1683 unwind label %1800

1683:                                             ; preds = %1682
  %1684 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %113)
          to label %1685 unwind label %1804

1685:                                             ; preds = %1683
  %1686 = invoke noundef double @_ZN10SimTKIpopt25IpoptCalculatedQuantities24primal_frac_to_the_boundEdRKNS_6VectorES3_(ptr noundef nonnull align 8 dereferenceable(2025) %1670, double noundef %1674, ptr noundef nonnull align 8 dereferenceable(205) %1679, ptr noundef nonnull align 8 dereferenceable(205) %1684)
          to label %1687 unwind label %1804

1687:                                             ; preds = %1685
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %113) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %113) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %112) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %112) #7
  store double %1686, ptr %111, align 8, !tbaa !9
  %1688 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %134)
          to label %1689 unwind label %1788

1689:                                             ; preds = %1687
  %1690 = load double, ptr %111, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %114) #7
  %1691 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %23)
          to label %1692 unwind label %1811

1692:                                             ; preds = %1689
  invoke void @_ZNK10SimTKIpopt14IteratesVector1xEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %114, ptr noundef nonnull align 8 dereferenceable(280) %1691)
          to label %1693 unwind label %1811

1693:                                             ; preds = %1692
  %1694 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %114)
          to label %1695 unwind label %1815

1695:                                             ; preds = %1693
  call void @llvm.lifetime.start.p0(i64 8, ptr %115) #7
  %1696 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %23)
          to label %1697 unwind label %1819

1697:                                             ; preds = %1695
  invoke void @_ZNK10SimTKIpopt14IteratesVector1sEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %115, ptr noundef nonnull align 8 dereferenceable(280) %1696)
          to label %1698 unwind label %1819

1698:                                             ; preds = %1697
  %1699 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %115)
          to label %1700 unwind label %1823

1700:                                             ; preds = %1698
  invoke void @_ZN10SimTKIpopt9IpoptData31SetTrialPrimalVariablesFromStepEdRKNS_6VectorES3_(ptr noundef nonnull align 8 dereferenceable(864) %1688, double noundef %1690, ptr noundef nonnull align 8 dereferenceable(205) %1694, ptr noundef nonnull align 8 dereferenceable(205) %1699)
          to label %1701 unwind label %1823

1701:                                             ; preds = %1700
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %115) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %115) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %114) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %114) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %116) #7
  %1702 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %134)
          to label %1703 unwind label %1830

1703:                                             ; preds = %1701
  %1704 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %134)
          to label %1705 unwind label %1830

1705:                                             ; preds = %1703
  %1706 = invoke noundef double @_ZNK10SimTKIpopt9IpoptData8curr_tauEv(ptr noundef nonnull align 8 dereferenceable(864) %1704)
          to label %1707 unwind label %1830

1707:                                             ; preds = %1705
  call void @llvm.lifetime.start.p0(i64 8, ptr %117) #7
  %1708 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %23)
          to label %1709 unwind label %1834

1709:                                             ; preds = %1707
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_LEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %117, ptr noundef nonnull align 8 dereferenceable(280) %1708)
          to label %1710 unwind label %1834

1710:                                             ; preds = %1709
  %1711 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %117)
          to label %1712 unwind label %1838

1712:                                             ; preds = %1710
  call void @llvm.lifetime.start.p0(i64 8, ptr %118) #7
  %1713 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %23)
          to label %1714 unwind label %1842

1714:                                             ; preds = %1712
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %118, ptr noundef nonnull align 8 dereferenceable(280) %1713)
          to label %1715 unwind label %1842

1715:                                             ; preds = %1714
  %1716 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %118)
          to label %1717 unwind label %1846

1717:                                             ; preds = %1715
  call void @llvm.lifetime.start.p0(i64 8, ptr %119) #7
  %1718 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %23)
          to label %1719 unwind label %1850

1719:                                             ; preds = %1717
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_LEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %119, ptr noundef nonnull align 8 dereferenceable(280) %1718)
          to label %1720 unwind label %1850

1720:                                             ; preds = %1719
  %1721 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %119)
          to label %1722 unwind label %1854

1722:                                             ; preds = %1720
  call void @llvm.lifetime.start.p0(i64 8, ptr %120) #7
  %1723 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %23)
          to label %1724 unwind label %1858

1724:                                             ; preds = %1722
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %120, ptr noundef nonnull align 8 dereferenceable(280) %1723)
          to label %1725 unwind label %1858

1725:                                             ; preds = %1724
  %1726 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %120)
          to label %1727 unwind label %1862

1727:                                             ; preds = %1725
  %1728 = invoke noundef double @_ZN10SimTKIpopt25IpoptCalculatedQuantities22dual_frac_to_the_boundEdRKNS_6VectorES3_S3_S3_(ptr noundef nonnull align 8 dereferenceable(2025) %1702, double noundef %1706, ptr noundef nonnull align 8 dereferenceable(205) %1711, ptr noundef nonnull align 8 dereferenceable(205) %1716, ptr noundef nonnull align 8 dereferenceable(205) %1721, ptr noundef nonnull align 8 dereferenceable(205) %1726)
          to label %1729 unwind label %1862

1729:                                             ; preds = %1727
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %120) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %120) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %119) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %119) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %118) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %118) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %117) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %117) #7
  store double %1728, ptr %116, align 8, !tbaa !9
  %1730 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %134)
          to label %1731 unwind label %1830

1731:                                             ; preds = %1729
  %1732 = load double, ptr %116, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %121) #7
  %1733 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %23)
          to label %1734 unwind label %1873

1734:                                             ; preds = %1731
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_LEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %121, ptr noundef nonnull align 8 dereferenceable(280) %1733)
          to label %1735 unwind label %1873

1735:                                             ; preds = %1734
  %1736 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %121)
          to label %1737 unwind label %1877

1737:                                             ; preds = %1735
  call void @llvm.lifetime.start.p0(i64 8, ptr %122) #7
  %1738 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %23)
          to label %1739 unwind label %1881

1739:                                             ; preds = %1737
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %122, ptr noundef nonnull align 8 dereferenceable(280) %1738)
          to label %1740 unwind label %1881

1740:                                             ; preds = %1739
  %1741 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %122)
          to label %1742 unwind label %1885

1742:                                             ; preds = %1740
  call void @llvm.lifetime.start.p0(i64 8, ptr %123) #7
  %1743 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %23)
          to label %1744 unwind label %1889

1744:                                             ; preds = %1742
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_LEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %123, ptr noundef nonnull align 8 dereferenceable(280) %1743)
          to label %1745 unwind label %1889

1745:                                             ; preds = %1744
  %1746 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %123)
          to label %1747 unwind label %1893

1747:                                             ; preds = %1745
  call void @llvm.lifetime.start.p0(i64 8, ptr %124) #7
  %1748 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %23)
          to label %1749 unwind label %1897

1749:                                             ; preds = %1747
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %124, ptr noundef nonnull align 8 dereferenceable(280) %1748)
          to label %1750 unwind label %1897

1750:                                             ; preds = %1749
  %1751 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %124)
          to label %1752 unwind label %1901

1752:                                             ; preds = %1750
  invoke void @_ZN10SimTKIpopt9IpoptData32SetTrialBoundMultipliersFromStepEdRKNS_6VectorES3_S3_S3_(ptr noundef nonnull align 8 dereferenceable(864) %1730, double noundef %1732, ptr noundef nonnull align 8 dereferenceable(205) %1736, ptr noundef nonnull align 8 dereferenceable(205) %1741, ptr noundef nonnull align 8 dereferenceable(205) %1746, ptr noundef nonnull align 8 dereferenceable(205) %1751)
          to label %1753 unwind label %1901

1753:                                             ; preds = %1752
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %124) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %124) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %123) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %123) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %122) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %122) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %121) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %121) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %125) #7
  %1754 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %134)
          to label %1755 unwind label %1912

1755:                                             ; preds = %1753
  %1756 = invoke noundef double @_ZN10SimTKIpopt25IpoptCalculatedQuantities16trial_avrg_complEv(ptr noundef nonnull align 8 dereferenceable(2025) %1754)
          to label %1757 unwind label %1912

1757:                                             ; preds = %1755
  store double %1756, ptr %125, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %126) #7
  %1758 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %134)
          to label %1759 unwind label %1916

1759:                                             ; preds = %1757
  %1760 = invoke noundef double @_ZN10SimTKIpopt25IpoptCalculatedQuantities15curr_avrg_complEv(ptr noundef nonnull align 8 dereferenceable(2025) %1758)
          to label %1761 unwind label %1916

1761:                                             ; preds = %1759
  store double %1760, ptr %126, align 8, !tbaa !9
  %1762 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5JnlstEv(ptr noundef nonnull align 8 dereferenceable(49) %134)
          to label %1763 unwind label %1916

1763:                                             ; preds = %1761
  %1764 = load double, ptr %126, align 8, !tbaa !9
  %1765 = load double, ptr %125, align 8, !tbaa !9
  invoke void (ptr, i32, i32, ptr, ...) @_ZNK10SimTKIpopt10Journalist6PrintfENS_13EJournalLevelENS_16EJournalCategoryEPKcz(ptr noundef nonnull align 8 dereferenceable(40) %1762, i32 noundef 5, i32 noundef 8, ptr noundef @.str.93, double noundef %1764, double noundef %1765)
          to label %1766 unwind label %1916

1766:                                             ; preds = %1763
  %1767 = getelementptr inbounds %"class.SimTKIpopt::FilterLSAcceptor", ptr %134, i32 0, i32 15
  %1768 = load i32, ptr %1767, align 8, !tbaa !11
  %1769 = icmp eq i32 %1768, 1
  br i1 %1769, label %1770, label %1920

1770:                                             ; preds = %1766
  %1771 = load double, ptr %125, align 8, !tbaa !9
  %1772 = getelementptr inbounds %"class.SimTKIpopt::FilterLSAcceptor", ptr %134, i32 0, i32 16
  %1773 = load double, ptr %1772, align 8, !tbaa !39
  %1774 = load double, ptr %126, align 8, !tbaa !9
  %1775 = fmul double %1773, %1774
  %1776 = fcmp oge double %1771, %1775
  br i1 %1776, label %1777, label %1920

1777:                                             ; preds = %1770
  %1778 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5JnlstEv(ptr noundef nonnull align 8 dereferenceable(49) %134)
          to label %1779 unwind label %1916

1779:                                             ; preds = %1777
  invoke void (ptr, i32, i32, ptr, ...) @_ZNK10SimTKIpopt10Journalist6PrintfENS_13EJournalLevelENS_16EJournalCategoryEPKcz(ptr noundef nonnull align 8 dereferenceable(40) %1778, i32 noundef 5, i32 noundef 8, ptr noundef @.str.94)
          to label %1780 unwind label %1916

1780:                                             ; preds = %1779
  %1781 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %134)
          to label %1782 unwind label %1916

1782:                                             ; preds = %1780
  %1783 = invoke noundef nonnull align 8 dereferenceable(664) ptr @_ZN10SimTKIpopt9IpoptData11TimingStatsEv(ptr noundef nonnull align 8 dereferenceable(864) %1781)
          to label %1784 unwind label %1916

1784:                                             ; preds = %1782
  %1785 = invoke noundef nonnull align 8 dereferenceable(18) ptr @_ZN10SimTKIpopt16TimingStatistics12TryCorrectorEv(ptr noundef nonnull align 8 dereferenceable(664) %1783)
          to label %1786 unwind label %1916

1786:                                             ; preds = %1784
  invoke void @_ZN10SimTKIpopt9TimedTask3EndEv(ptr noundef nonnull align 8 dereferenceable(18) %1785)
          to label %1787 unwind label %1916

1787:                                             ; preds = %1786
  store i1 false, ptr %5, align 1
  store i32 1, ptr %21, align 4
  br label %2028

1788:                                             ; preds = %1687, %1673, %1671, %1669
  %1789 = landingpad { ptr, i32 }
          cleanup
  %1790 = extractvalue { ptr, i32 } %1789, 0
  store ptr %1790, ptr %13, align 8
  %1791 = extractvalue { ptr, i32 } %1789, 1
  store i32 %1791, ptr %14, align 4
  br label %2032

1792:                                             ; preds = %1677, %1675
  %1793 = landingpad { ptr, i32 }
          cleanup
  %1794 = extractvalue { ptr, i32 } %1793, 0
  store ptr %1794, ptr %13, align 8
  %1795 = extractvalue { ptr, i32 } %1793, 1
  store i32 %1795, ptr %14, align 4
  br label %1810

1796:                                             ; preds = %1678
  %1797 = landingpad { ptr, i32 }
          cleanup
  %1798 = extractvalue { ptr, i32 } %1797, 0
  store ptr %1798, ptr %13, align 8
  %1799 = extractvalue { ptr, i32 } %1797, 1
  store i32 %1799, ptr %14, align 4
  br label %1809

1800:                                             ; preds = %1682, %1680
  %1801 = landingpad { ptr, i32 }
          cleanup
  %1802 = extractvalue { ptr, i32 } %1801, 0
  store ptr %1802, ptr %13, align 8
  %1803 = extractvalue { ptr, i32 } %1801, 1
  store i32 %1803, ptr %14, align 4
  br label %1808

1804:                                             ; preds = %1685, %1683
  %1805 = landingpad { ptr, i32 }
          cleanup
  %1806 = extractvalue { ptr, i32 } %1805, 0
  store ptr %1806, ptr %13, align 8
  %1807 = extractvalue { ptr, i32 } %1805, 1
  store i32 %1807, ptr %14, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %113) #7
  br label %1808

1808:                                             ; preds = %1804, %1800
  call void @llvm.lifetime.end.p0(i64 8, ptr %113) #7
  br label %1809

1809:                                             ; preds = %1808, %1796
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %112) #7
  br label %1810

1810:                                             ; preds = %1809, %1792
  call void @llvm.lifetime.end.p0(i64 8, ptr %112) #7
  br label %2032

1811:                                             ; preds = %1692, %1689
  %1812 = landingpad { ptr, i32 }
          cleanup
  %1813 = extractvalue { ptr, i32 } %1812, 0
  store ptr %1813, ptr %13, align 8
  %1814 = extractvalue { ptr, i32 } %1812, 1
  store i32 %1814, ptr %14, align 4
  br label %1829

1815:                                             ; preds = %1693
  %1816 = landingpad { ptr, i32 }
          cleanup
  %1817 = extractvalue { ptr, i32 } %1816, 0
  store ptr %1817, ptr %13, align 8
  %1818 = extractvalue { ptr, i32 } %1816, 1
  store i32 %1818, ptr %14, align 4
  br label %1828

1819:                                             ; preds = %1697, %1695
  %1820 = landingpad { ptr, i32 }
          cleanup
  %1821 = extractvalue { ptr, i32 } %1820, 0
  store ptr %1821, ptr %13, align 8
  %1822 = extractvalue { ptr, i32 } %1820, 1
  store i32 %1822, ptr %14, align 4
  br label %1827

1823:                                             ; preds = %1700, %1698
  %1824 = landingpad { ptr, i32 }
          cleanup
  %1825 = extractvalue { ptr, i32 } %1824, 0
  store ptr %1825, ptr %13, align 8
  %1826 = extractvalue { ptr, i32 } %1824, 1
  store i32 %1826, ptr %14, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %115) #7
  br label %1827

1827:                                             ; preds = %1823, %1819
  call void @llvm.lifetime.end.p0(i64 8, ptr %115) #7
  br label %1828

1828:                                             ; preds = %1827, %1815
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %114) #7
  br label %1829

1829:                                             ; preds = %1828, %1811
  call void @llvm.lifetime.end.p0(i64 8, ptr %114) #7
  br label %2032

1830:                                             ; preds = %1729, %1705, %1703, %1701
  %1831 = landingpad { ptr, i32 }
          cleanup
  %1832 = extractvalue { ptr, i32 } %1831, 0
  store ptr %1832, ptr %13, align 8
  %1833 = extractvalue { ptr, i32 } %1831, 1
  store i32 %1833, ptr %14, align 4
  br label %2031

1834:                                             ; preds = %1709, %1707
  %1835 = landingpad { ptr, i32 }
          cleanup
  %1836 = extractvalue { ptr, i32 } %1835, 0
  store ptr %1836, ptr %13, align 8
  %1837 = extractvalue { ptr, i32 } %1835, 1
  store i32 %1837, ptr %14, align 4
  br label %1872

1838:                                             ; preds = %1710
  %1839 = landingpad { ptr, i32 }
          cleanup
  %1840 = extractvalue { ptr, i32 } %1839, 0
  store ptr %1840, ptr %13, align 8
  %1841 = extractvalue { ptr, i32 } %1839, 1
  store i32 %1841, ptr %14, align 4
  br label %1871

1842:                                             ; preds = %1714, %1712
  %1843 = landingpad { ptr, i32 }
          cleanup
  %1844 = extractvalue { ptr, i32 } %1843, 0
  store ptr %1844, ptr %13, align 8
  %1845 = extractvalue { ptr, i32 } %1843, 1
  store i32 %1845, ptr %14, align 4
  br label %1870

1846:                                             ; preds = %1715
  %1847 = landingpad { ptr, i32 }
          cleanup
  %1848 = extractvalue { ptr, i32 } %1847, 0
  store ptr %1848, ptr %13, align 8
  %1849 = extractvalue { ptr, i32 } %1847, 1
  store i32 %1849, ptr %14, align 4
  br label %1869

1850:                                             ; preds = %1719, %1717
  %1851 = landingpad { ptr, i32 }
          cleanup
  %1852 = extractvalue { ptr, i32 } %1851, 0
  store ptr %1852, ptr %13, align 8
  %1853 = extractvalue { ptr, i32 } %1851, 1
  store i32 %1853, ptr %14, align 4
  br label %1868

1854:                                             ; preds = %1720
  %1855 = landingpad { ptr, i32 }
          cleanup
  %1856 = extractvalue { ptr, i32 } %1855, 0
  store ptr %1856, ptr %13, align 8
  %1857 = extractvalue { ptr, i32 } %1855, 1
  store i32 %1857, ptr %14, align 4
  br label %1867

1858:                                             ; preds = %1724, %1722
  %1859 = landingpad { ptr, i32 }
          cleanup
  %1860 = extractvalue { ptr, i32 } %1859, 0
  store ptr %1860, ptr %13, align 8
  %1861 = extractvalue { ptr, i32 } %1859, 1
  store i32 %1861, ptr %14, align 4
  br label %1866

1862:                                             ; preds = %1727, %1725
  %1863 = landingpad { ptr, i32 }
          cleanup
  %1864 = extractvalue { ptr, i32 } %1863, 0
  store ptr %1864, ptr %13, align 8
  %1865 = extractvalue { ptr, i32 } %1863, 1
  store i32 %1865, ptr %14, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %120) #7
  br label %1866

1866:                                             ; preds = %1862, %1858
  call void @llvm.lifetime.end.p0(i64 8, ptr %120) #7
  br label %1867

1867:                                             ; preds = %1866, %1854
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %119) #7
  br label %1868

1868:                                             ; preds = %1867, %1850
  call void @llvm.lifetime.end.p0(i64 8, ptr %119) #7
  br label %1869

1869:                                             ; preds = %1868, %1846
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %118) #7
  br label %1870

1870:                                             ; preds = %1869, %1842
  call void @llvm.lifetime.end.p0(i64 8, ptr %118) #7
  br label %1871

1871:                                             ; preds = %1870, %1838
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %117) #7
  br label %1872

1872:                                             ; preds = %1871, %1834
  call void @llvm.lifetime.end.p0(i64 8, ptr %117) #7
  br label %2031

1873:                                             ; preds = %1734, %1731
  %1874 = landingpad { ptr, i32 }
          cleanup
  %1875 = extractvalue { ptr, i32 } %1874, 0
  store ptr %1875, ptr %13, align 8
  %1876 = extractvalue { ptr, i32 } %1874, 1
  store i32 %1876, ptr %14, align 4
  br label %1911

1877:                                             ; preds = %1735
  %1878 = landingpad { ptr, i32 }
          cleanup
  %1879 = extractvalue { ptr, i32 } %1878, 0
  store ptr %1879, ptr %13, align 8
  %1880 = extractvalue { ptr, i32 } %1878, 1
  store i32 %1880, ptr %14, align 4
  br label %1910

1881:                                             ; preds = %1739, %1737
  %1882 = landingpad { ptr, i32 }
          cleanup
  %1883 = extractvalue { ptr, i32 } %1882, 0
  store ptr %1883, ptr %13, align 8
  %1884 = extractvalue { ptr, i32 } %1882, 1
  store i32 %1884, ptr %14, align 4
  br label %1909

1885:                                             ; preds = %1740
  %1886 = landingpad { ptr, i32 }
          cleanup
  %1887 = extractvalue { ptr, i32 } %1886, 0
  store ptr %1887, ptr %13, align 8
  %1888 = extractvalue { ptr, i32 } %1886, 1
  store i32 %1888, ptr %14, align 4
  br label %1908

1889:                                             ; preds = %1744, %1742
  %1890 = landingpad { ptr, i32 }
          cleanup
  %1891 = extractvalue { ptr, i32 } %1890, 0
  store ptr %1891, ptr %13, align 8
  %1892 = extractvalue { ptr, i32 } %1890, 1
  store i32 %1892, ptr %14, align 4
  br label %1907

1893:                                             ; preds = %1745
  %1894 = landingpad { ptr, i32 }
          cleanup
  %1895 = extractvalue { ptr, i32 } %1894, 0
  store ptr %1895, ptr %13, align 8
  %1896 = extractvalue { ptr, i32 } %1894, 1
  store i32 %1896, ptr %14, align 4
  br label %1906

1897:                                             ; preds = %1749, %1747
  %1898 = landingpad { ptr, i32 }
          cleanup
  %1899 = extractvalue { ptr, i32 } %1898, 0
  store ptr %1899, ptr %13, align 8
  %1900 = extractvalue { ptr, i32 } %1898, 1
  store i32 %1900, ptr %14, align 4
  br label %1905

1901:                                             ; preds = %1752, %1750
  %1902 = landingpad { ptr, i32 }
          cleanup
  %1903 = extractvalue { ptr, i32 } %1902, 0
  store ptr %1903, ptr %13, align 8
  %1904 = extractvalue { ptr, i32 } %1902, 1
  store i32 %1904, ptr %14, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %124) #7
  br label %1905

1905:                                             ; preds = %1901, %1897
  call void @llvm.lifetime.end.p0(i64 8, ptr %124) #7
  br label %1906

1906:                                             ; preds = %1905, %1893
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %123) #7
  br label %1907

1907:                                             ; preds = %1906, %1889
  call void @llvm.lifetime.end.p0(i64 8, ptr %123) #7
  br label %1908

1908:                                             ; preds = %1907, %1885
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %122) #7
  br label %1909

1909:                                             ; preds = %1908, %1881
  call void @llvm.lifetime.end.p0(i64 8, ptr %122) #7
  br label %1910

1910:                                             ; preds = %1909, %1877
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %121) #7
  br label %1911

1911:                                             ; preds = %1910, %1873
  call void @llvm.lifetime.end.p0(i64 8, ptr %121) #7
  br label %2031

1912:                                             ; preds = %1755, %1753
  %1913 = landingpad { ptr, i32 }
          cleanup
  %1914 = extractvalue { ptr, i32 } %1913, 0
  store ptr %1914, ptr %13, align 8
  %1915 = extractvalue { ptr, i32 } %1913, 1
  store i32 %1915, ptr %14, align 4
  br label %2030

1916:                                             ; preds = %2024, %2022, %2020, %2018, %1977, %1975, %1974, %1972, %1970, %1968, %1965, %1963, %1958, %1956, %1954, %1786, %1784, %1782, %1780, %1779, %1777, %1763, %1761, %1759, %1757
  %1917 = landingpad { ptr, i32 }
          cleanup
  %1918 = extractvalue { ptr, i32 } %1917, 0
  store ptr %1918, ptr %13, align 8
  %1919 = extractvalue { ptr, i32 } %1917, 1
  store i32 %1919, ptr %14, align 4
  br label %2029

1920:                                             ; preds = %1770, %1766
  %1921 = load double, ptr %7, align 8, !tbaa !9
  %1922 = load ptr, ptr %134, align 8, !tbaa !37
  %1923 = getelementptr inbounds ptr, ptr %1922, i64 7
  %1924 = load ptr, ptr %1923, align 8
  %1925 = invoke noundef zeroext i1 %1924(ptr noundef nonnull align 8 dereferenceable(304) %134, double noundef %1921)
          to label %1926 unwind label %1928

1926:                                             ; preds = %1920
  %1927 = zext i1 %1925 to i8
  store i8 %1927, ptr %22, align 1, !tbaa !36
  br label %1951

1928:                                             ; preds = %1920
  %1929 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN10SimTKIpopt8IpoptNLP10Eval_ErrorE
  %1930 = extractvalue { ptr, i32 } %1929, 0
  store ptr %1930, ptr %13, align 8
  %1931 = extractvalue { ptr, i32 } %1929, 1
  store i32 %1931, ptr %14, align 4
  br label %1932

1932:                                             ; preds = %1928
  %1933 = load i32, ptr %14, align 4
  %1934 = call i32 @llvm.eh.typeid.for.p0(ptr @_ZTIN10SimTKIpopt8IpoptNLP10Eval_ErrorE) #7
  %1935 = icmp eq i32 %1933, %1934
  br i1 %1935, label %1936, label %2029

1936:                                             ; preds = %1932
  call void @llvm.lifetime.start.p0(i64 8, ptr %127) #7
  %1937 = load ptr, ptr %13, align 8
  %1938 = call ptr @__cxa_begin_catch(ptr %1937) #7
  store ptr %1938, ptr %127, align 8
  %1939 = load ptr, ptr %127, align 8, !tbaa !5
  %1940 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5JnlstEv(ptr noundef nonnull align 8 dereferenceable(49) %134)
          to label %1941 unwind label %1983

1941:                                             ; preds = %1936
  invoke void @_ZNK10SimTKIpopt14IpoptException15ReportExceptionERKNS_10JournalistENS_13EJournalLevelE(ptr noundef nonnull align 8 dereferenceable(112) %1939, ptr noundef nonnull align 8 dereferenceable(40) %1940, i32 noundef 5)
          to label %1942 unwind label %1983

1942:                                             ; preds = %1941
  %1943 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5JnlstEv(ptr noundef nonnull align 8 dereferenceable(49) %134)
          to label %1944 unwind label %1983

1944:                                             ; preds = %1942
  invoke void (ptr, i32, i32, ptr, ...) @_ZNK10SimTKIpopt10Journalist6PrintfENS_13EJournalLevelENS_16EJournalCategoryEPKcz(ptr noundef nonnull align 8 dereferenceable(40) %1943, i32 noundef 2, i32 noundef 2, ptr noundef @.str.95)
          to label %1945 unwind label %1983

1945:                                             ; preds = %1944
  %1946 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %134)
          to label %1947 unwind label %1983

1947:                                             ; preds = %1945
  call void @llvm.lifetime.start.p0(i64 32, ptr %128) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %129) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %129) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %128, ptr noundef @.str.90, ptr noundef nonnull align 1 dereferenceable(1) %129)
          to label %1948 unwind label %1987

1948:                                             ; preds = %1947
  invoke void @_ZN10SimTKIpopt9IpoptData18Append_info_stringERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(864) %1946, ptr noundef nonnull align 8 dereferenceable(32) %128)
          to label %1949 unwind label %1991

1949:                                             ; preds = %1948
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %128) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %129) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %129) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %128) #7
  store i8 0, ptr %22, align 1, !tbaa !36
  invoke void @__cxa_end_catch()
          to label %1950 unwind label %1996

1950:                                             ; preds = %1949
  call void @llvm.lifetime.end.p0(i64 8, ptr %127) #7
  br label %1951

1951:                                             ; preds = %1950, %1926
  %1952 = load i8, ptr %22, align 1, !tbaa !36, !range !32, !noundef !33
  %1953 = trunc i8 %1952 to i1
  br i1 %1953, label %1954, label %2018

1954:                                             ; preds = %1951
  %1955 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5JnlstEv(ptr noundef nonnull align 8 dereferenceable(49) %134)
          to label %1956 unwind label %1916

1956:                                             ; preds = %1954
  %1957 = load double, ptr %111, align 8, !tbaa !9
  invoke void (ptr, i32, i32, ptr, ...) @_ZNK10SimTKIpopt10Journalist6PrintfENS_13EJournalLevelENS_16EJournalCategoryEPKcz(ptr noundef nonnull align 8 dereferenceable(40) %1955, i32 noundef 5, i32 noundef 8, ptr noundef @.str.96, double noundef %1957)
          to label %1958 unwind label %1916

1958:                                             ; preds = %1956
  %1959 = load double, ptr %111, align 8, !tbaa !9
  %1960 = load ptr, ptr %8, align 8, !tbaa !5
  store double %1959, ptr %1960, align 8, !tbaa !9
  %1961 = load ptr, ptr %9, align 8, !tbaa !5
  %1962 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_14IteratesVectorEEaSERKS2_(ptr noundef nonnull align 8 dereferenceable(8) %1961, ptr noundef nonnull align 8 dereferenceable(8) %23)
          to label %1963 unwind label %1916

1963:                                             ; preds = %1958
  %1964 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5JnlstEv(ptr noundef nonnull align 8 dereferenceable(49) %134)
          to label %1965 unwind label %1916

1965:                                             ; preds = %1963
  %1966 = invoke noundef zeroext i1 @_ZNK10SimTKIpopt10Journalist13ProduceOutputENS_13EJournalLevelENS_16EJournalCategoryE(ptr noundef nonnull align 8 dereferenceable(40) %1964, i32 noundef 8, i32 noundef 2)
          to label %1967 unwind label %1916

1967:                                             ; preds = %1965
  br i1 %1966, label %1968, label %2017

1968:                                             ; preds = %1967
  %1969 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5JnlstEv(ptr noundef nonnull align 8 dereferenceable(49) %134)
          to label %1970 unwind label %1916

1970:                                             ; preds = %1968
  %1971 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %134)
          to label %1972 unwind label %1916

1972:                                             ; preds = %1970
  %1973 = invoke noundef i32 @_ZNK10SimTKIpopt9IpoptData10iter_countEv(ptr noundef nonnull align 8 dereferenceable(864) %1971)
          to label %1974 unwind label %1916

1974:                                             ; preds = %1972
  invoke void (ptr, i32, i32, ptr, ...) @_ZNK10SimTKIpopt10Journalist6PrintfENS_13EJournalLevelENS_16EJournalCategoryEPKcz(ptr noundef nonnull align 8 dereferenceable(40) %1969, i32 noundef 8, i32 noundef 2, ptr noundef @.str.97, i32 noundef %1973)
          to label %1975 unwind label %1916

1975:                                             ; preds = %1974
  %1976 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %23)
          to label %1977 unwind label %1916

1977:                                             ; preds = %1975
  %1978 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5JnlstEv(ptr noundef nonnull align 8 dereferenceable(49) %134)
          to label %1979 unwind label %1916

1979:                                             ; preds = %1977
  call void @llvm.lifetime.start.p0(i64 32, ptr %130) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %131) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %131) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %130, ptr noundef @.str.98, ptr noundef nonnull align 1 dereferenceable(1) %131)
          to label %1980 unwind label %2003

1980:                                             ; preds = %1979
  call void @llvm.lifetime.start.p0(i64 32, ptr %132) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %133) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %133) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %132, ptr noundef @.str.99, ptr noundef nonnull align 1 dereferenceable(1) %133)
          to label %1981 unwind label %2007

1981:                                             ; preds = %1980
  invoke void @_ZNK10SimTKIpopt6Vector5PrintERKNS_10JournalistENS_13EJournalLevelENS_16EJournalCategoryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSD_(ptr noundef nonnull align 8 dereferenceable(205) %1976, ptr noundef nonnull align 8 dereferenceable(40) %1978, i32 noundef 8, i32 noundef 2, ptr noundef nonnull align 8 dereferenceable(32) %130, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(32) %132)
          to label %1982 unwind label %2011

1982:                                             ; preds = %1981
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %132) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %133) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %133) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %132) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %130) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %131) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %131) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %130) #7
  br label %2017

1983:                                             ; preds = %1945, %1944, %1942, %1941, %1936
  %1984 = landingpad { ptr, i32 }
          cleanup
  %1985 = extractvalue { ptr, i32 } %1984, 0
  store ptr %1985, ptr %13, align 8
  %1986 = extractvalue { ptr, i32 } %1984, 1
  store i32 %1986, ptr %14, align 4
  br label %2000

1987:                                             ; preds = %1947
  %1988 = landingpad { ptr, i32 }
          cleanup
  %1989 = extractvalue { ptr, i32 } %1988, 0
  store ptr %1989, ptr %13, align 8
  %1990 = extractvalue { ptr, i32 } %1988, 1
  store i32 %1990, ptr %14, align 4
  br label %1995

1991:                                             ; preds = %1948
  %1992 = landingpad { ptr, i32 }
          cleanup
  %1993 = extractvalue { ptr, i32 } %1992, 0
  store ptr %1993, ptr %13, align 8
  %1994 = extractvalue { ptr, i32 } %1992, 1
  store i32 %1994, ptr %14, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %128) #7
  br label %1995

1995:                                             ; preds = %1991, %1987
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %129) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %129) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %128) #7
  br label %2000

1996:                                             ; preds = %1949
  %1997 = landingpad { ptr, i32 }
          cleanup
  %1998 = extractvalue { ptr, i32 } %1997, 0
  store ptr %1998, ptr %13, align 8
  %1999 = extractvalue { ptr, i32 } %1997, 1
  store i32 %1999, ptr %14, align 4
  br label %2002

2000:                                             ; preds = %1995, %1983
  invoke void @__cxa_end_catch()
          to label %2001 unwind label %2043

2001:                                             ; preds = %2000
  br label %2002

2002:                                             ; preds = %2001, %1996
  call void @llvm.lifetime.end.p0(i64 8, ptr %127) #7
  br label %2029

2003:                                             ; preds = %1979
  %2004 = landingpad { ptr, i32 }
          cleanup
  %2005 = extractvalue { ptr, i32 } %2004, 0
  store ptr %2005, ptr %13, align 8
  %2006 = extractvalue { ptr, i32 } %2004, 1
  store i32 %2006, ptr %14, align 4
  br label %2016

2007:                                             ; preds = %1980
  %2008 = landingpad { ptr, i32 }
          cleanup
  %2009 = extractvalue { ptr, i32 } %2008, 0
  store ptr %2009, ptr %13, align 8
  %2010 = extractvalue { ptr, i32 } %2008, 1
  store i32 %2010, ptr %14, align 4
  br label %2015

2011:                                             ; preds = %1981
  %2012 = landingpad { ptr, i32 }
          cleanup
  %2013 = extractvalue { ptr, i32 } %2012, 0
  store ptr %2013, ptr %13, align 8
  %2014 = extractvalue { ptr, i32 } %2012, 1
  store i32 %2014, ptr %14, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %132) #7
  br label %2015

2015:                                             ; preds = %2011, %2007
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %133) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %133) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %132) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %130) #7
  br label %2016

2016:                                             ; preds = %2015, %2003
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %131) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %131) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %130) #7
  br label %2029

2017:                                             ; preds = %1982, %1967
  br label %2018

2018:                                             ; preds = %2017, %1951
  %2019 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %134)
          to label %2020 unwind label %1916

2020:                                             ; preds = %2018
  %2021 = invoke noundef nonnull align 8 dereferenceable(664) ptr @_ZN10SimTKIpopt9IpoptData11TimingStatsEv(ptr noundef nonnull align 8 dereferenceable(864) %2019)
          to label %2022 unwind label %1916

2022:                                             ; preds = %2020
  %2023 = invoke noundef nonnull align 8 dereferenceable(18) ptr @_ZN10SimTKIpopt16TimingStatistics12TryCorrectorEv(ptr noundef nonnull align 8 dereferenceable(664) %2021)
          to label %2024 unwind label %1916

2024:                                             ; preds = %2022
  invoke void @_ZN10SimTKIpopt9TimedTask3EndEv(ptr noundef nonnull align 8 dereferenceable(18) %2023)
          to label %2025 unwind label %1916

2025:                                             ; preds = %2024
  %2026 = load i8, ptr %22, align 1, !tbaa !36, !range !32, !noundef !33
  %2027 = trunc i8 %2026 to i1
  store i1 %2027, ptr %5, align 1
  store i32 1, ptr %21, align 4
  br label %2028

2028:                                             ; preds = %2025, %1787
  call void @llvm.lifetime.end.p0(i64 8, ptr %126) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %125) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %116) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %111) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %23) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %23) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %22) #7
  br label %2034

2029:                                             ; preds = %2016, %2002, %1932, %1916
  call void @llvm.lifetime.end.p0(i64 8, ptr %126) #7
  br label %2030

2030:                                             ; preds = %2029, %1912
  call void @llvm.lifetime.end.p0(i64 8, ptr %125) #7
  br label %2031

2031:                                             ; preds = %2030, %1911, %1872, %1830
  call void @llvm.lifetime.end.p0(i64 8, ptr %116) #7
  br label %2032

2032:                                             ; preds = %2031, %1829, %1810, %1788
  call void @llvm.lifetime.end.p0(i64 8, ptr %111) #7
  br label %2033

2033:                                             ; preds = %2032, %1667, %870, %452, %358
  call void @_ZN10SimTKIpopt8SmartPtrINS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %23) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %23) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %22) #7
  br label %2035

2034:                                             ; preds = %2028, %198
  call void @llvm.lifetime.end.p0(i64 4, ptr %10) #7
  br label %2036

2035:                                             ; preds = %2033, %252
  call void @llvm.lifetime.end.p0(i64 4, ptr %10) #7
  br label %2038

2036:                                             ; preds = %2034, %153
  %2037 = load i1, ptr %5, align 1
  ret i1 %2037

2038:                                             ; preds = %2035
  %2039 = load ptr, ptr %13, align 8
  %2040 = load i32, ptr %14, align 4
  %2041 = insertvalue { ptr, i32 } poison, ptr %2039, 0
  %2042 = insertvalue { ptr, i32 } %2041, i32 %2040, 1
  resume { ptr, i32 } %2042

2043:                                             ; preds = %2000
  %2044 = landingpad { ptr, i32 }
          catch ptr null
  %2045 = extractvalue { ptr, i32 } %2044, 0
  call void @__clang_call_terminate(ptr %2045) #8
  unreachable
}

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind noalias writable sret(%"class.SimTKIpopt::SmartPtr.37") align 8, ptr noundef nonnull align 8 dereferenceable(864)) #5 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNK10SimTKIpopt14IteratesVector3z_LEv(ptr dead_on_unwind noalias writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8, ptr noundef nonnull align 8 dereferenceable(280)) #3 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef i32 @_ZNK10SimTKIpopt6Vector3DimEv(ptr noundef nonnull align 8 dereferenceable(205)) #5 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNK10SimTKIpopt14IteratesVector3z_UEv(ptr dead_on_unwind noalias writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8, ptr noundef nonnull align 8 dereferenceable(280)) #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNK10SimTKIpopt14IteratesVector3v_LEv(ptr dead_on_unwind noalias writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8, ptr noundef nonnull align 8 dereferenceable(280)) #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNK10SimTKIpopt14IteratesVector3v_UEv(ptr dead_on_unwind noalias writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8, ptr noundef nonnull align 8 dereferenceable(280)) #3 align 2

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

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

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

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

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

declare void @_ZN10SimTKIpopt25IpoptCalculatedQuantities15curr_grad_lag_xEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8, ptr noundef nonnull align 8 dereferenceable(2025)) #4

declare void @_ZN10SimTKIpopt25IpoptCalculatedQuantities15curr_grad_lag_sEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8, ptr noundef nonnull align 8 dereferenceable(2025)) #4

declare void @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_compl_x_LEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8, ptr noundef nonnull align 8 dereferenceable(2025)) #4

declare void @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_compl_x_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8, ptr noundef nonnull align 8 dereferenceable(2025)) #4

declare void @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_compl_s_LEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8, ptr noundef nonnull align 8 dereferenceable(2025)) #4

declare void @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_compl_s_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8, ptr noundef nonnull align 8 dereferenceable(2025)) #4

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN10SimTKIpopt9IpoptData13set_delta_affERNS_8SmartPtrINS_14IteratesVectorEEE(ptr noundef nonnull align 8 dereferenceable(864), ptr noundef nonnull align 8 dereferenceable(8)) #5 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN10SimTKIpopt9IpoptData19SetHaveAffineDeltasEb(ptr noundef nonnull align 8 dereferenceable(864), i1 noundef zeroext) #2 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZNK10SimTKIpopt9IpoptData9delta_affEv(ptr dead_on_unwind noalias writable sret(%"class.SimTKIpopt::SmartPtr.37") align 8, ptr noundef nonnull align 8 dereferenceable(864)) #5 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN10SimTKIpopt14IteratesVector10x_NonConstEv(ptr dead_on_unwind noalias writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8, ptr noundef nonnull align 8 dereferenceable(280)) #3 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN10SimTKIpopt6Vector3SetEd(ptr noundef nonnull align 8 dereferenceable(205), double noundef) #5 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN10SimTKIpopt14IteratesVector10s_NonConstEv(ptr dead_on_unwind noalias writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8, ptr noundef nonnull align 8 dereferenceable(280)) #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN10SimTKIpopt14IteratesVector12y_c_NonConstEv(ptr dead_on_unwind noalias writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8, ptr noundef nonnull align 8 dereferenceable(280)) #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN10SimTKIpopt14IteratesVector12y_d_NonConstEv(ptr dead_on_unwind noalias writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8, ptr noundef nonnull align 8 dereferenceable(280)) #3 align 2

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

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

declare void @_ZNK10SimTKIpopt6Matrix15TransMultVectorEdRKNS_6VectorEdRS1_(ptr noundef nonnull align 8 dereferenceable(69), double noundef, ptr noundef nonnull align 8 dereferenceable(205), double noundef, ptr noundef nonnull align 8 dereferenceable(205)) #4

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN10SimTKIpopt14IteratesVector12z_L_NonConstEv(ptr dead_on_unwind noalias writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8, ptr noundef nonnull align 8 dereferenceable(280)) #3 align 2

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN10SimTKIpopt6Vector19ElementWiseMultiplyERKS0_(ptr noundef nonnull align 8 dereferenceable(205), ptr noundef nonnull align 8 dereferenceable(205)) #5 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN10SimTKIpopt14IteratesVector12z_U_NonConstEv(ptr dead_on_unwind noalias writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8, ptr noundef nonnull align 8 dereferenceable(280)) #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN10SimTKIpopt14IteratesVector12v_L_NonConstEv(ptr dead_on_unwind noalias writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8, ptr noundef nonnull align 8 dereferenceable(280)) #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN10SimTKIpopt14IteratesVector12v_U_NonConstEv(ptr dead_on_unwind noalias writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8, ptr noundef nonnull align 8 dereferenceable(280)) #3 align 2

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

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

declare void @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_slack_x_LEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8, ptr noundef nonnull align 8 dereferenceable(2025)) #4

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN10SimTKIpopt6Vector13AddTwoVectorsEdRKS0_dS2_d(ptr noundef nonnull align 8 dereferenceable(205), double noundef, ptr noundef nonnull align 8 dereferenceable(205), double noundef, ptr noundef nonnull align 8 dereferenceable(205), double noundef) #5 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN10SimTKIpopt6Vector9AddScalarEd(ptr noundef nonnull align 8 dereferenceable(205), double noundef) #5 align 2

declare void @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_slack_x_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8, ptr noundef nonnull align 8 dereferenceable(2025)) #4

declare void @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_slack_s_LEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8, ptr noundef nonnull align 8 dereferenceable(2025)) #4

declare void @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_slack_s_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8, ptr noundef nonnull align 8 dereferenceable(2025)) #4

declare noundef double @_ZN10SimTKIpopt25IpoptCalculatedQuantities22dual_frac_to_the_boundEdRKNS_6VectorES3_S3_S3_(ptr noundef nonnull align 8 dereferenceable(2025), double noundef, ptr noundef nonnull align 8 dereferenceable(205), ptr noundef nonnull align 8 dereferenceable(205), ptr noundef nonnull align 8 dereferenceable(205), ptr noundef nonnull align 8 dereferenceable(205)) #4

declare void @_ZN10SimTKIpopt9IpoptData32SetTrialBoundMultipliersFromStepEdRKNS_6VectorES3_S3_S3_(ptr noundef nonnull align 8 dereferenceable(864), double noundef, ptr noundef nonnull align 8 dereferenceable(205), ptr noundef nonnull align 8 dereferenceable(205), ptr noundef nonnull align 8 dereferenceable(205), ptr noundef nonnull align 8 dereferenceable(205)) #4

declare noundef double @_ZN10SimTKIpopt25IpoptCalculatedQuantities16trial_avrg_complEv(ptr noundef nonnull align 8 dereferenceable(2025)) #4

declare noundef double @_ZN10SimTKIpopt25IpoptCalculatedQuantities15curr_avrg_complEv(ptr noundef nonnull align 8 dereferenceable(2025)) #4

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

declare noundef zeroext i1 @_ZNK10SimTKIpopt10Journalist13ProduceOutputENS_13EJournalLevelENS_16EJournalCategoryE(ptr noundef nonnull align 8 dereferenceable(40), i32 noundef, i32 noundef) #4

declare void @_ZNK10SimTKIpopt6Vector5PrintERKNS_10JournalistENS_13EJournalLevelENS_16EJournalCategoryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSD_(ptr noundef nonnull align 8 dereferenceable(205), ptr noundef nonnull align 8 dereferenceable(40), i32 noundef, i32 noundef, ptr noundef nonnull align 8 dereferenceable(32), i32 noundef, ptr noundef nonnull align 8 dereferenceable(32)) #4

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

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"double", !7, i64 0}
!11 = !{!12, !22, i64 168}
!12 = !{!"_ZTSN10SimTKIpopt16FilterLSAcceptorE", !13, i64 0, !10, i64 56, !10, i64 64, !10, i64 72, !10, i64 80, !10, i64 88, !10, i64 96, !10, i64 104, !10, i64 112, !10, i64 120, !10, i64 128, !10, i64 136, !16, i64 144, !10, i64 152, !10, i64 160, !22, i64 168, !10, i64 176, !21, i64 184, !21, i64 185, !16, i64 188, !16, i64 192, !10, i64 200, !10, i64 208, !10, i64 216, !10, i64 224, !10, i64 232, !10, i64 240, !23, i64 248, !10, i64 280, !16, i64 288, !16, i64 292, !30, i64 296}
!13 = !{!"_ZTSN10SimTKIpopt22BacktrackingLSAcceptorE", !14, i64 0}
!14 = !{!"_ZTSN10SimTKIpopt23AlgorithmStrategyObjectE", !15, i64 0, !17, i64 16, !18, i64 24, !19, i64 32, !20, i64 40, !21, i64 48}
!15 = !{!"_ZTSN10SimTKIpopt16ReferencedObjectE", !16, i64 8}
!16 = !{!"int", !7, i64 0}
!17 = !{!"_ZTSN10SimTKIpopt8SmartPtrIKNS_10JournalistEEE", !6, i64 0}
!18 = !{!"_ZTSN10SimTKIpopt8SmartPtrINS_8IpoptNLPEEE", !6, i64 0}
!19 = !{!"_ZTSN10SimTKIpopt8SmartPtrINS_9IpoptDataEEE", !6, i64 0}
!20 = !{!"_ZTSN10SimTKIpopt8SmartPtrINS_25IpoptCalculatedQuantitiesEEE", !6, i64 0}
!21 = !{!"bool", !7, i64 0}
!22 = !{!"_ZTSN10SimTKIpopt16FilterLSAcceptor17CorrectorTypeEnumE", !7, i64 0}
!23 = !{!"_ZTSN10SimTKIpopt6FilterE", !16, i64 0, !24, i64 8}
!24 = !{!"_ZTSNSt7__cxx114listIPN10SimTKIpopt11FilterEntryESaIS3_EEE", !25, i64 0}
!25 = !{!"_ZTSNSt7__cxx1110_List_baseIPN10SimTKIpopt11FilterEntryESaIS3_EEE", !26, i64 0}
!26 = !{!"_ZTSNSt7__cxx1110_List_baseIPN10SimTKIpopt11FilterEntryESaIS3_EE10_List_implE", !27, i64 0}
!27 = !{!"_ZTSNSt8__detail17_List_node_headerE", !28, i64 0, !29, i64 16}
!28 = !{!"_ZTSNSt8__detail15_List_node_baseE", !6, i64 0, !6, i64 8}
!29 = !{!"long", !7, i64 0}
!30 = !{!"_ZTSN10SimTKIpopt8SmartPtrINS_14PDSystemSolverEEE", !6, i64 0}
!31 = !{!12, !21, i64 184}
!32 = !{i8 0, i8 2}
!33 = !{}
!34 = !{!12, !21, i64 185}
!35 = !{!16, !16, i64 0}
!36 = !{!21, !21, i64 0}
!37 = !{!38, !38, i64 0}
!38 = !{!"vtable pointer", !8, i64 0}
!39 = !{!12, !10, i64 176}


; 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.SimTKIpopt::SmartPtr.40" = type { ptr }
%"class.SimTKIpopt::SmartPtr.41" = type { ptr }
%"class.SimTKIpopt::SmartPtr.37" = type { ptr }
%"class.SimTKIpopt::SmartPtr.31" = type { ptr }
%"class.SimTKIpopt::SmartPtr.52" = type { 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.15" = type { i8 }

@_ZTIN10SimTKIpopt8IpoptNLP10Eval_ErrorE = external dso_local constant { ptr, ptr, ptr }, align 8
@.str.90 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.92 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.93 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.94 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.95 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.96 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.97 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.98 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.99 = external hidden unnamed_addr constant [1 x i8], align 1

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

declare i32 @__gxx_personality_v0(...)

; Function Attrs: noinline noreturn nounwind uwtable
declare hidden void @__clang_call_terminate(ptr noundef) local_unnamed_addr #1

declare ptr @__cxa_begin_catch(ptr) local_unnamed_addr

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

; Function Attrs: mustprogress nounwind uwtable
declare void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #2 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 #3 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5JnlstEv(ptr noundef nonnull align 8 dereferenceable(49)) local_unnamed_addr #3 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49)) local_unnamed_addr #3 align 2

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

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

declare void @_ZN10SimTKIpopt25IpoptCalculatedQuantities6curr_cEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8, ptr noundef nonnull align 8 dereferenceable(2025)) local_unnamed_addr #4

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef ptr @_ZNK10SimTKIpopt6Vector7MakeNewEv(ptr noundef nonnull align 8 dereferenceable(205)) local_unnamed_addr #5 align 2

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

declare void @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_d_minus_sEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8, ptr noundef nonnull align 8 dereferenceable(2025)) local_unnamed_addr #4

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN10SimTKIpopt6Vector4CopyERKS0_(ptr noundef nonnull align 8 dereferenceable(205), ptr noundef nonnull align 8 dereferenceable(205)) local_unnamed_addr #5 align 2

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

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

declare void @_ZNK10SimTKIpopt14IteratesVector21MakeNewIteratesVectorEb(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.41") align 8, ptr noundef nonnull align 8 dereferenceable(280), i1 noundef zeroext) local_unnamed_addr #4

declare void @_ZNK10SimTKIpopt14IteratesVector16MakeNewContainerEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.41") align 8, ptr noundef nonnull align 8 dereferenceable(280)) local_unnamed_addr #4

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

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

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

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

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

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

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

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

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

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

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

declare noundef double @_ZN10SimTKIpopt25IpoptCalculatedQuantities24primal_frac_to_the_boundEdRKNS_6VectorES3_(ptr noundef nonnull align 8 dereferenceable(2025), double noundef, ptr noundef nonnull align 8 dereferenceable(205), ptr noundef nonnull align 8 dereferenceable(205)) local_unnamed_addr #4

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNK10SimTKIpopt14IteratesVector1xEv(ptr dead_on_unwind noalias writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8, ptr noundef nonnull align 8 dereferenceable(280)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNK10SimTKIpopt14IteratesVector1sEv(ptr dead_on_unwind noalias writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8, ptr noundef nonnull align 8 dereferenceable(280)) local_unnamed_addr #3 align 2

declare void @_ZN10SimTKIpopt9IpoptData31SetTrialPrimalVariablesFromStepEdRKNS_6VectorES3_(ptr noundef nonnull align 8 dereferenceable(864), double noundef, ptr noundef nonnull align 8 dereferenceable(205), ptr noundef nonnull align 8 dereferenceable(205)) local_unnamed_addr #4

; Function Attrs: nofree nosync nounwind memory(none)
declare i32 @llvm.eh.typeid.for.p0(ptr) #6

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

declare void @__cxa_end_catch() local_unnamed_addr

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

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

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

; Function Attrs: mustprogress uwtable
define dso_local noundef zeroext i1 @_ZN10SimTKIpopt16FilterLSAcceptor12TryCorrectorEdRdRNS_8SmartPtrINS_14IteratesVectorEEE(ptr noundef nonnull align 8 dereferenceable(304) %0, double noundef %1, ptr nocapture noundef nonnull writeonly align 8 dereferenceable(8) %2, ptr noundef nonnull align 8 dereferenceable(8) %3) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 {
  %5 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %6 = alloca %"class.SimTKIpopt::SmartPtr.37", align 8
  %7 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %8 = alloca %"class.SimTKIpopt::SmartPtr.37", align 8
  %9 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %10 = alloca %"class.SimTKIpopt::SmartPtr.37", align 8
  %11 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %12 = alloca %"class.SimTKIpopt::SmartPtr.37", align 8
  %13 = alloca %"class.SimTKIpopt::SmartPtr.41", align 8
  %14 = alloca %"class.SimTKIpopt::SmartPtr.41", align 8
  %15 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %16 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %17 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %18 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %19 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %20 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %21 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %22 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %23 = alloca %"class.SimTKIpopt::SmartPtr.41", align 8
  %24 = alloca %"class.SimTKIpopt::SmartPtr.37", align 8
  %25 = alloca %"class.SimTKIpopt::SmartPtr.41", align 8
  %26 = alloca %"class.SimTKIpopt::SmartPtr.31", align 8
  %27 = alloca %"class.SimTKIpopt::SmartPtr.31", align 8
  %28 = alloca %"class.SimTKIpopt::SmartPtr.31", align 8
  %29 = alloca %"class.SimTKIpopt::SmartPtr.31", align 8
  %30 = alloca %"class.SimTKIpopt::SmartPtr.52", align 8
  %31 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %32 = alloca %"class.SimTKIpopt::SmartPtr.31", align 8
  %33 = alloca %"class.SimTKIpopt::SmartPtr.31", align 8
  %34 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %35 = alloca %"class.SimTKIpopt::SmartPtr.52", align 8
  %36 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %37 = alloca %"class.SimTKIpopt::SmartPtr.31", align 8
  %38 = alloca %"class.SimTKIpopt::SmartPtr.31", align 8
  %39 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %40 = alloca %"class.SimTKIpopt::SmartPtr.52", align 8
  %41 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %42 = alloca %"class.SimTKIpopt::SmartPtr.31", align 8
  %43 = alloca %"class.SimTKIpopt::SmartPtr.31", align 8
  %44 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %45 = alloca %"class.SimTKIpopt::SmartPtr.52", align 8
  %46 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %47 = alloca %"class.SimTKIpopt::SmartPtr.31", align 8
  %48 = alloca %"class.SimTKIpopt::SmartPtr.31", align 8
  %49 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %50 = alloca %"class.SimTKIpopt::SmartPtr.41", align 8
  %51 = alloca %"class.SimTKIpopt::SmartPtr.31", align 8
  %52 = alloca %"class.SimTKIpopt::SmartPtr.31", align 8
  %53 = alloca %"class.SimTKIpopt::SmartPtr.31", align 8
  %54 = alloca %"class.SimTKIpopt::SmartPtr.31", align 8
  %55 = alloca %"class.SimTKIpopt::SmartPtr.31", align 8
  %56 = alloca %"class.SimTKIpopt::SmartPtr.31", align 8
  %57 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %58 = alloca %"class.SimTKIpopt::SmartPtr.52", align 8
  %59 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %60 = alloca %"class.SimTKIpopt::SmartPtr.31", align 8
  %61 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %62 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %63 = alloca %"class.SimTKIpopt::SmartPtr.37", align 8
  %64 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %65 = alloca %"class.SimTKIpopt::SmartPtr.31", align 8
  %66 = alloca %"class.SimTKIpopt::SmartPtr.31", align 8
  %67 = alloca %"class.SimTKIpopt::SmartPtr.31", align 8
  %68 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %69 = alloca %"class.SimTKIpopt::SmartPtr.52", align 8
  %70 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %71 = alloca %"class.SimTKIpopt::SmartPtr.31", align 8
  %72 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %73 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %74 = alloca %"class.SimTKIpopt::SmartPtr.37", align 8
  %75 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %76 = alloca %"class.SimTKIpopt::SmartPtr.31", align 8
  %77 = alloca %"class.SimTKIpopt::SmartPtr.31", align 8
  %78 = alloca %"class.SimTKIpopt::SmartPtr.31", align 8
  %79 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %80 = alloca %"class.SimTKIpopt::SmartPtr.52", align 8
  %81 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %82 = alloca %"class.SimTKIpopt::SmartPtr.31", align 8
  %83 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %84 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %85 = alloca %"class.SimTKIpopt::SmartPtr.37", align 8
  %86 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %87 = alloca %"class.SimTKIpopt::SmartPtr.31", align 8
  %88 = alloca %"class.SimTKIpopt::SmartPtr.31", align 8
  %89 = alloca %"class.SimTKIpopt::SmartPtr.31", align 8
  %90 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %91 = alloca %"class.SimTKIpopt::SmartPtr.52", align 8
  %92 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %93 = alloca %"class.SimTKIpopt::SmartPtr.31", align 8
  %94 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %95 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %96 = alloca %"class.SimTKIpopt::SmartPtr.37", align 8
  %97 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %98 = alloca %"class.SimTKIpopt::SmartPtr.31", align 8
  %99 = alloca %"class.SimTKIpopt::SmartPtr.31", align 8
  %100 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %101 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %102 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %103 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %104 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %105 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %106 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %107 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %108 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %109 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %110 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %111 = alloca %"class.SimTKIpopt::SmartPtr.40", align 8
  %112 = alloca %"class.std::__cxx11::basic_string", align 8
  %113 = alloca %"class.std::allocator.15", align 1
  %114 = alloca %"class.std::__cxx11::basic_string", align 8
  %115 = alloca %"class.std::allocator.15", align 1
  %116 = alloca %"class.std::__cxx11::basic_string", align 8
  %117 = alloca %"class.std::allocator.15", align 1
  %118 = getelementptr inbounds i8, ptr %0, i64 168
  %119 = load i32, ptr %118, align 8, !tbaa !5
  %120 = icmp eq i32 %119, 0
  br i1 %120, label %1215, label %121

121:                                              ; preds = %4
  %122 = getelementptr inbounds i8, ptr %0, i64 184
  %123 = load i8, ptr %122, align 8, !tbaa !29, !range !30, !noundef !31
  %124 = trunc nuw i8 %123 to i1
  br i1 %124, label %125, label %129

125:                                              ; preds = %121
  %126 = tail call noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
  %127 = tail call noundef double @_ZNK10SimTKIpopt9IpoptData11info_regu_xEv(ptr noundef nonnull align 8 dereferenceable(864) %126)
  %128 = fcmp une double %127, 0.000000e+00
  br i1 %128, label %1215, label %129

129:                                              ; preds = %125, %121
  %130 = getelementptr inbounds i8, ptr %0, i64 185
  %131 = load i8, ptr %130, align 1, !tbaa !32, !range !30, !noundef !31
  %132 = trunc nuw i8 %131 to i1
  br i1 %132, label %133, label %136

133:                                              ; preds = %129
  %134 = tail call noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
  %135 = tail call noundef zeroext i1 @_ZNK10SimTKIpopt9IpoptData10FreeMuModeEv(ptr noundef nonnull align 8 dereferenceable(864) %134)
  br i1 %135, label %136, label %1215

136:                                              ; preds = %133, %129
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %5) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %6) #7
  %137 = tail call noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
  call void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.37") align 8 %6, ptr noundef nonnull align 8 dereferenceable(864) %137)
  %138 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %6)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_LEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %5, ptr noundef nonnull align 8 dereferenceable(280) %138)
          to label %139 unwind label %171

139:                                              ; preds = %136
  %140 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %5)
  %141 = invoke noundef i32 @_ZNK10SimTKIpopt6Vector3DimEv(ptr noundef nonnull align 8 dereferenceable(205) %140)
          to label %142 unwind label %173

142:                                              ; preds = %139
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %7) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %8) #7
  %143 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %144 unwind label %175

144:                                              ; preds = %142
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.37") align 8 %8, ptr noundef nonnull align 8 dereferenceable(864) %143)
          to label %145 unwind label %175

145:                                              ; preds = %144
  %146 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %8)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_UEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %7, ptr noundef nonnull align 8 dereferenceable(280) %146)
          to label %147 unwind label %177

147:                                              ; preds = %145
  %148 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %7)
  %149 = invoke noundef i32 @_ZNK10SimTKIpopt6Vector3DimEv(ptr noundef nonnull align 8 dereferenceable(205) %148)
          to label %150 unwind label %179

150:                                              ; preds = %147
  %151 = add nsw i32 %149, %141
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %9) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %10) #7
  %152 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %153 unwind label %181

153:                                              ; preds = %150
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.37") align 8 %10, ptr noundef nonnull align 8 dereferenceable(864) %152)
          to label %154 unwind label %181

154:                                              ; preds = %153
  %155 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %10)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_LEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %9, ptr noundef nonnull align 8 dereferenceable(280) %155)
          to label %156 unwind label %183

156:                                              ; preds = %154
  %157 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %9)
  %158 = invoke noundef i32 @_ZNK10SimTKIpopt6Vector3DimEv(ptr noundef nonnull align 8 dereferenceable(205) %157)
          to label %159 unwind label %185

159:                                              ; preds = %156
  %160 = add nsw i32 %151, %158
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %11) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %12) #7
  %161 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %162 unwind label %187

162:                                              ; preds = %159
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.37") align 8 %12, ptr noundef nonnull align 8 dereferenceable(864) %161)
          to label %163 unwind label %187

163:                                              ; preds = %162
  %164 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %12)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_UEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %11, ptr noundef nonnull align 8 dereferenceable(280) %164)
          to label %165 unwind label %189

165:                                              ; preds = %163
  %166 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %11)
  %167 = invoke noundef i32 @_ZNK10SimTKIpopt6Vector3DimEv(ptr noundef nonnull align 8 dereferenceable(205) %166)
          to label %168 unwind label %191

168:                                              ; preds = %165
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %11) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %12) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %9) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %10) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %9) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %7) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %8) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %5) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %6) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %5) #7
  %169 = sub i32 0, %167
  %170 = icmp eq i32 %160, %169
  br i1 %170, label %1215, label %203

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

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

175:                                              ; preds = %144, %142
  %176 = landingpad { ptr, i32 }
          cleanup
  br label %200

177:                                              ; preds = %145
  %178 = landingpad { ptr, i32 }
          cleanup
  br label %199

179:                                              ; preds = %147
  %180 = landingpad { ptr, i32 }
          cleanup
  br label %198

181:                                              ; preds = %153, %150
  %182 = landingpad { ptr, i32 }
          cleanup
  br label %197

183:                                              ; preds = %154
  %184 = landingpad { ptr, i32 }
          cleanup
  br label %196

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

187:                                              ; preds = %162, %159
  %188 = landingpad { ptr, i32 }
          cleanup
  br label %194

189:                                              ; preds = %163
  %190 = landingpad { ptr, i32 }
          cleanup
  br label %193

191:                                              ; preds = %165
  %192 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %11) #7
  br label %193

193:                                              ; preds = %191, %189
  %.pn = phi { ptr, i32 } [ %192, %191 ], [ %190, %189 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %12) #7
  br label %194

194:                                              ; preds = %193, %187
  %.pn.pn = phi { ptr, i32 } [ %.pn, %193 ], [ %188, %187 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11) #7
  br label %195

195:                                              ; preds = %194, %185
  %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %194 ], [ %186, %185 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %9) #7
  br label %196

196:                                              ; preds = %195, %183
  %.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn, %195 ], [ %184, %183 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %10) #7
  br label %197

197:                                              ; preds = %196, %181
  %.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn, %196 ], [ %182, %181 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %9) #7
  br label %198

198:                                              ; preds = %197, %179
  %.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn, %197 ], [ %180, %179 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %7) #7
  br label %199

199:                                              ; preds = %198, %177
  %.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn, %198 ], [ %178, %177 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %8) #7
  br label %200

200:                                              ; preds = %199, %175
  %.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn, %199 ], [ %176, %175 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #7
  br label %201

201:                                              ; preds = %200, %173
  %.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn.pn, %200 ], [ %174, %173 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %5) #7
  br label %202

202:                                              ; preds = %201, %171
  %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn, %201 ], [ %172, %171 ]
  %.9 = extractvalue { ptr, i32 } %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, 0
  %.953 = extractvalue { ptr, i32 } %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, 1
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %6) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %5) #7
  br label %1212

203:                                              ; preds = %168
  %204 = call noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
  %205 = call noundef nonnull align 8 dereferenceable(664) ptr @_ZN10SimTKIpopt9IpoptData11TimingStatsEv(ptr noundef nonnull align 8 dereferenceable(864) %204)
  %206 = call noundef nonnull align 8 dereferenceable(18) ptr @_ZN10SimTKIpopt16TimingStatistics12TryCorrectorEv(ptr noundef nonnull align 8 dereferenceable(664) %205)
  call void @_ZN10SimTKIpopt9TimedTask5StartEv(ptr noundef nonnull align 8 dereferenceable(18) %206)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %13) #7
  %207 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %3)
  call void @_ZNK10SimTKIpopt14IteratesVector21MakeNewIteratesVectorEb(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.41") align 8 %13, ptr noundef nonnull align 8 dereferenceable(280) %207, i1 noundef zeroext true)
  %208 = load i32, ptr %118, align 8, !tbaa !5
  switch i32 %208, label %1001 [
    i32 1, label %209
    i32 2, label %562
  ]

209:                                              ; preds = %203
  %210 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %211 unwind label %283

211:                                              ; preds = %209
  %212 = call noundef zeroext i1 @_ZNK10SimTKIpopt9IpoptData16HaveAffineDeltasEv(ptr noundef nonnull align 8 dereferenceable(864) %210)
  br i1 %212, label %336, label %213

213:                                              ; preds = %211
  %214 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5JnlstEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %215 unwind label %283

215:                                              ; preds = %213
  invoke void (ptr, i32, i32, ptr, ...) @_ZNK10SimTKIpopt10Journalist6PrintfENS_13EJournalLevelENS_16EJournalCategoryEPKcz(ptr noundef nonnull align 8 dereferenceable(40) %214, i32 noundef 5, i32 noundef 8, ptr noundef nonnull @.str.92)
          to label %216 unwind label %283

216:                                              ; preds = %215
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %14) #7
  %217 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %13)
  invoke void @_ZNK10SimTKIpopt14IteratesVector16MakeNewContainerEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.41") align 8 %14, ptr noundef nonnull align 8 dereferenceable(280) %217)
          to label %218 unwind label %287

218:                                              ; preds = %216
  %219 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %14)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %15) #7
  %220 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %221 unwind label %289

221:                                              ; preds = %218
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities15curr_grad_lag_xEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %15, ptr noundef nonnull align 8 dereferenceable(2025) %220)
          to label %222 unwind label %289

222:                                              ; preds = %221
  %223 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %15)
  invoke void @_ZN10SimTKIpopt14IteratesVector5Set_xERKNS_6VectorE(ptr noundef nonnull align 8 dereferenceable(280) %219, ptr noundef nonnull align 8 dereferenceable(205) %223)
          to label %224 unwind label %291

224:                                              ; preds = %222
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %15) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15) #7
  %225 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %14)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %16) #7
  %226 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %227 unwind label %294

227:                                              ; preds = %224
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities15curr_grad_lag_sEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %16, ptr noundef nonnull align 8 dereferenceable(2025) %226)
          to label %228 unwind label %294

228:                                              ; preds = %227
  %229 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %16)
  invoke void @_ZN10SimTKIpopt14IteratesVector5Set_sERKNS_6VectorE(ptr noundef nonnull align 8 dereferenceable(280) %225, ptr noundef nonnull align 8 dereferenceable(205) %229)
          to label %230 unwind label %296

230:                                              ; preds = %228
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %16) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #7
  %231 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %14)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %17) #7
  %232 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %233 unwind label %299

233:                                              ; preds = %230
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities6curr_cEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %17, ptr noundef nonnull align 8 dereferenceable(2025) %232)
          to label %234 unwind label %299

234:                                              ; preds = %233
  %235 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %17)
  invoke void @_ZN10SimTKIpopt14IteratesVector7Set_y_cERKNS_6VectorE(ptr noundef nonnull align 8 dereferenceable(280) %231, ptr noundef nonnull align 8 dereferenceable(205) %235)
          to label %236 unwind label %301

236:                                              ; preds = %234
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %17) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #7
  %237 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %14)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %18) #7
  %238 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %239 unwind label %304

239:                                              ; preds = %236
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_d_minus_sEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %18, ptr noundef nonnull align 8 dereferenceable(2025) %238)
          to label %240 unwind label %304

240:                                              ; preds = %239
  %241 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %18)
  invoke void @_ZN10SimTKIpopt14IteratesVector7Set_y_dERKNS_6VectorE(ptr noundef nonnull align 8 dereferenceable(280) %237, ptr noundef nonnull align 8 dereferenceable(205) %241)
          to label %242 unwind label %306

242:                                              ; preds = %240
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %18) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #7
  %243 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %14)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %19) #7
  %244 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %245 unwind label %309

245:                                              ; preds = %242
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_compl_x_LEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %19, ptr noundef nonnull align 8 dereferenceable(2025) %244)
          to label %246 unwind label %309

246:                                              ; preds = %245
  %247 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %19)
  invoke void @_ZN10SimTKIpopt14IteratesVector7Set_z_LERKNS_6VectorE(ptr noundef nonnull align 8 dereferenceable(280) %243, ptr noundef nonnull align 8 dereferenceable(205) %247)
          to label %248 unwind label %311

248:                                              ; preds = %246
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %19) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %19) #7
  %249 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %14)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %20) #7
  %250 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %251 unwind label %314

251:                                              ; preds = %248
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_compl_x_UEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %20, ptr noundef nonnull align 8 dereferenceable(2025) %250)
          to label %252 unwind label %314

252:                                              ; preds = %251
  %253 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %20)
  invoke void @_ZN10SimTKIpopt14IteratesVector7Set_z_UERKNS_6VectorE(ptr noundef nonnull align 8 dereferenceable(280) %249, ptr noundef nonnull align 8 dereferenceable(205) %253)
          to label %254 unwind label %316

254:                                              ; preds = %252
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %20) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %20) #7
  %255 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %14)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %21) #7
  %256 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %257 unwind label %319

257:                                              ; preds = %254
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_compl_s_LEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %21, ptr noundef nonnull align 8 dereferenceable(2025) %256)
          to label %258 unwind label %319

258:                                              ; preds = %257
  %259 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %21)
  invoke void @_ZN10SimTKIpopt14IteratesVector7Set_v_LERKNS_6VectorE(ptr noundef nonnull align 8 dereferenceable(280) %255, ptr noundef nonnull align 8 dereferenceable(205) %259)
          to label %260 unwind label %321

260:                                              ; preds = %258
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %21) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %21) #7
  %261 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %14)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %22) #7
  %262 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %263 unwind label %324

263:                                              ; preds = %260
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_compl_s_UEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %22, ptr noundef nonnull align 8 dereferenceable(2025) %262)
          to label %264 unwind label %324

264:                                              ; preds = %263
  %265 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %22)
  invoke void @_ZN10SimTKIpopt14IteratesVector7Set_v_UERKNS_6VectorE(ptr noundef nonnull align 8 dereferenceable(280) %261, ptr noundef nonnull align 8 dereferenceable(205) %265)
          to label %266 unwind label %326

266:                                              ; preds = %264
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %22) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %22) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %23) #7
  %267 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %13)
  invoke void @_ZNK10SimTKIpopt14IteratesVector21MakeNewIteratesVectorEb(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.41") align 8 %23, ptr noundef nonnull align 8 dereferenceable(280) %267, i1 noundef zeroext true)
          to label %268 unwind label %329

268:                                              ; preds = %266
  %269 = getelementptr inbounds i8, ptr %0, i64 296
  %270 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14PDSystemSolverEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %269)
  %271 = call noundef nonnull align 8 dereferenceable(280) ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %14)
  %272 = call noundef nonnull align 8 dereferenceable(280) ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %23)
  %273 = load ptr, ptr %270, align 8, !tbaa !33
  %274 = getelementptr inbounds i8, ptr %273, i64 24
  %275 = load ptr, ptr %274, align 8
  %276 = invoke noundef zeroext i1 %275(ptr noundef nonnull align 8 dereferenceable(49) %270, double noundef -1.000000e+00, double noundef 0.000000e+00, ptr noundef nonnull align 8 dereferenceable(280) %271, ptr noundef nonnull align 8 dereferenceable(280) %272, i1 noundef zeroext false, i1 noundef zeroext false)
          to label %277 unwind label %331

277:                                              ; preds = %268
  %278 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %279 unwind label %331

279:                                              ; preds = %277
  invoke void @_ZN10SimTKIpopt9IpoptData13set_delta_affERNS_8SmartPtrINS_14IteratesVectorEEE(ptr noundef nonnull align 8 dereferenceable(864) %278, ptr noundef nonnull align 8 dereferenceable(8) %23)
          to label %280 unwind label %331

280:                                              ; preds = %279
  %281 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %282 unwind label %331

282:                                              ; preds = %280
  call void @_ZN10SimTKIpopt9IpoptData19SetHaveAffineDeltasEb(ptr noundef nonnull align 8 dereferenceable(864) %281, i1 noundef zeroext true)
  call void @_ZN10SimTKIpopt8SmartPtrINS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %23) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %23) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %14) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) #7
  br label %336

283:                                              ; preds = %562, %215, %213, %209
  %284 = landingpad { ptr, i32 }
          cleanup
  %285 = extractvalue { ptr, i32 } %284, 0
  %286 = extractvalue { ptr, i32 } %284, 1
  br label %1211

287:                                              ; preds = %216
  %288 = landingpad { ptr, i32 }
          cleanup
  br label %335

289:                                              ; preds = %221, %218
  %290 = landingpad { ptr, i32 }
          cleanup
  br label %293

291:                                              ; preds = %222
  %292 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %15) #7
  br label %293

293:                                              ; preds = %291, %289
  %.pn261 = phi { ptr, i32 } [ %292, %291 ], [ %290, %289 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15) #7
  br label %334

294:                                              ; preds = %227, %224
  %295 = landingpad { ptr, i32 }
          cleanup
  br label %298

296:                                              ; preds = %228
  %297 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %16) #7
  br label %298

298:                                              ; preds = %296, %294
  %.pn263 = phi { ptr, i32 } [ %297, %296 ], [ %295, %294 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #7
  br label %334

299:                                              ; preds = %233, %230
  %300 = landingpad { ptr, i32 }
          cleanup
  br label %303

301:                                              ; preds = %234
  %302 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %17) #7
  br label %303

303:                                              ; preds = %301, %299
  %.pn265 = phi { ptr, i32 } [ %302, %301 ], [ %300, %299 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #7
  br label %334

304:                                              ; preds = %239, %236
  %305 = landingpad { ptr, i32 }
          cleanup
  br label %308

306:                                              ; preds = %240
  %307 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %18) #7
  br label %308

308:                                              ; preds = %306, %304
  %.pn267 = phi { ptr, i32 } [ %307, %306 ], [ %305, %304 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #7
  br label %334

309:                                              ; preds = %245, %242
  %310 = landingpad { ptr, i32 }
          cleanup
  br label %313

311:                                              ; preds = %246
  %312 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %19) #7
  br label %313

313:                                              ; preds = %311, %309
  %.pn269 = phi { ptr, i32 } [ %312, %311 ], [ %310, %309 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %19) #7
  br label %334

314:                                              ; preds = %251, %248
  %315 = landingpad { ptr, i32 }
          cleanup
  br label %318

316:                                              ; preds = %252
  %317 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %20) #7
  br label %318

318:                                              ; preds = %316, %314
  %.pn271 = phi { ptr, i32 } [ %317, %316 ], [ %315, %314 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %20) #7
  br label %334

319:                                              ; preds = %257, %254
  %320 = landingpad { ptr, i32 }
          cleanup
  br label %323

321:                                              ; preds = %258
  %322 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %21) #7
  br label %323

323:                                              ; preds = %321, %319
  %.pn273 = phi { ptr, i32 } [ %322, %321 ], [ %320, %319 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %21) #7
  br label %334

324:                                              ; preds = %263, %260
  %325 = landingpad { ptr, i32 }
          cleanup
  br label %328

326:                                              ; preds = %264
  %327 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %22) #7
  br label %328

328:                                              ; preds = %326, %324
  %.pn275 = phi { ptr, i32 } [ %327, %326 ], [ %325, %324 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %22) #7
  br label %334

329:                                              ; preds = %266
  %330 = landingpad { ptr, i32 }
          cleanup
  br label %333

331:                                              ; preds = %280, %279, %277, %268
  %332 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrINS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %23) #7
  br label %333

333:                                              ; preds = %331, %329
  %.pn277 = phi { ptr, i32 } [ %332, %331 ], [ %330, %329 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %23) #7
  br label %334

334:                                              ; preds = %333, %328, %323, %318, %313, %308, %303, %298, %293
  %.pn277.pn = phi { ptr, i32 } [ %.pn277, %333 ], [ %.pn275, %328 ], [ %.pn273, %323 ], [ %.pn271, %318 ], [ %.pn269, %313 ], [ %.pn267, %308 ], [ %.pn265, %303 ], [ %.pn263, %298 ], [ %.pn261, %293 ]
  call void @_ZN10SimTKIpopt8SmartPtrINS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %14) #7
  br label %335

335:                                              ; preds = %334, %287
  %.pn277.pn.pn = phi { ptr, i32 } [ %.pn277.pn, %334 ], [ %288, %287 ]
  %.20 = extractvalue { ptr, i32 } %.pn277.pn.pn, 0
  %.2064 = extractvalue { ptr, i32 } %.pn277.pn.pn, 1
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) #7
  br label %1211

336:                                              ; preds = %282, %211
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %24) #7
  %337 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %338 unwind label %454

338:                                              ; preds = %336
  invoke void @_ZNK10SimTKIpopt9IpoptData9delta_affEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.37") align 8 %24, ptr noundef nonnull align 8 dereferenceable(864) %337)
          to label %339 unwind label %454

339:                                              ; preds = %338
  %340 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %13)
  %341 = call noundef nonnull align 8 dereferenceable(280) ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %3)
  invoke void @_ZN10SimTKIpopt6Vector4CopyERKS0_(ptr noundef nonnull align 8 dereferenceable(205) %340, ptr noundef nonnull align 8 dereferenceable(205) %341)
          to label %342 unwind label %456

342:                                              ; preds = %339
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %25) #7
  %343 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %3)
  invoke void @_ZNK10SimTKIpopt14IteratesVector21MakeNewIteratesVectorEb(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.41") align 8 %25, ptr noundef nonnull align 8 dereferenceable(280) %343, i1 noundef zeroext true)
          to label %344 unwind label %458

344:                                              ; preds = %342
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %26) #7
  %345 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %25)
  invoke void @_ZN10SimTKIpopt14IteratesVector10x_NonConstEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8 %26, ptr noundef nonnull align 8 dereferenceable(280) %345)
          to label %346 unwind label %460

346:                                              ; preds = %344
  %347 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %26)
  invoke void @_ZN10SimTKIpopt6Vector3SetEd(ptr noundef nonnull align 8 dereferenceable(205) %347, double noundef 0.000000e+00)
          to label %348 unwind label %462

348:                                              ; preds = %346
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %26) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %26) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %27) #7
  %349 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %25)
  invoke void @_ZN10SimTKIpopt14IteratesVector10s_NonConstEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8 %27, ptr noundef nonnull align 8 dereferenceable(280) %349)
          to label %350 unwind label %465

350:                                              ; preds = %348
  %351 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %27)
  invoke void @_ZN10SimTKIpopt6Vector3SetEd(ptr noundef nonnull align 8 dereferenceable(205) %351, double noundef 0.000000e+00)
          to label %352 unwind label %467

352:                                              ; preds = %350
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %27) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %27) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %28) #7
  %353 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %25)
  invoke void @_ZN10SimTKIpopt14IteratesVector12y_c_NonConstEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8 %28, ptr noundef nonnull align 8 dereferenceable(280) %353)
          to label %354 unwind label %470

354:                                              ; preds = %352
  %355 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %28)
  invoke void @_ZN10SimTKIpopt6Vector3SetEd(ptr noundef nonnull align 8 dereferenceable(205) %355, double noundef 0.000000e+00)
          to label %356 unwind label %472

356:                                              ; preds = %354
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %28) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %28) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %29) #7
  %357 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %25)
  invoke void @_ZN10SimTKIpopt14IteratesVector12y_d_NonConstEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8 %29, ptr noundef nonnull align 8 dereferenceable(280) %357)
          to label %358 unwind label %475

358:                                              ; preds = %356
  %359 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %29)
  invoke void @_ZN10SimTKIpopt6Vector3SetEd(ptr noundef nonnull align 8 dereferenceable(205) %359, double noundef 0.000000e+00)
          to label %360 unwind label %477

360:                                              ; preds = %358
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %29) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %29) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %30) #7
  %361 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %362 unwind label %480

362:                                              ; preds = %360
  %363 = load ptr, ptr %361, align 8, !tbaa !33
  %364 = getelementptr inbounds i8, ptr %363, i64 104
  %365 = load ptr, ptr %364, align 8
  invoke void %365(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.52") align 8 %30, ptr noundef nonnull align 8 dereferenceable(24) %361)
          to label %366 unwind label %480

366:                                              ; preds = %362
  %367 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6MatrixEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %30)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %31) #7
  %368 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %24)
  invoke void @_ZNK10SimTKIpopt14IteratesVector1xEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %31, ptr noundef nonnull align 8 dereferenceable(280) %368)
          to label %369 unwind label %482

369:                                              ; preds = %366
  %370 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %31)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %32) #7
  %371 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %25)
  invoke void @_ZN10SimTKIpopt14IteratesVector12z_L_NonConstEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8 %32, ptr noundef nonnull align 8 dereferenceable(280) %371)
          to label %372 unwind label %484

372:                                              ; preds = %369
  %373 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %32)
  invoke void @_ZNK10SimTKIpopt6Matrix15TransMultVectorEdRKNS_6VectorEdRS1_(ptr noundef nonnull align 8 dereferenceable(69) %367, double noundef -1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %370, double noundef 0.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %373)
          to label %374 unwind label %486

374:                                              ; preds = %372
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %32) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %32) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %31) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %31) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %30) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %33) #7
  %375 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %25)
  invoke void @_ZN10SimTKIpopt14IteratesVector12z_L_NonConstEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8 %33, ptr noundef nonnull align 8 dereferenceable(280) %375)
          to label %376 unwind label %491

376:                                              ; preds = %374
  %377 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %33)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %34) #7
  %378 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %24)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_LEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %34, ptr noundef nonnull align 8 dereferenceable(280) %378)
          to label %379 unwind label %493

379:                                              ; preds = %376
  %380 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %34)
  invoke void @_ZN10SimTKIpopt6Vector19ElementWiseMultiplyERKS0_(ptr noundef nonnull align 8 dereferenceable(205) %377, ptr noundef nonnull align 8 dereferenceable(205) %380)
          to label %381 unwind label %495

381:                                              ; preds = %379
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %34) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %34) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %33) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %33) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %35) #7
  %382 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %383 unwind label %499

383:                                              ; preds = %381
  %384 = load ptr, ptr %382, align 8, !tbaa !33
  %385 = getelementptr inbounds i8, ptr %384, i64 120
  %386 = load ptr, ptr %385, align 8
  invoke void %386(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.52") align 8 %35, ptr noundef nonnull align 8 dereferenceable(24) %382)
          to label %387 unwind label %499

387:                                              ; preds = %383
  %388 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6MatrixEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %35)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %36) #7
  %389 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %24)
  invoke void @_ZNK10SimTKIpopt14IteratesVector1xEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %36, ptr noundef nonnull align 8 dereferenceable(280) %389)
          to label %390 unwind label %501

390:                                              ; preds = %387
  %391 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %36)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %37) #7
  %392 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %25)
  invoke void @_ZN10SimTKIpopt14IteratesVector12z_U_NonConstEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8 %37, ptr noundef nonnull align 8 dereferenceable(280) %392)
          to label %393 unwind label %503

393:                                              ; preds = %390
  %394 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %37)
  invoke void @_ZNK10SimTKIpopt6Matrix15TransMultVectorEdRKNS_6VectorEdRS1_(ptr noundef nonnull align 8 dereferenceable(69) %388, double noundef 1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %391, double noundef 0.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %394)
          to label %395 unwind label %505

395:                                              ; preds = %393
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %37) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %37) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %36) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %36) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %35) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %35) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %38) #7
  %396 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %25)
  invoke void @_ZN10SimTKIpopt14IteratesVector12z_U_NonConstEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8 %38, ptr noundef nonnull align 8 dereferenceable(280) %396)
          to label %397 unwind label %510

397:                                              ; preds = %395
  %398 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %38)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %39) #7
  %399 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %24)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_UEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %39, ptr noundef nonnull align 8 dereferenceable(280) %399)
          to label %400 unwind label %512

400:                                              ; preds = %397
  %401 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %39)
  invoke void @_ZN10SimTKIpopt6Vector19ElementWiseMultiplyERKS0_(ptr noundef nonnull align 8 dereferenceable(205) %398, ptr noundef nonnull align 8 dereferenceable(205) %401)
          to label %402 unwind label %514

402:                                              ; preds = %400
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %39) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %39) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %38) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %38) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %40) #7
  %403 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %404 unwind label %518

404:                                              ; preds = %402
  %405 = load ptr, ptr %403, align 8, !tbaa !33
  %406 = getelementptr inbounds i8, ptr %405, i64 136
  %407 = load ptr, ptr %406, align 8
  invoke void %407(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.52") align 8 %40, ptr noundef nonnull align 8 dereferenceable(24) %403)
          to label %408 unwind label %518

408:                                              ; preds = %404
  %409 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6MatrixEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %40)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %41) #7
  %410 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %24)
  invoke void @_ZNK10SimTKIpopt14IteratesVector1sEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %41, ptr noundef nonnull align 8 dereferenceable(280) %410)
          to label %411 unwind label %520

411:                                              ; preds = %408
  %412 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %41)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %42) #7
  %413 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %25)
  invoke void @_ZN10SimTKIpopt14IteratesVector12v_L_NonConstEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8 %42, ptr noundef nonnull align 8 dereferenceable(280) %413)
          to label %414 unwind label %522

414:                                              ; preds = %411
  %415 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %42)
  invoke void @_ZNK10SimTKIpopt6Matrix15TransMultVectorEdRKNS_6VectorEdRS1_(ptr noundef nonnull align 8 dereferenceable(69) %409, double noundef -1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %412, double noundef 0.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %415)
          to label %416 unwind label %524

416:                                              ; preds = %414
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %42) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %42) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %41) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %41) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %40) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %40) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %43) #7
  %417 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %25)
  invoke void @_ZN10SimTKIpopt14IteratesVector12v_L_NonConstEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8 %43, ptr noundef nonnull align 8 dereferenceable(280) %417)
          to label %418 unwind label %529

418:                                              ; preds = %416
  %419 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %43)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %44) #7
  %420 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %24)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_LEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %44, ptr noundef nonnull align 8 dereferenceable(280) %420)
          to label %421 unwind label %531

421:                                              ; preds = %418
  %422 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %44)
  invoke void @_ZN10SimTKIpopt6Vector19ElementWiseMultiplyERKS0_(ptr noundef nonnull align 8 dereferenceable(205) %419, ptr noundef nonnull align 8 dereferenceable(205) %422)
          to label %423 unwind label %533

423:                                              ; preds = %421
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %44) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %44) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %43) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %43) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %45) #7
  %424 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %425 unwind label %537

425:                                              ; preds = %423
  %426 = load ptr, ptr %424, align 8, !tbaa !33
  %427 = getelementptr inbounds i8, ptr %426, i64 152
  %428 = load ptr, ptr %427, align 8
  invoke void %428(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.52") align 8 %45, ptr noundef nonnull align 8 dereferenceable(24) %424)
          to label %429 unwind label %537

429:                                              ; preds = %425
  %430 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6MatrixEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %45)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %46) #7
  %431 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %24)
  invoke void @_ZNK10SimTKIpopt14IteratesVector1sEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %46, ptr noundef nonnull align 8 dereferenceable(280) %431)
          to label %432 unwind label %539

432:                                              ; preds = %429
  %433 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %46)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %47) #7
  %434 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %25)
  invoke void @_ZN10SimTKIpopt14IteratesVector12v_U_NonConstEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8 %47, ptr noundef nonnull align 8 dereferenceable(280) %434)
          to label %435 unwind label %541

435:                                              ; preds = %432
  %436 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %47)
  invoke void @_ZNK10SimTKIpopt6Matrix15TransMultVectorEdRKNS_6VectorEdRS1_(ptr noundef nonnull align 8 dereferenceable(69) %430, double noundef 1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %433, double noundef 0.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %436)
          to label %437 unwind label %543

437:                                              ; preds = %435
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %47) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %47) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %46) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %46) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %45) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %45) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %48) #7
  %438 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %25)
  invoke void @_ZN10SimTKIpopt14IteratesVector12v_U_NonConstEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8 %48, ptr noundef nonnull align 8 dereferenceable(280) %438)
          to label %439 unwind label %548

439:                                              ; preds = %437
  %440 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %48)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %49) #7
  %441 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %24)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_UEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %49, ptr noundef nonnull align 8 dereferenceable(280) %441)
          to label %442 unwind label %550

442:                                              ; preds = %439
  %443 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %49)
  invoke void @_ZN10SimTKIpopt6Vector19ElementWiseMultiplyERKS0_(ptr noundef nonnull align 8 dereferenceable(205) %440, ptr noundef nonnull align 8 dereferenceable(205) %443)
          to label %444 unwind label %552

444:                                              ; preds = %442
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %49) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %49) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %48) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %48) #7
  %445 = getelementptr inbounds i8, ptr %0, i64 296
  %446 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14PDSystemSolverEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %445)
  %447 = call noundef nonnull align 8 dereferenceable(280) ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %25)
  %448 = call noundef nonnull align 8 dereferenceable(280) ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %13)
  %449 = load ptr, ptr %446, align 8, !tbaa !33
  %450 = getelementptr inbounds i8, ptr %449, i64 24
  %451 = load ptr, ptr %450, align 8
  %452 = invoke noundef zeroext i1 %451(ptr noundef nonnull align 8 dereferenceable(49) %446, double noundef 1.000000e+00, double noundef 1.000000e+00, ptr noundef nonnull align 8 dereferenceable(280) %447, ptr noundef nonnull align 8 dereferenceable(280) %448, i1 noundef zeroext true, i1 noundef zeroext false)
          to label %453 unwind label %556

453:                                              ; preds = %444
  call void @_ZN10SimTKIpopt8SmartPtrINS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %25) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %24) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24) #7
  br label %1001

454:                                              ; preds = %338, %336
  %455 = landingpad { ptr, i32 }
          cleanup
  br label %561

456:                                              ; preds = %339
  %457 = landingpad { ptr, i32 }
          cleanup
  br label %560

458:                                              ; preds = %342
  %459 = landingpad { ptr, i32 }
          cleanup
  br label %559

460:                                              ; preds = %344
  %461 = landingpad { ptr, i32 }
          cleanup
  br label %464

462:                                              ; preds = %346
  %463 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %26) #7
  br label %464

464:                                              ; preds = %462, %460
  %.pn281 = phi { ptr, i32 } [ %463, %462 ], [ %461, %460 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %26) #7
  br label %558

465:                                              ; preds = %348
  %466 = landingpad { ptr, i32 }
          cleanup
  br label %469

467:                                              ; preds = %350
  %468 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %27) #7
  br label %469

469:                                              ; preds = %467, %465
  %.pn283 = phi { ptr, i32 } [ %468, %467 ], [ %466, %465 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %27) #7
  br label %558

470:                                              ; preds = %352
  %471 = landingpad { ptr, i32 }
          cleanup
  br label %474

472:                                              ; preds = %354
  %473 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %28) #7
  br label %474

474:                                              ; preds = %472, %470
  %.pn285 = phi { ptr, i32 } [ %473, %472 ], [ %471, %470 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %28) #7
  br label %558

475:                                              ; preds = %356
  %476 = landingpad { ptr, i32 }
          cleanup
  br label %479

477:                                              ; preds = %358
  %478 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %29) #7
  br label %479

479:                                              ; preds = %477, %475
  %.pn287 = phi { ptr, i32 } [ %478, %477 ], [ %476, %475 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %29) #7
  br label %558

480:                                              ; preds = %362, %360
  %481 = landingpad { ptr, i32 }
          cleanup
  br label %490

482:                                              ; preds = %366
  %483 = landingpad { ptr, i32 }
          cleanup
  br label %489

484:                                              ; preds = %369
  %485 = landingpad { ptr, i32 }
          cleanup
  br label %488

486:                                              ; preds = %372
  %487 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %32) #7
  br label %488

488:                                              ; preds = %486, %484
  %.pn289 = phi { ptr, i32 } [ %487, %486 ], [ %485, %484 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %32) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %31) #7
  br label %489

489:                                              ; preds = %488, %482
  %.pn289.pn = phi { ptr, i32 } [ %.pn289, %488 ], [ %483, %482 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %31) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %30) #7
  br label %490

490:                                              ; preds = %489, %480
  %.pn289.pn.pn = phi { ptr, i32 } [ %.pn289.pn, %489 ], [ %481, %480 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30) #7
  br label %558

491:                                              ; preds = %374
  %492 = landingpad { ptr, i32 }
          cleanup
  br label %498

493:                                              ; preds = %376
  %494 = landingpad { ptr, i32 }
          cleanup
  br label %497

495:                                              ; preds = %379
  %496 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %34) #7
  br label %497

497:                                              ; preds = %495, %493
  %.pn293 = phi { ptr, i32 } [ %496, %495 ], [ %494, %493 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %34) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %33) #7
  br label %498

498:                                              ; preds = %497, %491
  %.pn293.pn = phi { ptr, i32 } [ %.pn293, %497 ], [ %492, %491 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %33) #7
  br label %558

499:                                              ; preds = %383, %381
  %500 = landingpad { ptr, i32 }
          cleanup
  br label %509

501:                                              ; preds = %387
  %502 = landingpad { ptr, i32 }
          cleanup
  br label %508

503:                                              ; preds = %390
  %504 = landingpad { ptr, i32 }
          cleanup
  br label %507

505:                                              ; preds = %393
  %506 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %37) #7
  br label %507

507:                                              ; preds = %505, %503
  %.pn296 = phi { ptr, i32 } [ %506, %505 ], [ %504, %503 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %37) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %36) #7
  br label %508

508:                                              ; preds = %507, %501
  %.pn296.pn = phi { ptr, i32 } [ %.pn296, %507 ], [ %502, %501 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %36) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %35) #7
  br label %509

509:                                              ; preds = %508, %499
  %.pn296.pn.pn = phi { ptr, i32 } [ %.pn296.pn, %508 ], [ %500, %499 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %35) #7
  br label %558

510:                                              ; preds = %395
  %511 = landingpad { ptr, i32 }
          cleanup
  br label %517

512:                                              ; preds = %397
  %513 = landingpad { ptr, i32 }
          cleanup
  br label %516

514:                                              ; preds = %400
  %515 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %39) #7
  br label %516

516:                                              ; preds = %514, %512
  %.pn300 = phi { ptr, i32 } [ %515, %514 ], [ %513, %512 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %39) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %38) #7
  br label %517

517:                                              ; preds = %516, %510
  %.pn300.pn = phi { ptr, i32 } [ %.pn300, %516 ], [ %511, %510 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %38) #7
  br label %558

518:                                              ; preds = %404, %402
  %519 = landingpad { ptr, i32 }
          cleanup
  br label %528

520:                                              ; preds = %408
  %521 = landingpad { ptr, i32 }
          cleanup
  br label %527

522:                                              ; preds = %411
  %523 = landingpad { ptr, i32 }
          cleanup
  br label %526

524:                                              ; preds = %414
  %525 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %42) #7
  br label %526

526:                                              ; preds = %524, %522
  %.pn303 = phi { ptr, i32 } [ %525, %524 ], [ %523, %522 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %42) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %41) #7
  br label %527

527:                                              ; preds = %526, %520
  %.pn303.pn = phi { ptr, i32 } [ %.pn303, %526 ], [ %521, %520 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %41) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %40) #7
  br label %528

528:                                              ; preds = %527, %518
  %.pn303.pn.pn = phi { ptr, i32 } [ %.pn303.pn, %527 ], [ %519, %518 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %40) #7
  br label %558

529:                                              ; preds = %416
  %530 = landingpad { ptr, i32 }
          cleanup
  br label %536

531:                                              ; preds = %418
  %532 = landingpad { ptr, i32 }
          cleanup
  br label %535

533:                                              ; preds = %421
  %534 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %44) #7
  br label %535

535:                                              ; preds = %533, %531
  %.pn307 = phi { ptr, i32 } [ %534, %533 ], [ %532, %531 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %44) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %43) #7
  br label %536

536:                                              ; preds = %535, %529
  %.pn307.pn = phi { ptr, i32 } [ %.pn307, %535 ], [ %530, %529 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %43) #7
  br label %558

537:                                              ; preds = %425, %423
  %538 = landingpad { ptr, i32 }
          cleanup
  br label %547

539:                                              ; preds = %429
  %540 = landingpad { ptr, i32 }
          cleanup
  br label %546

541:                                              ; preds = %432
  %542 = landingpad { ptr, i32 }
          cleanup
  br label %545

543:                                              ; preds = %435
  %544 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %47) #7
  br label %545

545:                                              ; preds = %543, %541
  %.pn310 = phi { ptr, i32 } [ %544, %543 ], [ %542, %541 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %47) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %46) #7
  br label %546

546:                                              ; preds = %545, %539
  %.pn310.pn = phi { ptr, i32 } [ %.pn310, %545 ], [ %540, %539 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %46) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %45) #7
  br label %547

547:                                              ; preds = %546, %537
  %.pn310.pn.pn = phi { ptr, i32 } [ %.pn310.pn, %546 ], [ %538, %537 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %45) #7
  br label %558

548:                                              ; preds = %437
  %549 = landingpad { ptr, i32 }
          cleanup
  br label %555

550:                                              ; preds = %439
  %551 = landingpad { ptr, i32 }
          cleanup
  br label %554

552:                                              ; preds = %442
  %553 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %49) #7
  br label %554

554:                                              ; preds = %552, %550
  %.pn314 = phi { ptr, i32 } [ %553, %552 ], [ %551, %550 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %49) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %48) #7
  br label %555

555:                                              ; preds = %554, %548
  %.pn314.pn = phi { ptr, i32 } [ %.pn314, %554 ], [ %549, %548 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %48) #7
  br label %558

556:                                              ; preds = %444
  %557 = landingpad { ptr, i32 }
          cleanup
  br label %558

558:                                              ; preds = %556, %555, %547, %536, %528, %517, %509, %498, %490, %479, %474, %469, %464
  %.pn317 = phi { ptr, i32 } [ %557, %556 ], [ %.pn314.pn, %555 ], [ %.pn310.pn.pn, %547 ], [ %.pn307.pn, %536 ], [ %.pn303.pn.pn, %528 ], [ %.pn300.pn, %517 ], [ %.pn296.pn.pn, %509 ], [ %.pn293.pn, %498 ], [ %.pn289.pn.pn, %490 ], [ %.pn287, %479 ], [ %.pn285, %474 ], [ %.pn283, %469 ], [ %.pn281, %464 ]
  call void @_ZN10SimTKIpopt8SmartPtrINS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %25) #7
  br label %559

559:                                              ; preds = %558, %458
  %.pn317.pn = phi { ptr, i32 } [ %.pn317, %558 ], [ %459, %458 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25) #7
  br label %560

560:                                              ; preds = %559, %456
  %.pn317.pn.pn = phi { ptr, i32 } [ %.pn317.pn, %559 ], [ %457, %456 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %24) #7
  br label %561

561:                                              ; preds = %560, %454
  %.pn317.pn.pn.pn = phi { ptr, i32 } [ %.pn317.pn.pn, %560 ], [ %455, %454 ]
  %.48 = extractvalue { ptr, i32 } %.pn317.pn.pn.pn, 0
  %.4892 = extractvalue { ptr, i32 } %.pn317.pn.pn.pn, 1
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24) #7
  br label %1211

562:                                              ; preds = %203
  %563 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %13)
  %564 = call noundef nonnull align 8 dereferenceable(280) ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %3)
  invoke void @_ZN10SimTKIpopt6Vector4CopyERKS0_(ptr noundef nonnull align 8 dereferenceable(205) %563, ptr noundef nonnull align 8 dereferenceable(205) %564)
          to label %565 unwind label %283

565:                                              ; preds = %562
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %50) #7
  %566 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %3)
  invoke void @_ZNK10SimTKIpopt14IteratesVector21MakeNewIteratesVectorEb(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.41") align 8 %50, ptr noundef nonnull align 8 dereferenceable(280) %566, i1 noundef zeroext true)
          to label %567 unwind label %792

567:                                              ; preds = %565
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %51) #7
  %568 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %50)
  invoke void @_ZN10SimTKIpopt14IteratesVector10x_NonConstEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8 %51, ptr noundef nonnull align 8 dereferenceable(280) %568)
          to label %569 unwind label %794

569:                                              ; preds = %567
  %570 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %51)
  invoke void @_ZN10SimTKIpopt6Vector3SetEd(ptr noundef nonnull align 8 dereferenceable(205) %570, double noundef 0.000000e+00)
          to label %571 unwind label %796

571:                                              ; preds = %569
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %51) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %51) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %52) #7
  %572 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %50)
  invoke void @_ZN10SimTKIpopt14IteratesVector10s_NonConstEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8 %52, ptr noundef nonnull align 8 dereferenceable(280) %572)
          to label %573 unwind label %799

573:                                              ; preds = %571
  %574 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %52)
  invoke void @_ZN10SimTKIpopt6Vector3SetEd(ptr noundef nonnull align 8 dereferenceable(205) %574, double noundef 0.000000e+00)
          to label %575 unwind label %801

575:                                              ; preds = %573
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %52) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %52) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %53) #7
  %576 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %50)
  invoke void @_ZN10SimTKIpopt14IteratesVector12y_c_NonConstEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8 %53, ptr noundef nonnull align 8 dereferenceable(280) %576)
          to label %577 unwind label %804

577:                                              ; preds = %575
  %578 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %53)
  invoke void @_ZN10SimTKIpopt6Vector3SetEd(ptr noundef nonnull align 8 dereferenceable(205) %578, double noundef 0.000000e+00)
          to label %579 unwind label %806

579:                                              ; preds = %577
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %53) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %53) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %54) #7
  %580 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %50)
  invoke void @_ZN10SimTKIpopt14IteratesVector12y_d_NonConstEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8 %54, ptr noundef nonnull align 8 dereferenceable(280) %580)
          to label %581 unwind label %809

581:                                              ; preds = %579
  %582 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %54)
  invoke void @_ZN10SimTKIpopt6Vector3SetEd(ptr noundef nonnull align 8 dereferenceable(205) %582, double noundef 0.000000e+00)
          to label %583 unwind label %811

583:                                              ; preds = %581
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %54) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %54) #7
  %584 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %585 unwind label %814

585:                                              ; preds = %583
  %586 = call noundef double @_ZNK10SimTKIpopt9IpoptData7curr_muEv(ptr noundef nonnull align 8 dereferenceable(864) %584)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %55) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %55)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %56) #7
  %587 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %50)
  invoke void @_ZN10SimTKIpopt14IteratesVector12z_L_NonConstEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8 %56, ptr noundef nonnull align 8 dereferenceable(280) %587)
          to label %588 unwind label %816

588:                                              ; preds = %585
  %589 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %56)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %57) #7
  %590 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %591 unwind label %818

591:                                              ; preds = %588
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_slack_x_LEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %57, ptr noundef nonnull align 8 dereferenceable(2025) %590)
          to label %592 unwind label %818

592:                                              ; preds = %591
  %593 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %57)
  invoke void @_ZN10SimTKIpopt6Vector4CopyERKS0_(ptr noundef nonnull align 8 dereferenceable(205) %589, ptr noundef nonnull align 8 dereferenceable(205) %593)
          to label %594 unwind label %820

594:                                              ; preds = %592
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %57) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %57) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %56) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %56) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %58) #7
  %595 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %596 unwind label %824

596:                                              ; preds = %594
  %597 = load ptr, ptr %595, align 8, !tbaa !33
  %598 = getelementptr inbounds i8, ptr %597, i64 104
  %599 = load ptr, ptr %598, align 8
  invoke void %599(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.52") align 8 %58, ptr noundef nonnull align 8 dereferenceable(24) %595)
          to label %600 unwind label %824

600:                                              ; preds = %596
  %601 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6MatrixEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %58)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %59) #7
  %602 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %3)
  invoke void @_ZNK10SimTKIpopt14IteratesVector1xEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %59, ptr noundef nonnull align 8 dereferenceable(280) %602)
          to label %603 unwind label %826

603:                                              ; preds = %600
  %604 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %59)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %60) #7
  %605 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %50)
  invoke void @_ZN10SimTKIpopt14IteratesVector12z_L_NonConstEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8 %60, ptr noundef nonnull align 8 dereferenceable(280) %605)
          to label %606 unwind label %828

606:                                              ; preds = %603
  %607 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %60)
  invoke void @_ZNK10SimTKIpopt6Matrix15TransMultVectorEdRKNS_6VectorEdRS1_(ptr noundef nonnull align 8 dereferenceable(69) %601, double noundef -1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %604, double noundef -1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %607)
          to label %608 unwind label %830

608:                                              ; preds = %606
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %60) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %60) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %59) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %59) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %58) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %58) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %61) #7
  %609 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %3)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_LEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %61, ptr noundef nonnull align 8 dereferenceable(280) %609)
          to label %610 unwind label %835

610:                                              ; preds = %608
  %611 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %61)
  %612 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector7MakeNewEv(ptr noundef nonnull align 8 dereferenceable(205) %611)
          to label %613 unwind label %837

613:                                              ; preds = %610
  %614 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %55, ptr noundef %612)
          to label %615 unwind label %837

615:                                              ; preds = %613
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %61) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %61) #7
  %616 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %55)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %62) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %63) #7
  %617 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %618 unwind label %842

618:                                              ; preds = %615
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.37") align 8 %63, ptr noundef nonnull align 8 dereferenceable(864) %617)
          to label %619 unwind label %842

619:                                              ; preds = %618
  %620 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %63)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_LEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %62, ptr noundef nonnull align 8 dereferenceable(280) %620)
          to label %621 unwind label %844

621:                                              ; preds = %619
  %622 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %62)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %64) #7
  %623 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %3)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_LEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %64, ptr noundef nonnull align 8 dereferenceable(280) %623)
          to label %624 unwind label %846

624:                                              ; preds = %621
  %625 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %64)
  invoke void @_ZN10SimTKIpopt6Vector13AddTwoVectorsEdRKS0_dS2_d(ptr noundef nonnull align 8 dereferenceable(205) %616, double noundef 1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %622, double noundef 1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %625, double noundef 0.000000e+00)
          to label %626 unwind label %848

626:                                              ; preds = %624
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %64) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %64) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %62) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %63) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %63) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %62) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %65) #7
  %627 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %50)
  invoke void @_ZN10SimTKIpopt14IteratesVector12z_L_NonConstEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8 %65, ptr noundef nonnull align 8 dereferenceable(280) %627)
          to label %628 unwind label %853

628:                                              ; preds = %626
  %629 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %65)
  %630 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %55)
  invoke void @_ZN10SimTKIpopt6Vector19ElementWiseMultiplyERKS0_(ptr noundef nonnull align 8 dereferenceable(205) %629, ptr noundef nonnull align 8 dereferenceable(205) %630)
          to label %631 unwind label %855

631:                                              ; preds = %628
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %65) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %65) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %66) #7
  %632 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %50)
  invoke void @_ZN10SimTKIpopt14IteratesVector12z_L_NonConstEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8 %66, ptr noundef nonnull align 8 dereferenceable(280) %632)
          to label %633 unwind label %858

633:                                              ; preds = %631
  %634 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %66)
  invoke void @_ZN10SimTKIpopt6Vector9AddScalarEd(ptr noundef nonnull align 8 dereferenceable(205) %634, double noundef %586)
          to label %635 unwind label %860

635:                                              ; preds = %633
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %66) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %66) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %67) #7
  %636 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %50)
  invoke void @_ZN10SimTKIpopt14IteratesVector12z_U_NonConstEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8 %67, ptr noundef nonnull align 8 dereferenceable(280) %636)
          to label %637 unwind label %863

637:                                              ; preds = %635
  %638 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %67)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %68) #7
  %639 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %640 unwind label %865

640:                                              ; preds = %637
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_slack_x_UEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %68, ptr noundef nonnull align 8 dereferenceable(2025) %639)
          to label %641 unwind label %865

641:                                              ; preds = %640
  %642 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %68)
  invoke void @_ZN10SimTKIpopt6Vector4CopyERKS0_(ptr noundef nonnull align 8 dereferenceable(205) %638, ptr noundef nonnull align 8 dereferenceable(205) %642)
          to label %643 unwind label %867

643:                                              ; preds = %641
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %68) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %68) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %67) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %67) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %69) #7
  %644 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %645 unwind label %871

645:                                              ; preds = %643
  %646 = load ptr, ptr %644, align 8, !tbaa !33
  %647 = getelementptr inbounds i8, ptr %646, i64 120
  %648 = load ptr, ptr %647, align 8
  invoke void %648(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.52") align 8 %69, ptr noundef nonnull align 8 dereferenceable(24) %644)
          to label %649 unwind label %871

649:                                              ; preds = %645
  %650 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6MatrixEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %69)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %70) #7
  %651 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %3)
  invoke void @_ZNK10SimTKIpopt14IteratesVector1xEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %70, ptr noundef nonnull align 8 dereferenceable(280) %651)
          to label %652 unwind label %873

652:                                              ; preds = %649
  %653 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %70)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %71) #7
  %654 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %50)
  invoke void @_ZN10SimTKIpopt14IteratesVector12z_U_NonConstEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8 %71, ptr noundef nonnull align 8 dereferenceable(280) %654)
          to label %655 unwind label %875

655:                                              ; preds = %652
  %656 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %71)
  invoke void @_ZNK10SimTKIpopt6Matrix15TransMultVectorEdRKNS_6VectorEdRS1_(ptr noundef nonnull align 8 dereferenceable(69) %650, double noundef 1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %653, double noundef -1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %656)
          to label %657 unwind label %877

657:                                              ; preds = %655
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %71) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %71) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %70) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %70) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %69) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %69) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %72) #7
  %658 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %3)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_UEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %72, ptr noundef nonnull align 8 dereferenceable(280) %658)
          to label %659 unwind label %882

659:                                              ; preds = %657
  %660 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %72)
  %661 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector7MakeNewEv(ptr noundef nonnull align 8 dereferenceable(205) %660)
          to label %662 unwind label %884

662:                                              ; preds = %659
  %663 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %55, ptr noundef %661)
          to label %664 unwind label %884

664:                                              ; preds = %662
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %72) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %72) #7
  %665 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %55)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %73) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %74) #7
  %666 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %667 unwind label %887

667:                                              ; preds = %664
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.37") align 8 %74, ptr noundef nonnull align 8 dereferenceable(864) %666)
          to label %668 unwind label %887

668:                                              ; preds = %667
  %669 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %74)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_UEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %73, ptr noundef nonnull align 8 dereferenceable(280) %669)
          to label %670 unwind label %889

670:                                              ; preds = %668
  %671 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %73)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %75) #7
  %672 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %3)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_UEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %75, ptr noundef nonnull align 8 dereferenceable(280) %672)
          to label %673 unwind label %891

673:                                              ; preds = %670
  %674 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %75)
  invoke void @_ZN10SimTKIpopt6Vector13AddTwoVectorsEdRKS0_dS2_d(ptr noundef nonnull align 8 dereferenceable(205) %665, double noundef 1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %671, double noundef 1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %674, double noundef 0.000000e+00)
          to label %675 unwind label %893

675:                                              ; preds = %673
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %75) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %75) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %73) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %74) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %74) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %73) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %76) #7
  %676 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %50)
  invoke void @_ZN10SimTKIpopt14IteratesVector12z_U_NonConstEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8 %76, ptr noundef nonnull align 8 dereferenceable(280) %676)
          to label %677 unwind label %898

677:                                              ; preds = %675
  %678 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %76)
  %679 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %55)
  invoke void @_ZN10SimTKIpopt6Vector19ElementWiseMultiplyERKS0_(ptr noundef nonnull align 8 dereferenceable(205) %678, ptr noundef nonnull align 8 dereferenceable(205) %679)
          to label %680 unwind label %900

680:                                              ; preds = %677
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %76) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %76) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %77) #7
  %681 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %50)
  invoke void @_ZN10SimTKIpopt14IteratesVector12z_U_NonConstEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8 %77, ptr noundef nonnull align 8 dereferenceable(280) %681)
          to label %682 unwind label %903

682:                                              ; preds = %680
  %683 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %77)
  invoke void @_ZN10SimTKIpopt6Vector9AddScalarEd(ptr noundef nonnull align 8 dereferenceable(205) %683, double noundef %586)
          to label %684 unwind label %905

684:                                              ; preds = %682
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %77) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %77) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %78) #7
  %685 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %50)
  invoke void @_ZN10SimTKIpopt14IteratesVector12v_L_NonConstEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8 %78, ptr noundef nonnull align 8 dereferenceable(280) %685)
          to label %686 unwind label %908

686:                                              ; preds = %684
  %687 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %78)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %79) #7
  %688 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %689 unwind label %910

689:                                              ; preds = %686
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_slack_s_LEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %79, ptr noundef nonnull align 8 dereferenceable(2025) %688)
          to label %690 unwind label %910

690:                                              ; preds = %689
  %691 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %79)
  invoke void @_ZN10SimTKIpopt6Vector4CopyERKS0_(ptr noundef nonnull align 8 dereferenceable(205) %687, ptr noundef nonnull align 8 dereferenceable(205) %691)
          to label %692 unwind label %912

692:                                              ; preds = %690
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %79) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %79) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %78) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %78) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %80) #7
  %693 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %694 unwind label %916

694:                                              ; preds = %692
  %695 = load ptr, ptr %693, align 8, !tbaa !33
  %696 = getelementptr inbounds i8, ptr %695, i64 136
  %697 = load ptr, ptr %696, align 8
  invoke void %697(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.52") align 8 %80, ptr noundef nonnull align 8 dereferenceable(24) %693)
          to label %698 unwind label %916

698:                                              ; preds = %694
  %699 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6MatrixEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %80)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %81) #7
  %700 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %3)
  invoke void @_ZNK10SimTKIpopt14IteratesVector1sEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %81, ptr noundef nonnull align 8 dereferenceable(280) %700)
          to label %701 unwind label %918

701:                                              ; preds = %698
  %702 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %81)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %82) #7
  %703 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %50)
  invoke void @_ZN10SimTKIpopt14IteratesVector12v_L_NonConstEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8 %82, ptr noundef nonnull align 8 dereferenceable(280) %703)
          to label %704 unwind label %920

704:                                              ; preds = %701
  %705 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %82)
  invoke void @_ZNK10SimTKIpopt6Matrix15TransMultVectorEdRKNS_6VectorEdRS1_(ptr noundef nonnull align 8 dereferenceable(69) %699, double noundef -1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %702, double noundef -1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %705)
          to label %706 unwind label %922

706:                                              ; preds = %704
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %82) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %82) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %81) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %81) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %80) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %80) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %83) #7
  %707 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %3)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_LEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %83, ptr noundef nonnull align 8 dereferenceable(280) %707)
          to label %708 unwind label %927

708:                                              ; preds = %706
  %709 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %83)
  %710 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector7MakeNewEv(ptr noundef nonnull align 8 dereferenceable(205) %709)
          to label %711 unwind label %929

711:                                              ; preds = %708
  %712 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %55, ptr noundef %710)
          to label %713 unwind label %929

713:                                              ; preds = %711
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %83) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %83) #7
  %714 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %55)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %84) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %85) #7
  %715 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %716 unwind label %932

716:                                              ; preds = %713
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.37") align 8 %85, ptr noundef nonnull align 8 dereferenceable(864) %715)
          to label %717 unwind label %932

717:                                              ; preds = %716
  %718 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %85)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_LEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %84, ptr noundef nonnull align 8 dereferenceable(280) %718)
          to label %719 unwind label %934

719:                                              ; preds = %717
  %720 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %84)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %86) #7
  %721 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %3)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_LEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %86, ptr noundef nonnull align 8 dereferenceable(280) %721)
          to label %722 unwind label %936

722:                                              ; preds = %719
  %723 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %86)
  invoke void @_ZN10SimTKIpopt6Vector13AddTwoVectorsEdRKS0_dS2_d(ptr noundef nonnull align 8 dereferenceable(205) %714, double noundef 1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %720, double noundef 1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %723, double noundef 0.000000e+00)
          to label %724 unwind label %938

724:                                              ; preds = %722
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %86) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %86) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %84) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %85) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %85) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %84) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %87) #7
  %725 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %50)
  invoke void @_ZN10SimTKIpopt14IteratesVector12v_L_NonConstEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8 %87, ptr noundef nonnull align 8 dereferenceable(280) %725)
          to label %726 unwind label %943

726:                                              ; preds = %724
  %727 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %87)
  %728 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %55)
  invoke void @_ZN10SimTKIpopt6Vector19ElementWiseMultiplyERKS0_(ptr noundef nonnull align 8 dereferenceable(205) %727, ptr noundef nonnull align 8 dereferenceable(205) %728)
          to label %729 unwind label %945

729:                                              ; preds = %726
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %87) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %87) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %88) #7
  %730 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %50)
  invoke void @_ZN10SimTKIpopt14IteratesVector12v_L_NonConstEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8 %88, ptr noundef nonnull align 8 dereferenceable(280) %730)
          to label %731 unwind label %948

731:                                              ; preds = %729
  %732 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %88)
  invoke void @_ZN10SimTKIpopt6Vector9AddScalarEd(ptr noundef nonnull align 8 dereferenceable(205) %732, double noundef %586)
          to label %733 unwind label %950

733:                                              ; preds = %731
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %88) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %88) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %89) #7
  %734 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %50)
  invoke void @_ZN10SimTKIpopt14IteratesVector12v_U_NonConstEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8 %89, ptr noundef nonnull align 8 dereferenceable(280) %734)
          to label %735 unwind label %953

735:                                              ; preds = %733
  %736 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %89)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %90) #7
  %737 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %738 unwind label %955

738:                                              ; preds = %735
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_slack_s_UEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %90, ptr noundef nonnull align 8 dereferenceable(2025) %737)
          to label %739 unwind label %955

739:                                              ; preds = %738
  %740 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %90)
  invoke void @_ZN10SimTKIpopt6Vector4CopyERKS0_(ptr noundef nonnull align 8 dereferenceable(205) %736, ptr noundef nonnull align 8 dereferenceable(205) %740)
          to label %741 unwind label %957

741:                                              ; preds = %739
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %90) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %90) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %89) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %89) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %91) #7
  %742 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %743 unwind label %961

743:                                              ; preds = %741
  %744 = load ptr, ptr %742, align 8, !tbaa !33
  %745 = getelementptr inbounds i8, ptr %744, i64 152
  %746 = load ptr, ptr %745, align 8
  invoke void %746(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.52") align 8 %91, ptr noundef nonnull align 8 dereferenceable(24) %742)
          to label %747 unwind label %961

747:                                              ; preds = %743
  %748 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6MatrixEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %91)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %92) #7
  %749 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %3)
  invoke void @_ZNK10SimTKIpopt14IteratesVector1sEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %92, ptr noundef nonnull align 8 dereferenceable(280) %749)
          to label %750 unwind label %963

750:                                              ; preds = %747
  %751 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %92)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %93) #7
  %752 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %50)
  invoke void @_ZN10SimTKIpopt14IteratesVector12v_U_NonConstEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8 %93, ptr noundef nonnull align 8 dereferenceable(280) %752)
          to label %753 unwind label %965

753:                                              ; preds = %750
  %754 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %93)
  invoke void @_ZNK10SimTKIpopt6Matrix15TransMultVectorEdRKNS_6VectorEdRS1_(ptr noundef nonnull align 8 dereferenceable(69) %748, double noundef 1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %751, double noundef -1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %754)
          to label %755 unwind label %967

755:                                              ; preds = %753
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %93) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %93) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %92) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %92) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %91) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %91) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %94) #7
  %756 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %3)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_UEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %94, ptr noundef nonnull align 8 dereferenceable(280) %756)
          to label %757 unwind label %972

757:                                              ; preds = %755
  %758 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %94)
  %759 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector7MakeNewEv(ptr noundef nonnull align 8 dereferenceable(205) %758)
          to label %760 unwind label %974

760:                                              ; preds = %757
  %761 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %55, ptr noundef %759)
          to label %762 unwind label %974

762:                                              ; preds = %760
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %94) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %94) #7
  %763 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %55)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %95) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %96) #7
  %764 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %765 unwind label %977

765:                                              ; preds = %762
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.37") align 8 %96, ptr noundef nonnull align 8 dereferenceable(864) %764)
          to label %766 unwind label %977

766:                                              ; preds = %765
  %767 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %96)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_UEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %95, ptr noundef nonnull align 8 dereferenceable(280) %767)
          to label %768 unwind label %979

768:                                              ; preds = %766
  %769 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %95)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %97) #7
  %770 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %3)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_UEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %97, ptr noundef nonnull align 8 dereferenceable(280) %770)
          to label %771 unwind label %981

771:                                              ; preds = %768
  %772 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %97)
  invoke void @_ZN10SimTKIpopt6Vector13AddTwoVectorsEdRKS0_dS2_d(ptr noundef nonnull align 8 dereferenceable(205) %763, double noundef 1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %769, double noundef 1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %772, double noundef 0.000000e+00)
          to label %773 unwind label %983

773:                                              ; preds = %771
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %97) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %97) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %95) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %96) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %96) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %95) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %98) #7
  %774 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %50)
  invoke void @_ZN10SimTKIpopt14IteratesVector12v_U_NonConstEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8 %98, ptr noundef nonnull align 8 dereferenceable(280) %774)
          to label %775 unwind label %988

775:                                              ; preds = %773
  %776 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %98)
  %777 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %55)
  invoke void @_ZN10SimTKIpopt6Vector19ElementWiseMultiplyERKS0_(ptr noundef nonnull align 8 dereferenceable(205) %776, ptr noundef nonnull align 8 dereferenceable(205) %777)
          to label %778 unwind label %990

778:                                              ; preds = %775
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %98) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %98) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %99) #7
  %779 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %50)
  invoke void @_ZN10SimTKIpopt14IteratesVector12v_U_NonConstEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8 %99, ptr noundef nonnull align 8 dereferenceable(280) %779)
          to label %780 unwind label %993

780:                                              ; preds = %778
  %781 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %99)
  invoke void @_ZN10SimTKIpopt6Vector9AddScalarEd(ptr noundef nonnull align 8 dereferenceable(205) %781, double noundef %586)
          to label %782 unwind label %995

782:                                              ; preds = %780
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %99) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %99) #7
  %783 = getelementptr inbounds i8, ptr %0, i64 296
  %784 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14PDSystemSolverEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %783)
  %785 = call noundef nonnull align 8 dereferenceable(280) ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %50)
  %786 = call noundef nonnull align 8 dereferenceable(280) ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %13)
  %787 = load ptr, ptr %784, align 8, !tbaa !33
  %788 = getelementptr inbounds i8, ptr %787, i64 24
  %789 = load ptr, ptr %788, align 8
  %790 = invoke noundef zeroext i1 %789(ptr noundef nonnull align 8 dereferenceable(49) %784, double noundef 1.000000e+00, double noundef 1.000000e+00, ptr noundef nonnull align 8 dereferenceable(280) %785, ptr noundef nonnull align 8 dereferenceable(280) %786, i1 noundef zeroext true, i1 noundef zeroext false)
          to label %791 unwind label %840

791:                                              ; preds = %782
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %55) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %55) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %50) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %50) #7
  br label %1001

792:                                              ; preds = %565
  %793 = landingpad { ptr, i32 }
          cleanup
  br label %1000

794:                                              ; preds = %567
  %795 = landingpad { ptr, i32 }
          cleanup
  br label %798

796:                                              ; preds = %569
  %797 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %51) #7
  br label %798

798:                                              ; preds = %796, %794
  %.pn180 = phi { ptr, i32 } [ %797, %796 ], [ %795, %794 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %51) #7
  br label %999

799:                                              ; preds = %571
  %800 = landingpad { ptr, i32 }
          cleanup
  br label %803

801:                                              ; preds = %573
  %802 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %52) #7
  br label %803

803:                                              ; preds = %801, %799
  %.pn182 = phi { ptr, i32 } [ %802, %801 ], [ %800, %799 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %52) #7
  br label %999

804:                                              ; preds = %575
  %805 = landingpad { ptr, i32 }
          cleanup
  br label %808

806:                                              ; preds = %577
  %807 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %53) #7
  br label %808

808:                                              ; preds = %806, %804
  %.pn184 = phi { ptr, i32 } [ %807, %806 ], [ %805, %804 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %53) #7
  br label %999

809:                                              ; preds = %579
  %810 = landingpad { ptr, i32 }
          cleanup
  br label %813

811:                                              ; preds = %581
  %812 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %54) #7
  br label %813

813:                                              ; preds = %811, %809
  %.pn186 = phi { ptr, i32 } [ %812, %811 ], [ %810, %809 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %54) #7
  br label %999

814:                                              ; preds = %583
  %815 = landingpad { ptr, i32 }
          cleanup
  br label %999

816:                                              ; preds = %585
  %817 = landingpad { ptr, i32 }
          cleanup
  br label %823

818:                                              ; preds = %591, %588
  %819 = landingpad { ptr, i32 }
          cleanup
  br label %822

820:                                              ; preds = %592
  %821 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %57) #7
  br label %822

822:                                              ; preds = %820, %818
  %.pn188 = phi { ptr, i32 } [ %821, %820 ], [ %819, %818 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %57) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %56) #7
  br label %823

823:                                              ; preds = %822, %816
  %.pn188.pn = phi { ptr, i32 } [ %.pn188, %822 ], [ %817, %816 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %56) #7
  br label %998

824:                                              ; preds = %596, %594
  %825 = landingpad { ptr, i32 }
          cleanup
  br label %834

826:                                              ; preds = %600
  %827 = landingpad { ptr, i32 }
          cleanup
  br label %833

828:                                              ; preds = %603
  %829 = landingpad { ptr, i32 }
          cleanup
  br label %832

830:                                              ; preds = %606
  %831 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %60) #7
  br label %832

832:                                              ; preds = %830, %828
  %.pn191 = phi { ptr, i32 } [ %831, %830 ], [ %829, %828 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %60) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %59) #7
  br label %833

833:                                              ; preds = %832, %826
  %.pn191.pn = phi { ptr, i32 } [ %.pn191, %832 ], [ %827, %826 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %59) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %58) #7
  br label %834

834:                                              ; preds = %833, %824
  %.pn191.pn.pn = phi { ptr, i32 } [ %.pn191.pn, %833 ], [ %825, %824 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %58) #7
  br label %998

835:                                              ; preds = %608
  %836 = landingpad { ptr, i32 }
          cleanup
  br label %839

837:                                              ; preds = %613, %610
  %838 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %61) #7
  br label %839

839:                                              ; preds = %837, %835
  %.pn195 = phi { ptr, i32 } [ %838, %837 ], [ %836, %835 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %61) #7
  br label %998

840:                                              ; preds = %782
  %841 = landingpad { ptr, i32 }
          cleanup
  br label %998

842:                                              ; preds = %618, %615
  %843 = landingpad { ptr, i32 }
          cleanup
  br label %852

844:                                              ; preds = %619
  %845 = landingpad { ptr, i32 }
          cleanup
  br label %851

846:                                              ; preds = %621
  %847 = landingpad { ptr, i32 }
          cleanup
  br label %850

848:                                              ; preds = %624
  %849 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %64) #7
  br label %850

850:                                              ; preds = %848, %846
  %.pn197 = phi { ptr, i32 } [ %849, %848 ], [ %847, %846 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %64) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %62) #7
  br label %851

851:                                              ; preds = %850, %844
  %.pn197.pn = phi { ptr, i32 } [ %.pn197, %850 ], [ %845, %844 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %63) #7
  br label %852

852:                                              ; preds = %851, %842
  %.pn197.pn.pn = phi { ptr, i32 } [ %.pn197.pn, %851 ], [ %843, %842 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %63) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %62) #7
  br label %998

853:                                              ; preds = %626
  %854 = landingpad { ptr, i32 }
          cleanup
  br label %857

855:                                              ; preds = %628
  %856 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %65) #7
  br label %857

857:                                              ; preds = %855, %853
  %.pn201 = phi { ptr, i32 } [ %856, %855 ], [ %854, %853 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %65) #7
  br label %998

858:                                              ; preds = %631
  %859 = landingpad { ptr, i32 }
          cleanup
  br label %862

860:                                              ; preds = %633
  %861 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %66) #7
  br label %862

862:                                              ; preds = %860, %858
  %.pn203 = phi { ptr, i32 } [ %861, %860 ], [ %859, %858 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %66) #7
  br label %998

863:                                              ; preds = %635
  %864 = landingpad { ptr, i32 }
          cleanup
  br label %870

865:                                              ; preds = %640, %637
  %866 = landingpad { ptr, i32 }
          cleanup
  br label %869

867:                                              ; preds = %641
  %868 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %68) #7
  br label %869

869:                                              ; preds = %867, %865
  %.pn205 = phi { ptr, i32 } [ %868, %867 ], [ %866, %865 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %68) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %67) #7
  br label %870

870:                                              ; preds = %869, %863
  %.pn205.pn = phi { ptr, i32 } [ %.pn205, %869 ], [ %864, %863 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %67) #7
  br label %998

871:                                              ; preds = %645, %643
  %872 = landingpad { ptr, i32 }
          cleanup
  br label %881

873:                                              ; preds = %649
  %874 = landingpad { ptr, i32 }
          cleanup
  br label %880

875:                                              ; preds = %652
  %876 = landingpad { ptr, i32 }
          cleanup
  br label %879

877:                                              ; preds = %655
  %878 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %71) #7
  br label %879

879:                                              ; preds = %877, %875
  %.pn208 = phi { ptr, i32 } [ %878, %877 ], [ %876, %875 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %71) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %70) #7
  br label %880

880:                                              ; preds = %879, %873
  %.pn208.pn = phi { ptr, i32 } [ %.pn208, %879 ], [ %874, %873 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %70) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %69) #7
  br label %881

881:                                              ; preds = %880, %871
  %.pn208.pn.pn = phi { ptr, i32 } [ %.pn208.pn, %880 ], [ %872, %871 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %69) #7
  br label %998

882:                                              ; preds = %657
  %883 = landingpad { ptr, i32 }
          cleanup
  br label %886

884:                                              ; preds = %662, %659
  %885 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %72) #7
  br label %886

886:                                              ; preds = %884, %882
  %.pn212 = phi { ptr, i32 } [ %885, %884 ], [ %883, %882 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %72) #7
  br label %998

887:                                              ; preds = %667, %664
  %888 = landingpad { ptr, i32 }
          cleanup
  br label %897

889:                                              ; preds = %668
  %890 = landingpad { ptr, i32 }
          cleanup
  br label %896

891:                                              ; preds = %670
  %892 = landingpad { ptr, i32 }
          cleanup
  br label %895

893:                                              ; preds = %673
  %894 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %75) #7
  br label %895

895:                                              ; preds = %893, %891
  %.pn214 = phi { ptr, i32 } [ %894, %893 ], [ %892, %891 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %75) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %73) #7
  br label %896

896:                                              ; preds = %895, %889
  %.pn214.pn = phi { ptr, i32 } [ %.pn214, %895 ], [ %890, %889 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %74) #7
  br label %897

897:                                              ; preds = %896, %887
  %.pn214.pn.pn = phi { ptr, i32 } [ %.pn214.pn, %896 ], [ %888, %887 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %74) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %73) #7
  br label %998

898:                                              ; preds = %675
  %899 = landingpad { ptr, i32 }
          cleanup
  br label %902

900:                                              ; preds = %677
  %901 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %76) #7
  br label %902

902:                                              ; preds = %900, %898
  %.pn218 = phi { ptr, i32 } [ %901, %900 ], [ %899, %898 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %76) #7
  br label %998

903:                                              ; preds = %680
  %904 = landingpad { ptr, i32 }
          cleanup
  br label %907

905:                                              ; preds = %682
  %906 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %77) #7
  br label %907

907:                                              ; preds = %905, %903
  %.pn220 = phi { ptr, i32 } [ %906, %905 ], [ %904, %903 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %77) #7
  br label %998

908:                                              ; preds = %684
  %909 = landingpad { ptr, i32 }
          cleanup
  br label %915

910:                                              ; preds = %689, %686
  %911 = landingpad { ptr, i32 }
          cleanup
  br label %914

912:                                              ; preds = %690
  %913 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %79) #7
  br label %914

914:                                              ; preds = %912, %910
  %.pn222 = phi { ptr, i32 } [ %913, %912 ], [ %911, %910 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %79) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %78) #7
  br label %915

915:                                              ; preds = %914, %908
  %.pn222.pn = phi { ptr, i32 } [ %.pn222, %914 ], [ %909, %908 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %78) #7
  br label %998

916:                                              ; preds = %694, %692
  %917 = landingpad { ptr, i32 }
          cleanup
  br label %926

918:                                              ; preds = %698
  %919 = landingpad { ptr, i32 }
          cleanup
  br label %925

920:                                              ; preds = %701
  %921 = landingpad { ptr, i32 }
          cleanup
  br label %924

922:                                              ; preds = %704
  %923 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %82) #7
  br label %924

924:                                              ; preds = %922, %920
  %.pn225 = phi { ptr, i32 } [ %923, %922 ], [ %921, %920 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %82) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %81) #7
  br label %925

925:                                              ; preds = %924, %918
  %.pn225.pn = phi { ptr, i32 } [ %.pn225, %924 ], [ %919, %918 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %81) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %80) #7
  br label %926

926:                                              ; preds = %925, %916
  %.pn225.pn.pn = phi { ptr, i32 } [ %.pn225.pn, %925 ], [ %917, %916 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %80) #7
  br label %998

927:                                              ; preds = %706
  %928 = landingpad { ptr, i32 }
          cleanup
  br label %931

929:                                              ; preds = %711, %708
  %930 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %83) #7
  br label %931

931:                                              ; preds = %929, %927
  %.pn229 = phi { ptr, i32 } [ %930, %929 ], [ %928, %927 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %83) #7
  br label %998

932:                                              ; preds = %716, %713
  %933 = landingpad { ptr, i32 }
          cleanup
  br label %942

934:                                              ; preds = %717
  %935 = landingpad { ptr, i32 }
          cleanup
  br label %941

936:                                              ; preds = %719
  %937 = landingpad { ptr, i32 }
          cleanup
  br label %940

938:                                              ; preds = %722
  %939 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %86) #7
  br label %940

940:                                              ; preds = %938, %936
  %.pn231 = phi { ptr, i32 } [ %939, %938 ], [ %937, %936 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %86) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %84) #7
  br label %941

941:                                              ; preds = %940, %934
  %.pn231.pn = phi { ptr, i32 } [ %.pn231, %940 ], [ %935, %934 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %85) #7
  br label %942

942:                                              ; preds = %941, %932
  %.pn231.pn.pn = phi { ptr, i32 } [ %.pn231.pn, %941 ], [ %933, %932 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %85) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %84) #7
  br label %998

943:                                              ; preds = %724
  %944 = landingpad { ptr, i32 }
          cleanup
  br label %947

945:                                              ; preds = %726
  %946 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %87) #7
  br label %947

947:                                              ; preds = %945, %943
  %.pn235 = phi { ptr, i32 } [ %946, %945 ], [ %944, %943 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %87) #7
  br label %998

948:                                              ; preds = %729
  %949 = landingpad { ptr, i32 }
          cleanup
  br label %952

950:                                              ; preds = %731
  %951 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %88) #7
  br label %952

952:                                              ; preds = %950, %948
  %.pn237 = phi { ptr, i32 } [ %951, %950 ], [ %949, %948 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %88) #7
  br label %998

953:                                              ; preds = %733
  %954 = landingpad { ptr, i32 }
          cleanup
  br label %960

955:                                              ; preds = %738, %735
  %956 = landingpad { ptr, i32 }
          cleanup
  br label %959

957:                                              ; preds = %739
  %958 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %90) #7
  br label %959

959:                                              ; preds = %957, %955
  %.pn239 = phi { ptr, i32 } [ %958, %957 ], [ %956, %955 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %90) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %89) #7
  br label %960

960:                                              ; preds = %959, %953
  %.pn239.pn = phi { ptr, i32 } [ %.pn239, %959 ], [ %954, %953 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %89) #7
  br label %998

961:                                              ; preds = %743, %741
  %962 = landingpad { ptr, i32 }
          cleanup
  br label %971

963:                                              ; preds = %747
  %964 = landingpad { ptr, i32 }
          cleanup
  br label %970

965:                                              ; preds = %750
  %966 = landingpad { ptr, i32 }
          cleanup
  br label %969

967:                                              ; preds = %753
  %968 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %93) #7
  br label %969

969:                                              ; preds = %967, %965
  %.pn242 = phi { ptr, i32 } [ %968, %967 ], [ %966, %965 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %93) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %92) #7
  br label %970

970:                                              ; preds = %969, %963
  %.pn242.pn = phi { ptr, i32 } [ %.pn242, %969 ], [ %964, %963 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %92) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %91) #7
  br label %971

971:                                              ; preds = %970, %961
  %.pn242.pn.pn = phi { ptr, i32 } [ %.pn242.pn, %970 ], [ %962, %961 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %91) #7
  br label %998

972:                                              ; preds = %755
  %973 = landingpad { ptr, i32 }
          cleanup
  br label %976

974:                                              ; preds = %760, %757
  %975 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %94) #7
  br label %976

976:                                              ; preds = %974, %972
  %.pn246 = phi { ptr, i32 } [ %975, %974 ], [ %973, %972 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %94) #7
  br label %998

977:                                              ; preds = %765, %762
  %978 = landingpad { ptr, i32 }
          cleanup
  br label %987

979:                                              ; preds = %766
  %980 = landingpad { ptr, i32 }
          cleanup
  br label %986

981:                                              ; preds = %768
  %982 = landingpad { ptr, i32 }
          cleanup
  br label %985

983:                                              ; preds = %771
  %984 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %97) #7
  br label %985

985:                                              ; preds = %983, %981
  %.pn248 = phi { ptr, i32 } [ %984, %983 ], [ %982, %981 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %97) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %95) #7
  br label %986

986:                                              ; preds = %985, %979
  %.pn248.pn = phi { ptr, i32 } [ %.pn248, %985 ], [ %980, %979 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %96) #7
  br label %987

987:                                              ; preds = %986, %977
  %.pn248.pn.pn = phi { ptr, i32 } [ %.pn248.pn, %986 ], [ %978, %977 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %96) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %95) #7
  br label %998

988:                                              ; preds = %773
  %989 = landingpad { ptr, i32 }
          cleanup
  br label %992

990:                                              ; preds = %775
  %991 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %98) #7
  br label %992

992:                                              ; preds = %990, %988
  %.pn252 = phi { ptr, i32 } [ %991, %990 ], [ %989, %988 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %98) #7
  br label %998

993:                                              ; preds = %778
  %994 = landingpad { ptr, i32 }
          cleanup
  br label %997

995:                                              ; preds = %780
  %996 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %99) #7
  br label %997

997:                                              ; preds = %995, %993
  %.pn254 = phi { ptr, i32 } [ %996, %995 ], [ %994, %993 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %99) #7
  br label %998

998:                                              ; preds = %997, %992, %987, %976, %971, %960, %952, %947, %942, %931, %926, %915, %907, %902, %897, %886, %881, %870, %862, %857, %852, %840, %839, %834, %823
  %.pn256 = phi { ptr, i32 } [ %841, %840 ], [ %.pn254, %997 ], [ %.pn252, %992 ], [ %.pn248.pn.pn, %987 ], [ %.pn246, %976 ], [ %.pn242.pn.pn, %971 ], [ %.pn239.pn, %960 ], [ %.pn237, %952 ], [ %.pn235, %947 ], [ %.pn231.pn.pn, %942 ], [ %.pn229, %931 ], [ %.pn225.pn.pn, %926 ], [ %.pn222.pn, %915 ], [ %.pn220, %907 ], [ %.pn218, %902 ], [ %.pn214.pn.pn, %897 ], [ %.pn212, %886 ], [ %.pn208.pn.pn, %881 ], [ %.pn205.pn, %870 ], [ %.pn203, %862 ], [ %.pn201, %857 ], [ %.pn197.pn.pn, %852 ], [ %.pn195, %839 ], [ %.pn191.pn.pn, %834 ], [ %.pn188.pn, %823 ]
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %55) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %55) #7
  br label %999

999:                                              ; preds = %814, %998, %813, %808, %803, %798
  %.pn256.pn.pn = phi { ptr, i32 } [ %.pn186, %813 ], [ %.pn184, %808 ], [ %.pn182, %803 ], [ %.pn180, %798 ], [ %.pn256, %998 ], [ %815, %814 ]
  call void @_ZN10SimTKIpopt8SmartPtrINS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %50) #7
  br label %1000

1000:                                             ; preds = %999, %792
  %.pn256.pn.pn.pn = phi { ptr, i32 } [ %.pn256.pn.pn, %999 ], [ %793, %792 ]
  %.100 = extractvalue { ptr, i32 } %.pn256.pn.pn.pn, 0
  %.100144 = extractvalue { ptr, i32 } %.pn256.pn.pn.pn, 1
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %50) #7
  br label %1211

1001:                                             ; preds = %203, %791, %453
  %1002 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %1003 unwind label %1081

1003:                                             ; preds = %1001
  %1004 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %1005 unwind label %1081

1005:                                             ; preds = %1003
  %1006 = call noundef double @_ZNK10SimTKIpopt9IpoptData8curr_tauEv(ptr noundef nonnull align 8 dereferenceable(864) %1004)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %100) #7
  %1007 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %13)
  invoke void @_ZNK10SimTKIpopt14IteratesVector1xEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %100, ptr noundef nonnull align 8 dereferenceable(280) %1007)
          to label %1008 unwind label %1085

1008:                                             ; preds = %1005
  %1009 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %100)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %101) #7
  %1010 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %13)
  invoke void @_ZNK10SimTKIpopt14IteratesVector1sEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %101, ptr noundef nonnull align 8 dereferenceable(280) %1010)
          to label %1011 unwind label %1087

1011:                                             ; preds = %1008
  %1012 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %101)
  %1013 = invoke noundef double @_ZN10SimTKIpopt25IpoptCalculatedQuantities24primal_frac_to_the_boundEdRKNS_6VectorES3_(ptr noundef nonnull align 8 dereferenceable(2025) %1002, double noundef %1006, ptr noundef nonnull align 8 dereferenceable(205) %1009, ptr noundef nonnull align 8 dereferenceable(205) %1012)
          to label %1014 unwind label %1089

1014:                                             ; preds = %1011
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %101) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %101) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %100) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %100) #7
  %1015 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %1016 unwind label %1081

1016:                                             ; preds = %1014
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %102) #7
  %1017 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %13)
  invoke void @_ZNK10SimTKIpopt14IteratesVector1xEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %102, ptr noundef nonnull align 8 dereferenceable(280) %1017)
          to label %1018 unwind label %1093

1018:                                             ; preds = %1016
  %1019 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %102)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %103) #7
  %1020 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %13)
  invoke void @_ZNK10SimTKIpopt14IteratesVector1sEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %103, ptr noundef nonnull align 8 dereferenceable(280) %1020)
          to label %1021 unwind label %1095

1021:                                             ; preds = %1018
  %1022 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %103)
  invoke void @_ZN10SimTKIpopt9IpoptData31SetTrialPrimalVariablesFromStepEdRKNS_6VectorES3_(ptr noundef nonnull align 8 dereferenceable(864) %1015, double noundef %1013, ptr noundef nonnull align 8 dereferenceable(205) %1019, ptr noundef nonnull align 8 dereferenceable(205) %1022)
          to label %1023 unwind label %1097

1023:                                             ; preds = %1021
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %103) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %103) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %102) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %102) #7
  %1024 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %1025 unwind label %1101

1025:                                             ; preds = %1023
  %1026 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %1027 unwind label %1101

1027:                                             ; preds = %1025
  %1028 = call noundef double @_ZNK10SimTKIpopt9IpoptData8curr_tauEv(ptr noundef nonnull align 8 dereferenceable(864) %1026)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %104) #7
  %1029 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %13)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_LEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %104, ptr noundef nonnull align 8 dereferenceable(280) %1029)
          to label %1030 unwind label %1105

1030:                                             ; preds = %1027
  %1031 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %104)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %105) #7
  %1032 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %13)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_UEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %105, ptr noundef nonnull align 8 dereferenceable(280) %1032)
          to label %1033 unwind label %1107

1033:                                             ; preds = %1030
  %1034 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %105)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %106) #7
  %1035 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %13)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_LEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %106, ptr noundef nonnull align 8 dereferenceable(280) %1035)
          to label %1036 unwind label %1109

1036:                                             ; preds = %1033
  %1037 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %106)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %107) #7
  %1038 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %13)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_UEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %107, ptr noundef nonnull align 8 dereferenceable(280) %1038)
          to label %1039 unwind label %1111

1039:                                             ; preds = %1036
  %1040 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %107)
  %1041 = invoke noundef double @_ZN10SimTKIpopt25IpoptCalculatedQuantities22dual_frac_to_the_boundEdRKNS_6VectorES3_S3_S3_(ptr noundef nonnull align 8 dereferenceable(2025) %1024, double noundef %1028, ptr noundef nonnull align 8 dereferenceable(205) %1031, ptr noundef nonnull align 8 dereferenceable(205) %1034, ptr noundef nonnull align 8 dereferenceable(205) %1037, ptr noundef nonnull align 8 dereferenceable(205) %1040)
          to label %1042 unwind label %1113

1042:                                             ; preds = %1039
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %107) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %107) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %106) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %106) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %105) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %105) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %104) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %104) #7
  %1043 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %1044 unwind label %1101

1044:                                             ; preds = %1042
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %108) #7
  %1045 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %13)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_LEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %108, ptr noundef nonnull align 8 dereferenceable(280) %1045)
          to label %1046 unwind label %1119

1046:                                             ; preds = %1044
  %1047 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %108)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %109) #7
  %1048 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %13)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_UEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %109, ptr noundef nonnull align 8 dereferenceable(280) %1048)
          to label %1049 unwind label %1121

1049:                                             ; preds = %1046
  %1050 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %109)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %110) #7
  %1051 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %13)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_LEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %110, ptr noundef nonnull align 8 dereferenceable(280) %1051)
          to label %1052 unwind label %1123

1052:                                             ; preds = %1049
  %1053 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %110)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %111) #7
  %1054 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %13)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_UEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8 %111, ptr noundef nonnull align 8 dereferenceable(280) %1054)
          to label %1055 unwind label %1125

1055:                                             ; preds = %1052
  %1056 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %111)
  invoke void @_ZN10SimTKIpopt9IpoptData32SetTrialBoundMultipliersFromStepEdRKNS_6VectorES3_S3_S3_(ptr noundef nonnull align 8 dereferenceable(864) %1043, double noundef %1041, ptr noundef nonnull align 8 dereferenceable(205) %1047, ptr noundef nonnull align 8 dereferenceable(205) %1050, ptr noundef nonnull align 8 dereferenceable(205) %1053, ptr noundef nonnull align 8 dereferenceable(205) %1056)
          to label %1057 unwind label %1127

1057:                                             ; preds = %1055
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %111) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %111) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %110) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %110) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %109) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %109) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %108) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %108) #7
  %1058 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %1059 unwind label %1133

1059:                                             ; preds = %1057
  %1060 = invoke noundef double @_ZN10SimTKIpopt25IpoptCalculatedQuantities16trial_avrg_complEv(ptr noundef nonnull align 8 dereferenceable(2025) %1058)
          to label %1061 unwind label %1133

1061:                                             ; preds = %1059
  %1062 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %1063 unwind label %1137

1063:                                             ; preds = %1061
  %1064 = invoke noundef double @_ZN10SimTKIpopt25IpoptCalculatedQuantities15curr_avrg_complEv(ptr noundef nonnull align 8 dereferenceable(2025) %1062)
          to label %1065 unwind label %1137

1065:                                             ; preds = %1063
  %1066 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5JnlstEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %1067 unwind label %1137

1067:                                             ; preds = %1065
  invoke void (ptr, i32, i32, ptr, ...) @_ZNK10SimTKIpopt10Journalist6PrintfENS_13EJournalLevelENS_16EJournalCategoryEPKcz(ptr noundef nonnull align 8 dereferenceable(40) %1066, i32 noundef 5, i32 noundef 8, ptr noundef nonnull @.str.93, double noundef %1064, double noundef %1060)
          to label %1068 unwind label %1137

1068:                                             ; preds = %1067
  %1069 = load i32, ptr %118, align 8, !tbaa !5
  %1070 = icmp eq i32 %1069, 1
  br i1 %1070, label %1071, label %1141

1071:                                             ; preds = %1068
  %1072 = getelementptr inbounds i8, ptr %0, i64 176
  %1073 = load double, ptr %1072, align 8, !tbaa !35
  %1074 = fmul double %1064, %1073
  %1075 = fcmp ult double %1060, %1074
  br i1 %1075, label %1141, label %1076

1076:                                             ; preds = %1071
  %1077 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5JnlstEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %1078 unwind label %1137

1078:                                             ; preds = %1076
  invoke void (ptr, i32, i32, ptr, ...) @_ZNK10SimTKIpopt10Journalist6PrintfENS_13EJournalLevelENS_16EJournalCategoryEPKcz(ptr noundef nonnull align 8 dereferenceable(40) %1077, i32 noundef 5, i32 noundef 8, ptr noundef nonnull @.str.94)
          to label %1079 unwind label %1137

1079:                                             ; preds = %1078
  %1080 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %1208 unwind label %1137

1081:                                             ; preds = %1014, %1003, %1001
  %1082 = landingpad { ptr, i32 }
          cleanup
  %1083 = extractvalue { ptr, i32 } %1082, 0
  %1084 = extractvalue { ptr, i32 } %1082, 1
  br label %1211

1085:                                             ; preds = %1005
  %1086 = landingpad { ptr, i32 }
          cleanup
  br label %1092

1087:                                             ; preds = %1008
  %1088 = landingpad { ptr, i32 }
          cleanup
  br label %1091

1089:                                             ; preds = %1011
  %1090 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %101) #7
  br label %1091

1091:                                             ; preds = %1089, %1087
  %.pn322 = phi { ptr, i32 } [ %1090, %1089 ], [ %1088, %1087 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %101) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %100) #7
  br label %1092

1092:                                             ; preds = %1091, %1085
  %.pn322.pn = phi { ptr, i32 } [ %.pn322, %1091 ], [ %1086, %1085 ]
  %.102 = extractvalue { ptr, i32 } %.pn322.pn, 0
  %.102146 = extractvalue { ptr, i32 } %.pn322.pn, 1
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %100) #7
  br label %1211

1093:                                             ; preds = %1016
  %1094 = landingpad { ptr, i32 }
          cleanup
  br label %1100

1095:                                             ; preds = %1018
  %1096 = landingpad { ptr, i32 }
          cleanup
  br label %1099

1097:                                             ; preds = %1021
  %1098 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %103) #7
  br label %1099

1099:                                             ; preds = %1097, %1095
  %.pn325 = phi { ptr, i32 } [ %1098, %1097 ], [ %1096, %1095 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %103) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %102) #7
  br label %1100

1100:                                             ; preds = %1099, %1093
  %.pn325.pn = phi { ptr, i32 } [ %.pn325, %1099 ], [ %1094, %1093 ]
  %.104 = extractvalue { ptr, i32 } %.pn325.pn, 0
  %.104148 = extractvalue { ptr, i32 } %.pn325.pn, 1
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %102) #7
  br label %1211

1101:                                             ; preds = %1042, %1025, %1023
  %1102 = landingpad { ptr, i32 }
          cleanup
  %1103 = extractvalue { ptr, i32 } %1102, 0
  %1104 = extractvalue { ptr, i32 } %1102, 1
  br label %1211

1105:                                             ; preds = %1027
  %1106 = landingpad { ptr, i32 }
          cleanup
  br label %1118

1107:                                             ; preds = %1030
  %1108 = landingpad { ptr, i32 }
          cleanup
  br label %1117

1109:                                             ; preds = %1033
  %1110 = landingpad { ptr, i32 }
          cleanup
  br label %1116

1111:                                             ; preds = %1036
  %1112 = landingpad { ptr, i32 }
          cleanup
  br label %1115

1113:                                             ; preds = %1039
  %1114 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %107) #7
  br label %1115

1115:                                             ; preds = %1113, %1111
  %.pn328 = phi { ptr, i32 } [ %1114, %1113 ], [ %1112, %1111 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %107) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %106) #7
  br label %1116

1116:                                             ; preds = %1115, %1109
  %.pn328.pn = phi { ptr, i32 } [ %.pn328, %1115 ], [ %1110, %1109 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %106) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %105) #7
  br label %1117

1117:                                             ; preds = %1116, %1107
  %.pn328.pn.pn = phi { ptr, i32 } [ %.pn328.pn, %1116 ], [ %1108, %1107 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %105) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %104) #7
  br label %1118

1118:                                             ; preds = %1117, %1105
  %.pn328.pn.pn.pn = phi { ptr, i32 } [ %.pn328.pn.pn, %1117 ], [ %1106, %1105 ]
  %.108 = extractvalue { ptr, i32 } %.pn328.pn.pn.pn, 0
  %.108152 = extractvalue { ptr, i32 } %.pn328.pn.pn.pn, 1
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %104) #7
  br label %1211

1119:                                             ; preds = %1044
  %1120 = landingpad { ptr, i32 }
          cleanup
  br label %1132

1121:                                             ; preds = %1046
  %1122 = landingpad { ptr, i32 }
          cleanup
  br label %1131

1123:                                             ; preds = %1049
  %1124 = landingpad { ptr, i32 }
          cleanup
  br label %1130

1125:                                             ; preds = %1052
  %1126 = landingpad { ptr, i32 }
          cleanup
  br label %1129

1127:                                             ; preds = %1055
  %1128 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %111) #7
  br label %1129

1129:                                             ; preds = %1127, %1125
  %.pn333 = phi { ptr, i32 } [ %1128, %1127 ], [ %1126, %1125 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %111) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %110) #7
  br label %1130

1130:                                             ; preds = %1129, %1123
  %.pn333.pn = phi { ptr, i32 } [ %.pn333, %1129 ], [ %1124, %1123 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %110) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %109) #7
  br label %1131

1131:                                             ; preds = %1130, %1121
  %.pn333.pn.pn = phi { ptr, i32 } [ %.pn333.pn, %1130 ], [ %1122, %1121 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %109) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %108) #7
  br label %1132

1132:                                             ; preds = %1131, %1119
  %.pn333.pn.pn.pn = phi { ptr, i32 } [ %.pn333.pn.pn, %1131 ], [ %1120, %1119 ]
  %.112 = extractvalue { ptr, i32 } %.pn333.pn.pn.pn, 0
  %.112156 = extractvalue { ptr, i32 } %.pn333.pn.pn.pn, 1
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %108) #7
  br label %1211

1133:                                             ; preds = %1059, %1057
  %1134 = landingpad { ptr, i32 }
          cleanup
  %1135 = extractvalue { ptr, i32 } %1134, 0
  %1136 = extractvalue { ptr, i32 } %1134, 1
  br label %1211

1137:                                             ; preds = %.thread, %1181, %1179, %1177, %1175, %1172, %1170, %1168, %1167, %1165, %1079, %1078, %1076, %1067, %1065, %1063, %1061
  %1138 = landingpad { ptr, i32 }
          cleanup
  %1139 = extractvalue { ptr, i32 } %1138, 0
  %1140 = extractvalue { ptr, i32 } %1138, 1
  br label %1211

1141:                                             ; preds = %1071, %1068
  %1142 = load ptr, ptr %0, align 8, !tbaa !33
  %1143 = getelementptr inbounds i8, ptr %1142, i64 56
  %1144 = load ptr, ptr %1143, align 8
  %1145 = invoke noundef zeroext i1 %1144(ptr noundef nonnull align 8 dereferenceable(304) %0, double noundef %1)
          to label %1164 unwind label %1146

1146:                                             ; preds = %1141
  %1147 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN10SimTKIpopt8IpoptNLP10Eval_ErrorE
  %1148 = extractvalue { ptr, i32 } %1147, 0
  %1149 = extractvalue { ptr, i32 } %1147, 1
  %1150 = call i32 @llvm.eh.typeid.for.p0(ptr nonnull @_ZTIN10SimTKIpopt8IpoptNLP10Eval_ErrorE) #7
  %1151 = icmp eq i32 %1149, %1150
  br i1 %1151, label %1152, label %1211

1152:                                             ; preds = %1146
  %1153 = call ptr @__cxa_begin_catch(ptr %1148) #7
  %1154 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5JnlstEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %1155 unwind label %1188

1155:                                             ; preds = %1152
  invoke void @_ZNK10SimTKIpopt14IpoptException15ReportExceptionERKNS_10JournalistENS_13EJournalLevelE(ptr noundef nonnull align 8 dereferenceable(112) %1153, ptr noundef nonnull align 8 dereferenceable(40) %1154, i32 noundef 5)
          to label %1156 unwind label %1188

1156:                                             ; preds = %1155
  %1157 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5JnlstEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %1158 unwind label %1188

1158:                                             ; preds = %1156
  invoke void (ptr, i32, i32, ptr, ...) @_ZNK10SimTKIpopt10Journalist6PrintfENS_13EJournalLevelENS_16EJournalCategoryEPKcz(ptr noundef nonnull align 8 dereferenceable(40) %1157, i32 noundef 2, i32 noundef 2, ptr noundef nonnull @.str.95)
          to label %1159 unwind label %1188

1159:                                             ; preds = %1158
  %1160 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %1161 unwind label %1188

1161:                                             ; preds = %1159
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %112) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %113) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %113) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %112, ptr noundef nonnull @.str.90, ptr noundef nonnull align 1 dereferenceable(1) %113)
          to label %1162 unwind label %1190

1162:                                             ; preds = %1161
  invoke void @_ZN10SimTKIpopt9IpoptData18Append_info_stringERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(864) %1160, ptr noundef nonnull align 8 dereferenceable(32) %112)
          to label %1163 unwind label %1192

1163:                                             ; preds = %1162
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %112) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %113) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %113) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %112) #7
  invoke void @__cxa_end_catch()
          to label %.thread unwind label %1195

1164:                                             ; preds = %1141
  br i1 %1145, label %1165, label %.thread

1165:                                             ; preds = %1164
  %1166 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5JnlstEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %1167 unwind label %1137

1167:                                             ; preds = %1165
  invoke void (ptr, i32, i32, ptr, ...) @_ZNK10SimTKIpopt10Journalist6PrintfENS_13EJournalLevelENS_16EJournalCategoryEPKcz(ptr noundef nonnull align 8 dereferenceable(40) %1166, i32 noundef 5, i32 noundef 8, ptr noundef nonnull @.str.96, double noundef %1013)
          to label %1168 unwind label %1137

1168:                                             ; preds = %1167
  store double %1013, ptr %2, align 8, !tbaa !36
  %1169 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_14IteratesVectorEEaSERKS2_(ptr noundef nonnull align 8 dereferenceable(8) %3, ptr noundef nonnull align 8 dereferenceable(8) %13)
          to label %1170 unwind label %1137

1170:                                             ; preds = %1168
  %1171 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5JnlstEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %1172 unwind label %1137

1172:                                             ; preds = %1170
  %1173 = invoke noundef zeroext i1 @_ZNK10SimTKIpopt10Journalist13ProduceOutputENS_13EJournalLevelENS_16EJournalCategoryE(ptr noundef nonnull align 8 dereferenceable(40) %1171, i32 noundef 8, i32 noundef 2)
          to label %1174 unwind label %1137

1174:                                             ; preds = %1172
  br i1 %1173, label %1175, label %.thread

1175:                                             ; preds = %1174
  %1176 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5JnlstEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %1177 unwind label %1137

1177:                                             ; preds = %1175
  %1178 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %1179 unwind label %1137

1179:                                             ; preds = %1177
  %1180 = call noundef i32 @_ZNK10SimTKIpopt9IpoptData10iter_countEv(ptr noundef nonnull align 8 dereferenceable(864) %1178)
  invoke void (ptr, i32, i32, ptr, ...) @_ZNK10SimTKIpopt10Journalist6PrintfENS_13EJournalLevelENS_16EJournalCategoryEPKcz(ptr noundef nonnull align 8 dereferenceable(40) %1176, i32 noundef 8, i32 noundef 2, ptr noundef nonnull @.str.97, i32 noundef %1180)
          to label %1181 unwind label %1137

1181:                                             ; preds = %1179
  %1182 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %13)
  %1183 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5JnlstEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %1184 unwind label %1137

1184:                                             ; preds = %1181
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %114) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %115) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %115) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %114, ptr noundef nonnull @.str.98, ptr noundef nonnull align 1 dereferenceable(1) %115)
          to label %1185 unwind label %1199

1185:                                             ; preds = %1184
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %116) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %117) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %117) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %116, ptr noundef nonnull @.str.99, ptr noundef nonnull align 1 dereferenceable(1) %117)
          to label %1186 unwind label %1201

1186:                                             ; preds = %1185
  invoke void @_ZNK10SimTKIpopt6Vector5PrintERKNS_10JournalistENS_13EJournalLevelENS_16EJournalCategoryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSD_(ptr noundef nonnull align 8 dereferenceable(205) %1182, ptr noundef nonnull align 8 dereferenceable(40) %1183, i32 noundef 8, i32 noundef 2, ptr noundef nonnull align 8 dereferenceable(32) %114, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(32) %116)
          to label %1187 unwind label %1203

1187:                                             ; preds = %1186
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %116) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %117) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %117) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %116) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %114) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %115) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %115) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %114) #7
  br label %.thread

1188:                                             ; preds = %1159, %1158, %1156, %1155, %1152
  %1189 = landingpad { ptr, i32 }
          cleanup
  br label %1197

1190:                                             ; preds = %1161
  %1191 = landingpad { ptr, i32 }
          cleanup
  br label %1194

1192:                                             ; preds = %1162
  %1193 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %112) #7
  br label %1194

1194:                                             ; preds = %1192, %1190
  %.pn338 = phi { ptr, i32 } [ %1193, %1192 ], [ %1191, %1190 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %113) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %113) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %112) #7
  br label %1197

1195:                                             ; preds = %1163
  %1196 = landingpad { ptr, i32 }
          cleanup
  br label %1198

1197:                                             ; preds = %1194, %1188
  %.pn338.pn = phi { ptr, i32 } [ %.pn338, %1194 ], [ %1189, %1188 ]
  invoke void @__cxa_end_catch()
          to label %1198 unwind label %1216

1198:                                             ; preds = %1197, %1195
  %.pn341 = phi { ptr, i32 } [ %1196, %1195 ], [ %.pn338.pn, %1197 ]
  %.115 = extractvalue { ptr, i32 } %.pn341, 0
  %.115159 = extractvalue { ptr, i32 } %.pn341, 1
  br label %1211

1199:                                             ; preds = %1184
  %1200 = landingpad { ptr, i32 }
          cleanup
  br label %1206

1201:                                             ; preds = %1185
  %1202 = landingpad { ptr, i32 }
          cleanup
  br label %1205

1203:                                             ; preds = %1186
  %1204 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %116) #7
  br label %1205

1205:                                             ; preds = %1203, %1201
  %.pn343 = phi { ptr, i32 } [ %1204, %1203 ], [ %1202, %1201 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %117) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %117) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %116) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %114) #7
  br label %1206

1206:                                             ; preds = %1205, %1199
  %.pn343.pn = phi { ptr, i32 } [ %.pn343, %1205 ], [ %1200, %1199 ]
  %.117 = extractvalue { ptr, i32 } %.pn343.pn, 0
  %.117161 = extractvalue { ptr, i32 } %.pn343.pn, 1
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %115) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %115) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %114) #7
  br label %1211

.thread:                                          ; preds = %1163, %1174, %1187, %1164
  %.0168347 = phi i1 [ true, %1174 ], [ true, %1187 ], [ false, %1164 ], [ false, %1163 ]
  %1207 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %1208 unwind label %1137

1208:                                             ; preds = %.thread, %1079
  %.sink = phi ptr [ %1080, %1079 ], [ %1207, %.thread ]
  %.0 = phi i1 [ false, %1079 ], [ %.0168347, %.thread ]
  %1209 = call noundef nonnull align 8 dereferenceable(664) ptr @_ZN10SimTKIpopt9IpoptData11TimingStatsEv(ptr noundef nonnull align 8 dereferenceable(864) %.sink)
  %1210 = call noundef nonnull align 8 dereferenceable(18) ptr @_ZN10SimTKIpopt16TimingStatistics12TryCorrectorEv(ptr noundef nonnull align 8 dereferenceable(664) %1209)
  call void @_ZN10SimTKIpopt9TimedTask3EndEv(ptr noundef nonnull align 8 dereferenceable(18) %1210)
  call void @_ZN10SimTKIpopt8SmartPtrINS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %13) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #7
  br label %1215

1211:                                             ; preds = %1081, %1092, %1100, %1133, %1206, %1198, %1146, %1137, %1132, %1118, %1101, %1000, %561, %335, %283
  %.122166 = phi i32 [ %.100144, %1000 ], [ %286, %283 ], [ %.4892, %561 ], [ %.2064, %335 ], [ %.104148, %1100 ], [ %1084, %1081 ], [ %.102146, %1092 ], [ %.112156, %1132 ], [ %1104, %1101 ], [ %.108152, %1118 ], [ %1136, %1133 ], [ %1140, %1137 ], [ %.117161, %1206 ], [ %.115159, %1198 ], [ %1149, %1146 ]
  %.122 = phi ptr [ %.100, %1000 ], [ %285, %283 ], [ %.48, %561 ], [ %.20, %335 ], [ %.104, %1100 ], [ %1083, %1081 ], [ %.102, %1092 ], [ %.112, %1132 ], [ %1103, %1101 ], [ %.108, %1118 ], [ %1135, %1133 ], [ %1139, %1137 ], [ %.117, %1206 ], [ %.115, %1198 ], [ %1148, %1146 ]
  call void @_ZN10SimTKIpopt8SmartPtrINS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %13) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #7
  br label %1212

1212:                                             ; preds = %1211, %202
  %.123167 = phi i32 [ %.122166, %1211 ], [ %.953, %202 ]
  %.123 = phi ptr [ %.122, %1211 ], [ %.9, %202 ]
  %1213 = insertvalue { ptr, i32 } poison, ptr %.123, 0
  %1214 = insertvalue { ptr, i32 } %1213, i32 %.123167, 1
  resume { ptr, i32 } %1214

1215:                                             ; preds = %1208, %168, %4, %125, %133
  %.2 = phi i1 [ false, %133 ], [ false, %125 ], [ false, %4 ], [ %.0, %1208 ], [ false, %168 ]
  ret i1 %.2

1216:                                             ; preds = %1197
  %1217 = landingpad { ptr, i32 }
          catch ptr null
  %1218 = extractvalue { ptr, i32 } %1217, 0
  call void @__clang_call_terminate(ptr %1218) #8
  unreachable
}

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind noalias writable sret(%"class.SimTKIpopt::SmartPtr.37") align 8, ptr noundef nonnull align 8 dereferenceable(864)) local_unnamed_addr #5 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNK10SimTKIpopt14IteratesVector3z_LEv(ptr dead_on_unwind noalias writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8, ptr noundef nonnull align 8 dereferenceable(280)) local_unnamed_addr #3 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef i32 @_ZNK10SimTKIpopt6Vector3DimEv(ptr noundef nonnull align 8 dereferenceable(205)) local_unnamed_addr #5 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNK10SimTKIpopt14IteratesVector3z_UEv(ptr dead_on_unwind noalias writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8, ptr noundef nonnull align 8 dereferenceable(280)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNK10SimTKIpopt14IteratesVector3v_LEv(ptr dead_on_unwind noalias writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8, ptr noundef nonnull align 8 dereferenceable(280)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNK10SimTKIpopt14IteratesVector3v_UEv(ptr dead_on_unwind noalias writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8, ptr noundef nonnull align 8 dereferenceable(280)) local_unnamed_addr #3 align 2

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

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

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

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

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

declare void @_ZN10SimTKIpopt25IpoptCalculatedQuantities15curr_grad_lag_xEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8, ptr noundef nonnull align 8 dereferenceable(2025)) local_unnamed_addr #4

declare void @_ZN10SimTKIpopt25IpoptCalculatedQuantities15curr_grad_lag_sEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8, ptr noundef nonnull align 8 dereferenceable(2025)) local_unnamed_addr #4

declare void @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_compl_x_LEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8, ptr noundef nonnull align 8 dereferenceable(2025)) local_unnamed_addr #4

declare void @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_compl_x_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8, ptr noundef nonnull align 8 dereferenceable(2025)) local_unnamed_addr #4

declare void @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_compl_s_LEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8, ptr noundef nonnull align 8 dereferenceable(2025)) local_unnamed_addr #4

declare void @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_compl_s_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8, ptr noundef nonnull align 8 dereferenceable(2025)) local_unnamed_addr #4

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN10SimTKIpopt9IpoptData13set_delta_affERNS_8SmartPtrINS_14IteratesVectorEEE(ptr noundef nonnull align 8 dereferenceable(864), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #5 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN10SimTKIpopt9IpoptData19SetHaveAffineDeltasEb(ptr noundef nonnull align 8 dereferenceable(864), i1 noundef zeroext) local_unnamed_addr #2 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZNK10SimTKIpopt9IpoptData9delta_affEv(ptr dead_on_unwind noalias writable sret(%"class.SimTKIpopt::SmartPtr.37") align 8, ptr noundef nonnull align 8 dereferenceable(864)) local_unnamed_addr #5 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN10SimTKIpopt14IteratesVector10x_NonConstEv(ptr dead_on_unwind noalias writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8, ptr noundef nonnull align 8 dereferenceable(280)) local_unnamed_addr #3 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN10SimTKIpopt6Vector3SetEd(ptr noundef nonnull align 8 dereferenceable(205), double noundef) local_unnamed_addr #5 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN10SimTKIpopt14IteratesVector10s_NonConstEv(ptr dead_on_unwind noalias writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8, ptr noundef nonnull align 8 dereferenceable(280)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN10SimTKIpopt14IteratesVector12y_c_NonConstEv(ptr dead_on_unwind noalias writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8, ptr noundef nonnull align 8 dereferenceable(280)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN10SimTKIpopt14IteratesVector12y_d_NonConstEv(ptr dead_on_unwind noalias writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8, ptr noundef nonnull align 8 dereferenceable(280)) local_unnamed_addr #3 align 2

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

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

declare void @_ZNK10SimTKIpopt6Matrix15TransMultVectorEdRKNS_6VectorEdRS1_(ptr noundef nonnull align 8 dereferenceable(69), double noundef, ptr noundef nonnull align 8 dereferenceable(205), double noundef, ptr noundef nonnull align 8 dereferenceable(205)) local_unnamed_addr #4

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN10SimTKIpopt14IteratesVector12z_L_NonConstEv(ptr dead_on_unwind noalias writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8, ptr noundef nonnull align 8 dereferenceable(280)) local_unnamed_addr #3 align 2

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN10SimTKIpopt6Vector19ElementWiseMultiplyERKS0_(ptr noundef nonnull align 8 dereferenceable(205), ptr noundef nonnull align 8 dereferenceable(205)) local_unnamed_addr #5 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN10SimTKIpopt14IteratesVector12z_U_NonConstEv(ptr dead_on_unwind noalias writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8, ptr noundef nonnull align 8 dereferenceable(280)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN10SimTKIpopt14IteratesVector12v_L_NonConstEv(ptr dead_on_unwind noalias writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8, ptr noundef nonnull align 8 dereferenceable(280)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN10SimTKIpopt14IteratesVector12v_U_NonConstEv(ptr dead_on_unwind noalias writable sret(%"class.SimTKIpopt::SmartPtr.31") align 8, ptr noundef nonnull align 8 dereferenceable(280)) local_unnamed_addr #3 align 2

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

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

declare void @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_slack_x_LEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8, ptr noundef nonnull align 8 dereferenceable(2025)) local_unnamed_addr #4

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN10SimTKIpopt6Vector13AddTwoVectorsEdRKS0_dS2_d(ptr noundef nonnull align 8 dereferenceable(205), double noundef, ptr noundef nonnull align 8 dereferenceable(205), double noundef, ptr noundef nonnull align 8 dereferenceable(205), double noundef) local_unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN10SimTKIpopt6Vector9AddScalarEd(ptr noundef nonnull align 8 dereferenceable(205), double noundef) local_unnamed_addr #5 align 2

declare void @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_slack_x_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8, ptr noundef nonnull align 8 dereferenceable(2025)) local_unnamed_addr #4

declare void @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_slack_s_LEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8, ptr noundef nonnull align 8 dereferenceable(2025)) local_unnamed_addr #4

declare void @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_slack_s_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.40") align 8, ptr noundef nonnull align 8 dereferenceable(2025)) local_unnamed_addr #4

declare noundef double @_ZN10SimTKIpopt25IpoptCalculatedQuantities22dual_frac_to_the_boundEdRKNS_6VectorES3_S3_S3_(ptr noundef nonnull align 8 dereferenceable(2025), double noundef, ptr noundef nonnull align 8 dereferenceable(205), ptr noundef nonnull align 8 dereferenceable(205), ptr noundef nonnull align 8 dereferenceable(205), ptr noundef nonnull align 8 dereferenceable(205)) local_unnamed_addr #4

declare void @_ZN10SimTKIpopt9IpoptData32SetTrialBoundMultipliersFromStepEdRKNS_6VectorES3_S3_S3_(ptr noundef nonnull align 8 dereferenceable(864), double noundef, ptr noundef nonnull align 8 dereferenceable(205), ptr noundef nonnull align 8 dereferenceable(205), ptr noundef nonnull align 8 dereferenceable(205), ptr noundef nonnull align 8 dereferenceable(205)) local_unnamed_addr #4

declare noundef double @_ZN10SimTKIpopt25IpoptCalculatedQuantities16trial_avrg_complEv(ptr noundef nonnull align 8 dereferenceable(2025)) local_unnamed_addr #4

declare noundef double @_ZN10SimTKIpopt25IpoptCalculatedQuantities15curr_avrg_complEv(ptr noundef nonnull align 8 dereferenceable(2025)) local_unnamed_addr #4

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

declare noundef zeroext i1 @_ZNK10SimTKIpopt10Journalist13ProduceOutputENS_13EJournalLevelENS_16EJournalCategoryE(ptr noundef nonnull align 8 dereferenceable(40), i32 noundef, i32 noundef) local_unnamed_addr #4

declare void @_ZNK10SimTKIpopt6Vector5PrintERKNS_10JournalistENS_13EJournalLevelENS_16EJournalCategoryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSD_(ptr noundef nonnull align 8 dereferenceable(205), ptr noundef nonnull align 8 dereferenceable(40), i32 noundef, i32 noundef, ptr noundef nonnull align 8 dereferenceable(32), i32 noundef, ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #4

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

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !20, i64 168}
!6 = !{!"_ZTSN10SimTKIpopt16FilterLSAcceptorE", !7, i64 0, !19, i64 56, !19, i64 64, !19, i64 72, !19, i64 80, !19, i64 88, !19, i64 96, !19, i64 104, !19, i64 112, !19, i64 120, !19, i64 128, !19, i64 136, !10, i64 144, !19, i64 152, !19, i64 160, !20, i64 168, !19, i64 176, !18, i64 184, !18, i64 185, !10, i64 188, !10, i64 192, !19, i64 200, !19, i64 208, !19, i64 216, !19, i64 224, !19, i64 232, !19, i64 240, !21, i64 248, !19, i64 280, !10, i64 288, !10, i64 292, !28, i64 296}
!7 = !{!"_ZTSN10SimTKIpopt22BacktrackingLSAcceptorE", !8, i64 0}
!8 = !{!"_ZTSN10SimTKIpopt23AlgorithmStrategyObjectE", !9, i64 0, !13, i64 16, !15, i64 24, !16, i64 32, !17, i64 40, !18, i64 48}
!9 = !{!"_ZTSN10SimTKIpopt16ReferencedObjectE", !10, i64 8}
!10 = !{!"int", !11, i64 0}
!11 = !{!"omnipotent char", !12, i64 0}
!12 = !{!"Simple C++ TBAA"}
!13 = !{!"_ZTSN10SimTKIpopt8SmartPtrIKNS_10JournalistEEE", !14, i64 0}
!14 = !{!"any pointer", !11, i64 0}
!15 = !{!"_ZTSN10SimTKIpopt8SmartPtrINS_8IpoptNLPEEE", !14, i64 0}
!16 = !{!"_ZTSN10SimTKIpopt8SmartPtrINS_9IpoptDataEEE", !14, i64 0}
!17 = !{!"_ZTSN10SimTKIpopt8SmartPtrINS_25IpoptCalculatedQuantitiesEEE", !14, i64 0}
!18 = !{!"bool", !11, i64 0}
!19 = !{!"double", !11, i64 0}
!20 = !{!"_ZTSN10SimTKIpopt16FilterLSAcceptor17CorrectorTypeEnumE", !11, i64 0}
!21 = !{!"_ZTSN10SimTKIpopt6FilterE", !10, i64 0, !22, i64 8}
!22 = !{!"_ZTSNSt7__cxx114listIPN10SimTKIpopt11FilterEntryESaIS3_EEE", !23, i64 0}
!23 = !{!"_ZTSNSt7__cxx1110_List_baseIPN10SimTKIpopt11FilterEntryESaIS3_EEE", !24, i64 0}
!24 = !{!"_ZTSNSt7__cxx1110_List_baseIPN10SimTKIpopt11FilterEntryESaIS3_EE10_List_implE", !25, i64 0}
!25 = !{!"_ZTSNSt8__detail17_List_node_headerE", !26, i64 0, !27, i64 16}
!26 = !{!"_ZTSNSt8__detail15_List_node_baseE", !14, i64 0, !14, i64 8}
!27 = !{!"long", !11, i64 0}
!28 = !{!"_ZTSN10SimTKIpopt8SmartPtrINS_14PDSystemSolverEEE", !14, i64 0}
!29 = !{!6, !18, i64 184}
!30 = !{i8 0, i8 2}
!31 = !{}
!32 = !{!6, !18, i64 185}
!33 = !{!34, !34, i64 0}
!34 = !{!"vtable pointer", !12, i64 0}
!35 = !{!6, !19, i64 176}
!36 = !{!19, !19, i64 0}


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