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

; 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.56" = 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.19" = type { i8 }
%"class.SimTKIpopt::SmartPtr.43" = type { ptr }
%"class.SimTKIpopt::SmartPtr.57" = type { ptr }
%"class.SimTKIpopt::SmartPtr.25" = type { ptr }
%"class.SimTKIpopt::SmartPtr.45" = type { ptr }
%"class.SimTKIpopt::IpoptAlgorithm" = type { %"class.SimTKIpopt::AlgorithmStrategyObject.base", %"class.SimTKIpopt::SmartPtr.10", %"class.SimTKIpopt::SmartPtr.11", %"class.SimTKIpopt::SmartPtr.12", %"class.SimTKIpopt::SmartPtr.13", %"class.SimTKIpopt::SmartPtr.14", %"class.SimTKIpopt::SmartPtr.15", %"class.SimTKIpopt::SmartPtr.16", %"class.SimTKIpopt::SmartPtr.17", i8, double, i8, double }
%"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::SmartPtr.10" = type { ptr }
%"class.SimTKIpopt::SmartPtr.11" = type { ptr }
%"class.SimTKIpopt::SmartPtr.12" = type { ptr }
%"class.SimTKIpopt::SmartPtr.13" = type { ptr }
%"class.SimTKIpopt::SmartPtr.14" = type { ptr }
%"class.SimTKIpopt::SmartPtr.15" = type { ptr }
%"class.SimTKIpopt::SmartPtr.16" = type { ptr }
%"class.SimTKIpopt::SmartPtr.17" = type { ptr }

@.str.41 = external hidden unnamed_addr constant [1 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [77 x i8], align 1

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

declare i32 @__gxx_personality_v0(...)

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5JnlstEv(ptr noundef nonnull align 8 dereferenceable(49)) #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)) #2 align 2

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

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

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

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

128:                                              ; preds = %1
  %129 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5JnlstEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
  call void (ptr, i32, i32, ptr, ...) @_ZNK10SimTKIpopt10Journalist6PrintfENS_13EJournalLevelENS_16EJournalCategoryEPKcz(ptr noundef nonnull align 8 dereferenceable(40) %129, i32 noundef 3, i32 noundef 2, ptr noundef @.str.44)
  br label %1480

130:                                              ; preds = %1
  call void @llvm.lifetime.start.p0(i64 4, ptr %3) #5
  %131 = call noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
  %132 = call noundef i32 @_ZN10SimTKIpopt25IpoptCalculatedQuantities19AdjustedTrialSlacksEv(ptr noundef nonnull align 8 dereferenceable(2025) %131)
  store i32 %132, ptr %3, align 4, !tbaa !11
  %133 = load i32, ptr %3, align 4, !tbaa !11
  %134 = icmp sgt i32 %133, 0
  br i1 %134, label %135, label %779

135:                                              ; preds = %130
  %136 = call noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
  call void @_ZN10SimTKIpopt25IpoptCalculatedQuantities24ResetAdjustedTrialSlacksEv(ptr noundef nonnull align 8 dereferenceable(2025) %136)
  %137 = load i32, ptr %3, align 4, !tbaa !11
  %138 = icmp eq i32 %137, 1
  br i1 %138, label %139, label %144

139:                                              ; preds = %135
  %140 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5JnlstEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
  %141 = call noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
  %142 = call noundef i32 @_ZNK10SimTKIpopt9IpoptData10iter_countEv(ptr noundef nonnull align 8 dereferenceable(864) %141)
  %143 = load i32, ptr %3, align 4, !tbaa !11
  call void (ptr, i32, i32, ptr, ...) @_ZNK10SimTKIpopt10Journalist6PrintfENS_13EJournalLevelENS_16EJournalCategoryEPKcz(ptr noundef nonnull align 8 dereferenceable(40) %140, i32 noundef 2, i32 noundef 2, ptr noundef @.str.45, i32 noundef %142, i32 noundef %143)
  br label %149

144:                                              ; preds = %135
  %145 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5JnlstEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
  %146 = call noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
  %147 = call noundef i32 @_ZNK10SimTKIpopt9IpoptData10iter_countEv(ptr noundef nonnull align 8 dereferenceable(864) %146)
  %148 = load i32, ptr %3, align 4, !tbaa !11
  call void (ptr, i32, i32, ptr, ...) @_ZNK10SimTKIpopt10Journalist6PrintfENS_13EJournalLevelENS_16EJournalCategoryEPKcz(ptr noundef nonnull align 8 dereferenceable(40) %145, i32 noundef 2, i32 noundef 2, ptr noundef @.str.46, i32 noundef %147, i32 noundef %148)
  br label %149

149:                                              ; preds = %144, %139
  %150 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5JnlstEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
  %151 = call noundef zeroext i1 @_ZNK10SimTKIpopt10Journalist13ProduceOutputENS_13EJournalLevelENS_16EJournalCategoryE(ptr noundef nonnull align 8 dereferenceable(40) %150, i32 noundef 7, i32 noundef 2)
  br i1 %151, label %152, label %273

152:                                              ; preds = %149
  call void @llvm.lifetime.start.p0(i64 8, ptr %4) #5
  %153 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
  %154 = load ptr, ptr %153, align 8, !tbaa !9
  %155 = getelementptr inbounds ptr, ptr %154, i64 12
  %156 = load ptr, ptr %155, align 8
  call void %156(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %4, ptr noundef nonnull align 8 dereferenceable(24) %153)
  %157 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %4)
          to label %158 unwind label %197

158:                                              ; preds = %152
  %159 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5JnlstEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
          to label %160 unwind label %197

160:                                              ; preds = %158
  call void @llvm.lifetime.start.p0(i64 32, ptr %7) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr %8) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %8) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef @.str.47, ptr noundef nonnull align 1 dereferenceable(1) %8)
          to label %161 unwind label %201

161:                                              ; preds = %160
  call void @llvm.lifetime.start.p0(i64 32, ptr %9) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr %10) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %10) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef @.str.41, ptr noundef nonnull align 1 dereferenceable(1) %10)
          to label %162 unwind label %205

162:                                              ; preds = %161
  invoke void @_ZNK10SimTKIpopt6Vector5PrintERKNS_10JournalistENS_13EJournalLevelENS_16EJournalCategoryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSD_(ptr noundef nonnull align 8 dereferenceable(205) %157, ptr noundef nonnull align 8 dereferenceable(40) %159, i32 noundef 7, i32 noundef 2, ptr noundef nonnull align 8 dereferenceable(32) %7, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(32) %9)
          to label %163 unwind label %209

163:                                              ; preds = %162
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %10) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %10) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %9) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %8) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %8) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %7) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %4) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %4) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr %11) #5
  %164 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
  %165 = load ptr, ptr %164, align 8, !tbaa !9
  %166 = getelementptr inbounds ptr, ptr %165, i64 14
  %167 = load ptr, ptr %166, align 8
  call void %167(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %11, ptr noundef nonnull align 8 dereferenceable(24) %164)
  %168 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %11)
          to label %169 unwind label %216

169:                                              ; preds = %163
  %170 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5JnlstEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
          to label %171 unwind label %216

171:                                              ; preds = %169
  call void @llvm.lifetime.start.p0(i64 32, ptr %12) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr %13) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %13) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %12, ptr noundef @.str.48, ptr noundef nonnull align 1 dereferenceable(1) %13)
          to label %172 unwind label %220

172:                                              ; preds = %171
  call void @llvm.lifetime.start.p0(i64 32, ptr %14) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr %15) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %15) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef @.str.41, ptr noundef nonnull align 1 dereferenceable(1) %15)
          to label %173 unwind label %224

173:                                              ; preds = %172
  invoke void @_ZNK10SimTKIpopt6Vector5PrintERKNS_10JournalistENS_13EJournalLevelENS_16EJournalCategoryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSD_(ptr noundef nonnull align 8 dereferenceable(205) %168, ptr noundef nonnull align 8 dereferenceable(40) %170, i32 noundef 7, i32 noundef 2, ptr noundef nonnull align 8 dereferenceable(32) %12, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(32) %14)
          to label %174 unwind label %228

174:                                              ; preds = %173
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %15) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %15) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %14) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %13) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %13) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %12) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %11) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr %16) #5
  %175 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
  %176 = load ptr, ptr %175, align 8, !tbaa !9
  %177 = getelementptr inbounds ptr, ptr %176, i64 16
  %178 = load ptr, ptr %177, align 8
  call void %178(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %16, ptr noundef nonnull align 8 dereferenceable(24) %175)
  %179 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %16)
          to label %180 unwind label %235

180:                                              ; preds = %174
  %181 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5JnlstEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
          to label %182 unwind label %235

182:                                              ; preds = %180
  call void @llvm.lifetime.start.p0(i64 32, ptr %17) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr %18) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef @.str.49, ptr noundef nonnull align 1 dereferenceable(1) %18)
          to label %183 unwind label %239

183:                                              ; preds = %182
  call void @llvm.lifetime.start.p0(i64 32, ptr %19) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr %20) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %20) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %19, ptr noundef @.str.41, ptr noundef nonnull align 1 dereferenceable(1) %20)
          to label %184 unwind label %243

184:                                              ; preds = %183
  invoke void @_ZNK10SimTKIpopt6Vector5PrintERKNS_10JournalistENS_13EJournalLevelENS_16EJournalCategoryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSD_(ptr noundef nonnull align 8 dereferenceable(205) %179, ptr noundef nonnull align 8 dereferenceable(40) %181, i32 noundef 7, i32 noundef 2, ptr noundef nonnull align 8 dereferenceable(32) %17, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(32) %19)
          to label %185 unwind label %247

185:                                              ; preds = %184
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %20) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %20) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %19) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %18) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %17) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %16) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %16) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr %21) #5
  %186 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
  %187 = load ptr, ptr %186, align 8, !tbaa !9
  %188 = getelementptr inbounds ptr, ptr %187, i64 18
  %189 = load ptr, ptr %188, align 8
  call void %189(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %21, ptr noundef nonnull align 8 dereferenceable(24) %186)
  %190 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %21)
          to label %191 unwind label %254

191:                                              ; preds = %185
  %192 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5JnlstEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
          to label %193 unwind label %254

193:                                              ; preds = %191
  call void @llvm.lifetime.start.p0(i64 32, ptr %22) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr %23) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %23) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef @.str.50, ptr noundef nonnull align 1 dereferenceable(1) %23)
          to label %194 unwind label %258

194:                                              ; preds = %193
  call void @llvm.lifetime.start.p0(i64 32, ptr %24) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr %25) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %25) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %24, ptr noundef @.str.41, ptr noundef nonnull align 1 dereferenceable(1) %25)
          to label %195 unwind label %262

195:                                              ; preds = %194
  invoke void @_ZNK10SimTKIpopt6Vector5PrintERKNS_10JournalistENS_13EJournalLevelENS_16EJournalCategoryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSD_(ptr noundef nonnull align 8 dereferenceable(205) %190, ptr noundef nonnull align 8 dereferenceable(40) %192, i32 noundef 7, i32 noundef 2, ptr noundef nonnull align 8 dereferenceable(32) %22, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(32) %24)
          to label %196 unwind label %266

196:                                              ; preds = %195
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %25) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %25) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %24) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %23) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %23) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %22) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %21) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #5
  br label %273

197:                                              ; preds = %158, %152
  %198 = landingpad { ptr, i32 }
          cleanup
  %199 = extractvalue { ptr, i32 } %198, 0
  store ptr %199, ptr %5, align 8
  %200 = extractvalue { ptr, i32 } %198, 1
  store i32 %200, ptr %6, align 4
  br label %215

201:                                              ; preds = %160
  %202 = landingpad { ptr, i32 }
          cleanup
  %203 = extractvalue { ptr, i32 } %202, 0
  store ptr %203, ptr %5, align 8
  %204 = extractvalue { ptr, i32 } %202, 1
  store i32 %204, ptr %6, align 4
  br label %214

205:                                              ; preds = %161
  %206 = landingpad { ptr, i32 }
          cleanup
  %207 = extractvalue { ptr, i32 } %206, 0
  store ptr %207, ptr %5, align 8
  %208 = extractvalue { ptr, i32 } %206, 1
  store i32 %208, ptr %6, align 4
  br label %213

209:                                              ; preds = %162
  %210 = landingpad { ptr, i32 }
          cleanup
  %211 = extractvalue { ptr, i32 } %210, 0
  store ptr %211, ptr %5, align 8
  %212 = extractvalue { ptr, i32 } %210, 1
  store i32 %212, ptr %6, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #5
  br label %213

213:                                              ; preds = %209, %205
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %10) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %10) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %9) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #5
  br label %214

214:                                              ; preds = %213, %201
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %8) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %8) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %7) #5
  br label %215

215:                                              ; preds = %214, %197
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %4) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %4) #5
  br label %1490

216:                                              ; preds = %169, %163
  %217 = landingpad { ptr, i32 }
          cleanup
  %218 = extractvalue { ptr, i32 } %217, 0
  store ptr %218, ptr %5, align 8
  %219 = extractvalue { ptr, i32 } %217, 1
  store i32 %219, ptr %6, align 4
  br label %234

220:                                              ; preds = %171
  %221 = landingpad { ptr, i32 }
          cleanup
  %222 = extractvalue { ptr, i32 } %221, 0
  store ptr %222, ptr %5, align 8
  %223 = extractvalue { ptr, i32 } %221, 1
  store i32 %223, ptr %6, align 4
  br label %233

224:                                              ; preds = %172
  %225 = landingpad { ptr, i32 }
          cleanup
  %226 = extractvalue { ptr, i32 } %225, 0
  store ptr %226, ptr %5, align 8
  %227 = extractvalue { ptr, i32 } %225, 1
  store i32 %227, ptr %6, align 4
  br label %232

228:                                              ; preds = %173
  %229 = landingpad { ptr, i32 }
          cleanup
  %230 = extractvalue { ptr, i32 } %229, 0
  store ptr %230, ptr %5, align 8
  %231 = extractvalue { ptr, i32 } %229, 1
  store i32 %231, ptr %6, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #5
  br label %232

232:                                              ; preds = %228, %224
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %15) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %15) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %14) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #5
  br label %233

233:                                              ; preds = %232, %220
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %13) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %13) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %12) #5
  br label %234

234:                                              ; preds = %233, %216
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %11) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #5
  br label %1490

235:                                              ; preds = %180, %174
  %236 = landingpad { ptr, i32 }
          cleanup
  %237 = extractvalue { ptr, i32 } %236, 0
  store ptr %237, ptr %5, align 8
  %238 = extractvalue { ptr, i32 } %236, 1
  store i32 %238, ptr %6, align 4
  br label %253

239:                                              ; preds = %182
  %240 = landingpad { ptr, i32 }
          cleanup
  %241 = extractvalue { ptr, i32 } %240, 0
  store ptr %241, ptr %5, align 8
  %242 = extractvalue { ptr, i32 } %240, 1
  store i32 %242, ptr %6, align 4
  br label %252

243:                                              ; preds = %183
  %244 = landingpad { ptr, i32 }
          cleanup
  %245 = extractvalue { ptr, i32 } %244, 0
  store ptr %245, ptr %5, align 8
  %246 = extractvalue { ptr, i32 } %244, 1
  store i32 %246, ptr %6, align 4
  br label %251

247:                                              ; preds = %184
  %248 = landingpad { ptr, i32 }
          cleanup
  %249 = extractvalue { ptr, i32 } %248, 0
  store ptr %249, ptr %5, align 8
  %250 = extractvalue { ptr, i32 } %248, 1
  store i32 %250, ptr %6, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #5
  br label %251

251:                                              ; preds = %247, %243
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %20) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %20) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %19) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #5
  br label %252

252:                                              ; preds = %251, %239
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %18) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %17) #5
  br label %253

253:                                              ; preds = %252, %235
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %16) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %16) #5
  br label %1490

254:                                              ; preds = %191, %185
  %255 = landingpad { ptr, i32 }
          cleanup
  %256 = extractvalue { ptr, i32 } %255, 0
  store ptr %256, ptr %5, align 8
  %257 = extractvalue { ptr, i32 } %255, 1
  store i32 %257, ptr %6, align 4
  br label %272

258:                                              ; preds = %193
  %259 = landingpad { ptr, i32 }
          cleanup
  %260 = extractvalue { ptr, i32 } %259, 0
  store ptr %260, ptr %5, align 8
  %261 = extractvalue { ptr, i32 } %259, 1
  store i32 %261, ptr %6, align 4
  br label %271

262:                                              ; preds = %194
  %263 = landingpad { ptr, i32 }
          cleanup
  %264 = extractvalue { ptr, i32 } %263, 0
  store ptr %264, ptr %5, align 8
  %265 = extractvalue { ptr, i32 } %263, 1
  store i32 %265, ptr %6, align 4
  br label %270

266:                                              ; preds = %195
  %267 = landingpad { ptr, i32 }
          cleanup
  %268 = extractvalue { ptr, i32 } %267, 0
  store ptr %268, ptr %5, align 8
  %269 = extractvalue { ptr, i32 } %267, 1
  store i32 %269, ptr %6, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #5
  br label %270

270:                                              ; preds = %266, %262
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %25) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %25) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %24) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #5
  br label %271

271:                                              ; preds = %270, %258
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %23) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %23) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %22) #5
  br label %272

272:                                              ; preds = %271, %254
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %21) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #5
  br label %1490

273:                                              ; preds = %196, %149
  call void @llvm.lifetime.start.p0(i64 8, ptr %26) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr %27) #5
  %274 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
  %275 = load ptr, ptr %274, align 8, !tbaa !9
  %276 = getelementptr inbounds ptr, ptr %275, i64 12
  %277 = load ptr, ptr %276, align 8
  call void %277(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %27, ptr noundef nonnull align 8 dereferenceable(24) %274)
  %278 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %27)
          to label %279 unwind label %495

279:                                              ; preds = %273
  %280 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector7MakeNewEv(ptr noundef nonnull align 8 dereferenceable(205) %278)
          to label %281 unwind label %495

281:                                              ; preds = %279
  invoke void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8) %26, ptr noundef %280)
          to label %282 unwind label %495

282:                                              ; preds = %281
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %27) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr %28) #5
  %283 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
          to label %284 unwind label %499

284:                                              ; preds = %282
  %285 = load ptr, ptr %283, align 8, !tbaa !9
  %286 = getelementptr inbounds ptr, ptr %285, i64 13
  %287 = load ptr, ptr %286, align 8
  invoke void %287(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.57") align 8 %28, ptr noundef nonnull align 8 dereferenceable(24) %283)
          to label %288 unwind label %499

288:                                              ; preds = %284
  %289 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6MatrixEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %28)
          to label %290 unwind label %503

290:                                              ; preds = %288
  call void @llvm.lifetime.start.p0(i64 8, ptr %29) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr %30) #5
  %291 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
          to label %292 unwind label %507

292:                                              ; preds = %290
  invoke void @_ZNK10SimTKIpopt9IpoptData5trialEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.25") align 8 %30, ptr noundef nonnull align 8 dereferenceable(864) %291)
          to label %293 unwind label %507

293:                                              ; preds = %292
  %294 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %30)
          to label %295 unwind label %511

295:                                              ; preds = %293
  invoke void @_ZNK10SimTKIpopt14IteratesVector1xEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %29, ptr noundef nonnull align 8 dereferenceable(280) %294)
          to label %296 unwind label %511

296:                                              ; preds = %295
  %297 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %29)
          to label %298 unwind label %515

298:                                              ; preds = %296
  %299 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %26)
          to label %300 unwind label %515

300:                                              ; preds = %298
  invoke void @_ZNK10SimTKIpopt6Matrix15TransMultVectorEdRKNS_6VectorEdRS1_(ptr noundef nonnull align 8 dereferenceable(69) %289, double noundef 1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %297, double noundef 0.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %299)
          to label %301 unwind label %515

301:                                              ; preds = %300
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %29) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %30) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %29) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %28) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #5
  %302 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %26)
          to label %303 unwind label %523

303:                                              ; preds = %301
  call void @llvm.lifetime.start.p0(i64 8, ptr %31) #5
  %304 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
          to label %305 unwind label %527

305:                                              ; preds = %303
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities15trial_slack_x_LEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %31, ptr noundef nonnull align 8 dereferenceable(2025) %304)
          to label %306 unwind label %527

306:                                              ; preds = %305
  %307 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %31)
          to label %308 unwind label %531

308:                                              ; preds = %306
  invoke void @_ZN10SimTKIpopt6Vector4AxpyEdRKS0_(ptr noundef nonnull align 8 dereferenceable(205) %302, double noundef -1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %307)
          to label %309 unwind label %531

309:                                              ; preds = %308
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %31) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr %32) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr %33) #5
  %310 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
          to label %311 unwind label %536

311:                                              ; preds = %309
  %312 = load ptr, ptr %310, align 8, !tbaa !9
  %313 = getelementptr inbounds ptr, ptr %312, i64 14
  %314 = load ptr, ptr %313, align 8
  invoke void %314(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %33, ptr noundef nonnull align 8 dereferenceable(24) %310)
          to label %315 unwind label %536

315:                                              ; preds = %311
  %316 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %33)
          to label %317 unwind label %540

317:                                              ; preds = %315
  %318 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector7MakeNewEv(ptr noundef nonnull align 8 dereferenceable(205) %316)
          to label %319 unwind label %540

319:                                              ; preds = %317
  invoke void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8) %32, ptr noundef %318)
          to label %320 unwind label %540

320:                                              ; preds = %319
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %33) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %33) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr %34) #5
  %321 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
          to label %322 unwind label %545

322:                                              ; preds = %320
  %323 = load ptr, ptr %321, align 8, !tbaa !9
  %324 = getelementptr inbounds ptr, ptr %323, i64 15
  %325 = load ptr, ptr %324, align 8
  invoke void %325(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.57") align 8 %34, ptr noundef nonnull align 8 dereferenceable(24) %321)
          to label %326 unwind label %545

326:                                              ; preds = %322
  %327 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6MatrixEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %34)
          to label %328 unwind label %549

328:                                              ; preds = %326
  call void @llvm.lifetime.start.p0(i64 8, ptr %35) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr %36) #5
  %329 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
          to label %330 unwind label %553

330:                                              ; preds = %328
  invoke void @_ZNK10SimTKIpopt9IpoptData5trialEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.25") align 8 %36, ptr noundef nonnull align 8 dereferenceable(864) %329)
          to label %331 unwind label %553

331:                                              ; preds = %330
  %332 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %36)
          to label %333 unwind label %557

333:                                              ; preds = %331
  invoke void @_ZNK10SimTKIpopt14IteratesVector1xEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %35, ptr noundef nonnull align 8 dereferenceable(280) %332)
          to label %334 unwind label %557

334:                                              ; preds = %333
  %335 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %35)
          to label %336 unwind label %561

336:                                              ; preds = %334
  %337 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %32)
          to label %338 unwind label %561

338:                                              ; preds = %336
  invoke void @_ZNK10SimTKIpopt6Matrix15TransMultVectorEdRKNS_6VectorEdRS1_(ptr noundef nonnull align 8 dereferenceable(69) %327, double noundef 1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %335, double noundef 0.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %337)
          to label %339 unwind label %561

339:                                              ; preds = %338
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %35) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %36) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %35) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %34) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %34) #5
  %340 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %32)
          to label %341 unwind label %569

341:                                              ; preds = %339
  call void @llvm.lifetime.start.p0(i64 8, ptr %37) #5
  %342 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
          to label %343 unwind label %573

343:                                              ; preds = %341
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities15trial_slack_x_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %37, ptr noundef nonnull align 8 dereferenceable(2025) %342)
          to label %344 unwind label %573

344:                                              ; preds = %343
  %345 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %37)
          to label %346 unwind label %577

346:                                              ; preds = %344
  invoke void @_ZN10SimTKIpopt6Vector4AxpyEdRKS0_(ptr noundef nonnull align 8 dereferenceable(205) %340, double noundef 1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %345)
          to label %347 unwind label %577

347:                                              ; preds = %346
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %37) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr %38) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr %39) #5
  %348 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
          to label %349 unwind label %582

349:                                              ; preds = %347
  %350 = load ptr, ptr %348, align 8, !tbaa !9
  %351 = getelementptr inbounds ptr, ptr %350, i64 16
  %352 = load ptr, ptr %351, align 8
  invoke void %352(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %39, ptr noundef nonnull align 8 dereferenceable(24) %348)
          to label %353 unwind label %582

353:                                              ; preds = %349
  %354 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %39)
          to label %355 unwind label %586

355:                                              ; preds = %353
  %356 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector7MakeNewEv(ptr noundef nonnull align 8 dereferenceable(205) %354)
          to label %357 unwind label %586

357:                                              ; preds = %355
  invoke void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8) %38, ptr noundef %356)
          to label %358 unwind label %586

358:                                              ; preds = %357
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %39) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %39) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr %40) #5
  %359 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
          to label %360 unwind label %591

360:                                              ; preds = %358
  %361 = load ptr, ptr %359, align 8, !tbaa !9
  %362 = getelementptr inbounds ptr, ptr %361, i64 17
  %363 = load ptr, ptr %362, align 8
  invoke void %363(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.57") align 8 %40, ptr noundef nonnull align 8 dereferenceable(24) %359)
          to label %364 unwind label %591

364:                                              ; preds = %360
  %365 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6MatrixEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %40)
          to label %366 unwind label %595

366:                                              ; preds = %364
  call void @llvm.lifetime.start.p0(i64 8, ptr %41) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr %42) #5
  %367 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
          to label %368 unwind label %599

368:                                              ; preds = %366
  invoke void @_ZNK10SimTKIpopt9IpoptData5trialEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.25") align 8 %42, ptr noundef nonnull align 8 dereferenceable(864) %367)
          to label %369 unwind label %599

369:                                              ; preds = %368
  %370 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %42)
          to label %371 unwind label %603

371:                                              ; preds = %369
  invoke void @_ZNK10SimTKIpopt14IteratesVector1sEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %41, ptr noundef nonnull align 8 dereferenceable(280) %370)
          to label %372 unwind label %603

372:                                              ; preds = %371
  %373 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %41)
          to label %374 unwind label %607

374:                                              ; preds = %372
  %375 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %38)
          to label %376 unwind label %607

376:                                              ; preds = %374
  invoke void @_ZNK10SimTKIpopt6Matrix15TransMultVectorEdRKNS_6VectorEdRS1_(ptr noundef nonnull align 8 dereferenceable(69) %365, double noundef 1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %373, double noundef 0.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %375)
          to label %377 unwind label %607

377:                                              ; preds = %376
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %41) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %42) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %42) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %41) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %40) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #5
  %378 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %38)
          to label %379 unwind label %615

379:                                              ; preds = %377
  call void @llvm.lifetime.start.p0(i64 8, ptr %43) #5
  %380 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
          to label %381 unwind label %619

381:                                              ; preds = %379
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities15trial_slack_s_LEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %43, ptr noundef nonnull align 8 dereferenceable(2025) %380)
          to label %382 unwind label %619

382:                                              ; preds = %381
  %383 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %43)
          to label %384 unwind label %623

384:                                              ; preds = %382
  invoke void @_ZN10SimTKIpopt6Vector4AxpyEdRKS0_(ptr noundef nonnull align 8 dereferenceable(205) %378, double noundef -1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %383)
          to label %385 unwind label %623

385:                                              ; preds = %384
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %43) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %43) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr %44) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr %45) #5
  %386 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
          to label %387 unwind label %628

387:                                              ; preds = %385
  %388 = load ptr, ptr %386, align 8, !tbaa !9
  %389 = getelementptr inbounds ptr, ptr %388, i64 18
  %390 = load ptr, ptr %389, align 8
  invoke void %390(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %45, ptr noundef nonnull align 8 dereferenceable(24) %386)
          to label %391 unwind label %628

391:                                              ; preds = %387
  %392 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %45)
          to label %393 unwind label %632

393:                                              ; preds = %391
  %394 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector7MakeNewEv(ptr noundef nonnull align 8 dereferenceable(205) %392)
          to label %395 unwind label %632

395:                                              ; preds = %393
  invoke void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8) %44, ptr noundef %394)
          to label %396 unwind label %632

396:                                              ; preds = %395
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %45) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr %46) #5
  %397 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
          to label %398 unwind label %637

398:                                              ; preds = %396
  %399 = load ptr, ptr %397, align 8, !tbaa !9
  %400 = getelementptr inbounds ptr, ptr %399, i64 19
  %401 = load ptr, ptr %400, align 8
  invoke void %401(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.57") align 8 %46, ptr noundef nonnull align 8 dereferenceable(24) %397)
          to label %402 unwind label %637

402:                                              ; preds = %398
  %403 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6MatrixEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %46)
          to label %404 unwind label %641

404:                                              ; preds = %402
  call void @llvm.lifetime.start.p0(i64 8, ptr %47) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr %48) #5
  %405 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
          to label %406 unwind label %645

406:                                              ; preds = %404
  invoke void @_ZNK10SimTKIpopt9IpoptData5trialEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.25") align 8 %48, ptr noundef nonnull align 8 dereferenceable(864) %405)
          to label %407 unwind label %645

407:                                              ; preds = %406
  %408 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %48)
          to label %409 unwind label %649

409:                                              ; preds = %407
  invoke void @_ZNK10SimTKIpopt14IteratesVector1sEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %47, ptr noundef nonnull align 8 dereferenceable(280) %408)
          to label %410 unwind label %649

410:                                              ; preds = %409
  %411 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %47)
          to label %412 unwind label %653

412:                                              ; preds = %410
  %413 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %44)
          to label %414 unwind label %653

414:                                              ; preds = %412
  invoke void @_ZNK10SimTKIpopt6Matrix15TransMultVectorEdRKNS_6VectorEdRS1_(ptr noundef nonnull align 8 dereferenceable(69) %403, double noundef 1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %411, double noundef 0.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %413)
          to label %415 unwind label %653

415:                                              ; preds = %414
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %47) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %48) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %48) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %47) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %46) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #5
  %416 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %44)
          to label %417 unwind label %661

417:                                              ; preds = %415
  call void @llvm.lifetime.start.p0(i64 8, ptr %49) #5
  %418 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
          to label %419 unwind label %665

419:                                              ; preds = %417
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities15trial_slack_s_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %49, ptr noundef nonnull align 8 dereferenceable(2025) %418)
          to label %420 unwind label %665

420:                                              ; preds = %419
  %421 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %49)
          to label %422 unwind label %669

422:                                              ; preds = %420
  invoke void @_ZN10SimTKIpopt6Vector4AxpyEdRKS0_(ptr noundef nonnull align 8 dereferenceable(205) %416, double noundef 1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %421)
          to label %423 unwind label %669

423:                                              ; preds = %422
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %49) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %49) #5
  %424 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
          to label %425 unwind label %661

425:                                              ; preds = %423
  %426 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %26)
          to label %427 unwind label %661

427:                                              ; preds = %425
  %428 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %32)
          to label %429 unwind label %661

429:                                              ; preds = %427
  %430 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %38)
          to label %431 unwind label %661

431:                                              ; preds = %429
  %432 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %44)
          to label %433 unwind label %661

433:                                              ; preds = %431
  %434 = load ptr, ptr %424, align 8, !tbaa !9
  %435 = getelementptr inbounds ptr, ptr %434, i64 22
  %436 = load ptr, ptr %435, align 8
  invoke void %436(ptr noundef nonnull align 8 dereferenceable(24) %424, ptr noundef nonnull align 8 dereferenceable(205) %426, ptr noundef nonnull align 8 dereferenceable(205) %428, ptr noundef nonnull align 8 dereferenceable(205) %430, ptr noundef nonnull align 8 dereferenceable(205) %432)
          to label %437 unwind label %661

437:                                              ; preds = %433
  %438 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5JnlstEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
          to label %439 unwind label %661

439:                                              ; preds = %437
  %440 = invoke noundef zeroext i1 @_ZNK10SimTKIpopt10Journalist13ProduceOutputENS_13EJournalLevelENS_16EJournalCategoryE(ptr noundef nonnull align 8 dereferenceable(40) %438, i32 noundef 7, i32 noundef 2)
          to label %441 unwind label %661

441:                                              ; preds = %439
  br i1 %440, label %442, label %770

442:                                              ; preds = %441
  call void @llvm.lifetime.start.p0(i64 8, ptr %50) #5
  %443 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
          to label %444 unwind label %674

444:                                              ; preds = %442
  %445 = load ptr, ptr %443, align 8, !tbaa !9
  %446 = getelementptr inbounds ptr, ptr %445, i64 12
  %447 = load ptr, ptr %446, align 8
  invoke void %447(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %50, ptr noundef nonnull align 8 dereferenceable(24) %443)
          to label %448 unwind label %674

448:                                              ; preds = %444
  %449 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %50)
          to label %450 unwind label %678

450:                                              ; preds = %448
  %451 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5JnlstEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
          to label %452 unwind label %678

452:                                              ; preds = %450
  call void @llvm.lifetime.start.p0(i64 32, ptr %51) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr %52) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %52) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %51, ptr noundef @.str.51, ptr noundef nonnull align 1 dereferenceable(1) %52)
          to label %453 unwind label %682

453:                                              ; preds = %452
  call void @llvm.lifetime.start.p0(i64 32, ptr %53) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr %54) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %54) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %53, ptr noundef @.str.41, ptr noundef nonnull align 1 dereferenceable(1) %54)
          to label %454 unwind label %686

454:                                              ; preds = %453
  invoke void @_ZNK10SimTKIpopt6Vector5PrintERKNS_10JournalistENS_13EJournalLevelENS_16EJournalCategoryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSD_(ptr noundef nonnull align 8 dereferenceable(205) %449, ptr noundef nonnull align 8 dereferenceable(40) %451, i32 noundef 7, i32 noundef 2, ptr noundef nonnull align 8 dereferenceable(32) %51, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(32) %53)
          to label %455 unwind label %690

455:                                              ; preds = %454
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %54) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %54) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %53) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %52) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %52) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %51) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %50) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %50) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr %55) #5
  %456 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
          to label %457 unwind label %698

457:                                              ; preds = %455
  %458 = load ptr, ptr %456, align 8, !tbaa !9
  %459 = getelementptr inbounds ptr, ptr %458, i64 14
  %460 = load ptr, ptr %459, align 8
  invoke void %460(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %55, ptr noundef nonnull align 8 dereferenceable(24) %456)
          to label %461 unwind label %698

461:                                              ; preds = %457
  %462 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %55)
          to label %463 unwind label %702

463:                                              ; preds = %461
  %464 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5JnlstEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
          to label %465 unwind label %702

465:                                              ; preds = %463
  call void @llvm.lifetime.start.p0(i64 32, ptr %56) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr %57) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %57) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %56, ptr noundef @.str.52, ptr noundef nonnull align 1 dereferenceable(1) %57)
          to label %466 unwind label %706

466:                                              ; preds = %465
  call void @llvm.lifetime.start.p0(i64 32, ptr %58) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr %59) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %59) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %58, ptr noundef @.str.41, ptr noundef nonnull align 1 dereferenceable(1) %59)
          to label %467 unwind label %710

467:                                              ; preds = %466
  invoke void @_ZNK10SimTKIpopt6Vector5PrintERKNS_10JournalistENS_13EJournalLevelENS_16EJournalCategoryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSD_(ptr noundef nonnull align 8 dereferenceable(205) %462, ptr noundef nonnull align 8 dereferenceable(40) %464, i32 noundef 7, i32 noundef 2, ptr noundef nonnull align 8 dereferenceable(32) %56, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(32) %58)
          to label %468 unwind label %714

468:                                              ; preds = %467
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %59) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %59) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %58) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %57) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %57) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %56) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %55) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %55) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr %60) #5
  %469 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
          to label %470 unwind label %722

470:                                              ; preds = %468
  %471 = load ptr, ptr %469, align 8, !tbaa !9
  %472 = getelementptr inbounds ptr, ptr %471, i64 16
  %473 = load ptr, ptr %472, align 8
  invoke void %473(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %60, ptr noundef nonnull align 8 dereferenceable(24) %469)
          to label %474 unwind label %722

474:                                              ; preds = %470
  %475 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %60)
          to label %476 unwind label %726

476:                                              ; preds = %474
  %477 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5JnlstEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
          to label %478 unwind label %726

478:                                              ; preds = %476
  call void @llvm.lifetime.start.p0(i64 32, ptr %61) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr %62) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %62) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %61, ptr noundef @.str.53, ptr noundef nonnull align 1 dereferenceable(1) %62)
          to label %479 unwind label %730

479:                                              ; preds = %478
  call void @llvm.lifetime.start.p0(i64 32, ptr %63) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr %64) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %64) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %63, ptr noundef @.str.41, ptr noundef nonnull align 1 dereferenceable(1) %64)
          to label %480 unwind label %734

480:                                              ; preds = %479
  invoke void @_ZNK10SimTKIpopt6Vector5PrintERKNS_10JournalistENS_13EJournalLevelENS_16EJournalCategoryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSD_(ptr noundef nonnull align 8 dereferenceable(205) %475, ptr noundef nonnull align 8 dereferenceable(40) %477, i32 noundef 7, i32 noundef 2, ptr noundef nonnull align 8 dereferenceable(32) %61, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(32) %63)
          to label %481 unwind label %738

481:                                              ; preds = %480
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %64) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %64) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %63) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %62) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %62) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %61) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %60) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %60) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr %65) #5
  %482 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
          to label %483 unwind label %746

483:                                              ; preds = %481
  %484 = load ptr, ptr %482, align 8, !tbaa !9
  %485 = getelementptr inbounds ptr, ptr %484, i64 18
  %486 = load ptr, ptr %485, align 8
  invoke void %486(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %65, ptr noundef nonnull align 8 dereferenceable(24) %482)
          to label %487 unwind label %746

487:                                              ; preds = %483
  %488 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %65)
          to label %489 unwind label %750

489:                                              ; preds = %487
  %490 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5JnlstEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
          to label %491 unwind label %750

491:                                              ; preds = %489
  call void @llvm.lifetime.start.p0(i64 32, ptr %66) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr %67) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %67) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %66, ptr noundef @.str.54, ptr noundef nonnull align 1 dereferenceable(1) %67)
          to label %492 unwind label %754

492:                                              ; preds = %491
  call void @llvm.lifetime.start.p0(i64 32, ptr %68) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr %69) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %69) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %68, ptr noundef @.str.41, ptr noundef nonnull align 1 dereferenceable(1) %69)
          to label %493 unwind label %758

493:                                              ; preds = %492
  invoke void @_ZNK10SimTKIpopt6Vector5PrintERKNS_10JournalistENS_13EJournalLevelENS_16EJournalCategoryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSD_(ptr noundef nonnull align 8 dereferenceable(205) %488, ptr noundef nonnull align 8 dereferenceable(40) %490, i32 noundef 7, i32 noundef 2, ptr noundef nonnull align 8 dereferenceable(32) %66, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(32) %68)
          to label %494 unwind label %762

494:                                              ; preds = %493
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %69) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %69) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %68) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %66) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %67) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %67) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %66) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %65) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %65) #5
  br label %770

495:                                              ; preds = %281, %279, %273
  %496 = landingpad { ptr, i32 }
          cleanup
  %497 = extractvalue { ptr, i32 } %496, 0
  store ptr %497, ptr %5, align 8
  %498 = extractvalue { ptr, i32 } %496, 1
  store i32 %498, ptr %6, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %27) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #5
  br label %778

499:                                              ; preds = %284, %282
  %500 = landingpad { ptr, i32 }
          cleanup
  %501 = extractvalue { ptr, i32 } %500, 0
  store ptr %501, ptr %5, align 8
  %502 = extractvalue { ptr, i32 } %500, 1
  store i32 %502, ptr %6, align 4
  br label %522

503:                                              ; preds = %288
  %504 = landingpad { ptr, i32 }
          cleanup
  %505 = extractvalue { ptr, i32 } %504, 0
  store ptr %505, ptr %5, align 8
  %506 = extractvalue { ptr, i32 } %504, 1
  store i32 %506, ptr %6, align 4
  br label %521

507:                                              ; preds = %292, %290
  %508 = landingpad { ptr, i32 }
          cleanup
  %509 = extractvalue { ptr, i32 } %508, 0
  store ptr %509, ptr %5, align 8
  %510 = extractvalue { ptr, i32 } %508, 1
  store i32 %510, ptr %6, align 4
  br label %520

511:                                              ; preds = %295, %293
  %512 = landingpad { ptr, i32 }
          cleanup
  %513 = extractvalue { ptr, i32 } %512, 0
  store ptr %513, ptr %5, align 8
  %514 = extractvalue { ptr, i32 } %512, 1
  store i32 %514, ptr %6, align 4
  br label %519

515:                                              ; preds = %300, %298, %296
  %516 = landingpad { ptr, i32 }
          cleanup
  %517 = extractvalue { ptr, i32 } %516, 0
  store ptr %517, ptr %5, align 8
  %518 = extractvalue { ptr, i32 } %516, 1
  store i32 %518, ptr %6, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %29) #5
  br label %519

519:                                              ; preds = %515, %511
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %30) #5
  br label %520

520:                                              ; preds = %519, %507
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %29) #5
  br label %521

521:                                              ; preds = %520, %503
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %28) #5
  br label %522

522:                                              ; preds = %521, %499
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #5
  br label %777

523:                                              ; preds = %301
  %524 = landingpad { ptr, i32 }
          cleanup
  %525 = extractvalue { ptr, i32 } %524, 0
  store ptr %525, ptr %5, align 8
  %526 = extractvalue { ptr, i32 } %524, 1
  store i32 %526, ptr %6, align 4
  br label %777

527:                                              ; preds = %305, %303
  %528 = landingpad { ptr, i32 }
          cleanup
  %529 = extractvalue { ptr, i32 } %528, 0
  store ptr %529, ptr %5, align 8
  %530 = extractvalue { ptr, i32 } %528, 1
  store i32 %530, ptr %6, align 4
  br label %535

531:                                              ; preds = %308, %306
  %532 = landingpad { ptr, i32 }
          cleanup
  %533 = extractvalue { ptr, i32 } %532, 0
  store ptr %533, ptr %5, align 8
  %534 = extractvalue { ptr, i32 } %532, 1
  store i32 %534, ptr %6, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %31) #5
  br label %535

535:                                              ; preds = %531, %527
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #5
  br label %777

536:                                              ; preds = %311, %309
  %537 = landingpad { ptr, i32 }
          cleanup
  %538 = extractvalue { ptr, i32 } %537, 0
  store ptr %538, ptr %5, align 8
  %539 = extractvalue { ptr, i32 } %537, 1
  store i32 %539, ptr %6, align 4
  br label %544

540:                                              ; preds = %319, %317, %315
  %541 = landingpad { ptr, i32 }
          cleanup
  %542 = extractvalue { ptr, i32 } %541, 0
  store ptr %542, ptr %5, align 8
  %543 = extractvalue { ptr, i32 } %541, 1
  store i32 %543, ptr %6, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %33) #5
  br label %544

544:                                              ; preds = %540, %536
  call void @llvm.lifetime.end.p0(i64 8, ptr %33) #5
  br label %776

545:                                              ; preds = %322, %320
  %546 = landingpad { ptr, i32 }
          cleanup
  %547 = extractvalue { ptr, i32 } %546, 0
  store ptr %547, ptr %5, align 8
  %548 = extractvalue { ptr, i32 } %546, 1
  store i32 %548, ptr %6, align 4
  br label %568

549:                                              ; preds = %326
  %550 = landingpad { ptr, i32 }
          cleanup
  %551 = extractvalue { ptr, i32 } %550, 0
  store ptr %551, ptr %5, align 8
  %552 = extractvalue { ptr, i32 } %550, 1
  store i32 %552, ptr %6, align 4
  br label %567

553:                                              ; preds = %330, %328
  %554 = landingpad { ptr, i32 }
          cleanup
  %555 = extractvalue { ptr, i32 } %554, 0
  store ptr %555, ptr %5, align 8
  %556 = extractvalue { ptr, i32 } %554, 1
  store i32 %556, ptr %6, align 4
  br label %566

557:                                              ; preds = %333, %331
  %558 = landingpad { ptr, i32 }
          cleanup
  %559 = extractvalue { ptr, i32 } %558, 0
  store ptr %559, ptr %5, align 8
  %560 = extractvalue { ptr, i32 } %558, 1
  store i32 %560, ptr %6, align 4
  br label %565

561:                                              ; preds = %338, %336, %334
  %562 = landingpad { ptr, i32 }
          cleanup
  %563 = extractvalue { ptr, i32 } %562, 0
  store ptr %563, ptr %5, align 8
  %564 = extractvalue { ptr, i32 } %562, 1
  store i32 %564, ptr %6, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %35) #5
  br label %565

565:                                              ; preds = %561, %557
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %36) #5
  br label %566

566:                                              ; preds = %565, %553
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %35) #5
  br label %567

567:                                              ; preds = %566, %549
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %34) #5
  br label %568

568:                                              ; preds = %567, %545
  call void @llvm.lifetime.end.p0(i64 8, ptr %34) #5
  br label %775

569:                                              ; preds = %339
  %570 = landingpad { ptr, i32 }
          cleanup
  %571 = extractvalue { ptr, i32 } %570, 0
  store ptr %571, ptr %5, align 8
  %572 = extractvalue { ptr, i32 } %570, 1
  store i32 %572, ptr %6, align 4
  br label %775

573:                                              ; preds = %343, %341
  %574 = landingpad { ptr, i32 }
          cleanup
  %575 = extractvalue { ptr, i32 } %574, 0
  store ptr %575, ptr %5, align 8
  %576 = extractvalue { ptr, i32 } %574, 1
  store i32 %576, ptr %6, align 4
  br label %581

577:                                              ; preds = %346, %344
  %578 = landingpad { ptr, i32 }
          cleanup
  %579 = extractvalue { ptr, i32 } %578, 0
  store ptr %579, ptr %5, align 8
  %580 = extractvalue { ptr, i32 } %578, 1
  store i32 %580, ptr %6, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %37) #5
  br label %581

581:                                              ; preds = %577, %573
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #5
  br label %775

582:                                              ; preds = %349, %347
  %583 = landingpad { ptr, i32 }
          cleanup
  %584 = extractvalue { ptr, i32 } %583, 0
  store ptr %584, ptr %5, align 8
  %585 = extractvalue { ptr, i32 } %583, 1
  store i32 %585, ptr %6, align 4
  br label %590

586:                                              ; preds = %357, %355, %353
  %587 = landingpad { ptr, i32 }
          cleanup
  %588 = extractvalue { ptr, i32 } %587, 0
  store ptr %588, ptr %5, align 8
  %589 = extractvalue { ptr, i32 } %587, 1
  store i32 %589, ptr %6, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %39) #5
  br label %590

590:                                              ; preds = %586, %582
  call void @llvm.lifetime.end.p0(i64 8, ptr %39) #5
  br label %774

591:                                              ; preds = %360, %358
  %592 = landingpad { ptr, i32 }
          cleanup
  %593 = extractvalue { ptr, i32 } %592, 0
  store ptr %593, ptr %5, align 8
  %594 = extractvalue { ptr, i32 } %592, 1
  store i32 %594, ptr %6, align 4
  br label %614

595:                                              ; preds = %364
  %596 = landingpad { ptr, i32 }
          cleanup
  %597 = extractvalue { ptr, i32 } %596, 0
  store ptr %597, ptr %5, align 8
  %598 = extractvalue { ptr, i32 } %596, 1
  store i32 %598, ptr %6, align 4
  br label %613

599:                                              ; preds = %368, %366
  %600 = landingpad { ptr, i32 }
          cleanup
  %601 = extractvalue { ptr, i32 } %600, 0
  store ptr %601, ptr %5, align 8
  %602 = extractvalue { ptr, i32 } %600, 1
  store i32 %602, ptr %6, align 4
  br label %612

603:                                              ; preds = %371, %369
  %604 = landingpad { ptr, i32 }
          cleanup
  %605 = extractvalue { ptr, i32 } %604, 0
  store ptr %605, ptr %5, align 8
  %606 = extractvalue { ptr, i32 } %604, 1
  store i32 %606, ptr %6, align 4
  br label %611

607:                                              ; preds = %376, %374, %372
  %608 = landingpad { ptr, i32 }
          cleanup
  %609 = extractvalue { ptr, i32 } %608, 0
  store ptr %609, ptr %5, align 8
  %610 = extractvalue { ptr, i32 } %608, 1
  store i32 %610, ptr %6, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %41) #5
  br label %611

611:                                              ; preds = %607, %603
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %42) #5
  br label %612

612:                                              ; preds = %611, %599
  call void @llvm.lifetime.end.p0(i64 8, ptr %42) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %41) #5
  br label %613

613:                                              ; preds = %612, %595
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %40) #5
  br label %614

614:                                              ; preds = %613, %591
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #5
  br label %773

615:                                              ; preds = %377
  %616 = landingpad { ptr, i32 }
          cleanup
  %617 = extractvalue { ptr, i32 } %616, 0
  store ptr %617, ptr %5, align 8
  %618 = extractvalue { ptr, i32 } %616, 1
  store i32 %618, ptr %6, align 4
  br label %773

619:                                              ; preds = %381, %379
  %620 = landingpad { ptr, i32 }
          cleanup
  %621 = extractvalue { ptr, i32 } %620, 0
  store ptr %621, ptr %5, align 8
  %622 = extractvalue { ptr, i32 } %620, 1
  store i32 %622, ptr %6, align 4
  br label %627

623:                                              ; preds = %384, %382
  %624 = landingpad { ptr, i32 }
          cleanup
  %625 = extractvalue { ptr, i32 } %624, 0
  store ptr %625, ptr %5, align 8
  %626 = extractvalue { ptr, i32 } %624, 1
  store i32 %626, ptr %6, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %43) #5
  br label %627

627:                                              ; preds = %623, %619
  call void @llvm.lifetime.end.p0(i64 8, ptr %43) #5
  br label %773

628:                                              ; preds = %387, %385
  %629 = landingpad { ptr, i32 }
          cleanup
  %630 = extractvalue { ptr, i32 } %629, 0
  store ptr %630, ptr %5, align 8
  %631 = extractvalue { ptr, i32 } %629, 1
  store i32 %631, ptr %6, align 4
  br label %636

632:                                              ; preds = %395, %393, %391
  %633 = landingpad { ptr, i32 }
          cleanup
  %634 = extractvalue { ptr, i32 } %633, 0
  store ptr %634, ptr %5, align 8
  %635 = extractvalue { ptr, i32 } %633, 1
  store i32 %635, ptr %6, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %45) #5
  br label %636

636:                                              ; preds = %632, %628
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #5
  br label %772

637:                                              ; preds = %398, %396
  %638 = landingpad { ptr, i32 }
          cleanup
  %639 = extractvalue { ptr, i32 } %638, 0
  store ptr %639, ptr %5, align 8
  %640 = extractvalue { ptr, i32 } %638, 1
  store i32 %640, ptr %6, align 4
  br label %660

641:                                              ; preds = %402
  %642 = landingpad { ptr, i32 }
          cleanup
  %643 = extractvalue { ptr, i32 } %642, 0
  store ptr %643, ptr %5, align 8
  %644 = extractvalue { ptr, i32 } %642, 1
  store i32 %644, ptr %6, align 4
  br label %659

645:                                              ; preds = %406, %404
  %646 = landingpad { ptr, i32 }
          cleanup
  %647 = extractvalue { ptr, i32 } %646, 0
  store ptr %647, ptr %5, align 8
  %648 = extractvalue { ptr, i32 } %646, 1
  store i32 %648, ptr %6, align 4
  br label %658

649:                                              ; preds = %409, %407
  %650 = landingpad { ptr, i32 }
          cleanup
  %651 = extractvalue { ptr, i32 } %650, 0
  store ptr %651, ptr %5, align 8
  %652 = extractvalue { ptr, i32 } %650, 1
  store i32 %652, ptr %6, align 4
  br label %657

653:                                              ; preds = %414, %412, %410
  %654 = landingpad { ptr, i32 }
          cleanup
  %655 = extractvalue { ptr, i32 } %654, 0
  store ptr %655, ptr %5, align 8
  %656 = extractvalue { ptr, i32 } %654, 1
  store i32 %656, ptr %6, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %47) #5
  br label %657

657:                                              ; preds = %653, %649
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %48) #5
  br label %658

658:                                              ; preds = %657, %645
  call void @llvm.lifetime.end.p0(i64 8, ptr %48) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %47) #5
  br label %659

659:                                              ; preds = %658, %641
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %46) #5
  br label %660

660:                                              ; preds = %659, %637
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #5
  br label %771

661:                                              ; preds = %439, %437, %433, %431, %429, %427, %425, %423, %415
  %662 = landingpad { ptr, i32 }
          cleanup
  %663 = extractvalue { ptr, i32 } %662, 0
  store ptr %663, ptr %5, align 8
  %664 = extractvalue { ptr, i32 } %662, 1
  store i32 %664, ptr %6, align 4
  br label %771

665:                                              ; preds = %419, %417
  %666 = landingpad { ptr, i32 }
          cleanup
  %667 = extractvalue { ptr, i32 } %666, 0
  store ptr %667, ptr %5, align 8
  %668 = extractvalue { ptr, i32 } %666, 1
  store i32 %668, ptr %6, align 4
  br label %673

669:                                              ; preds = %422, %420
  %670 = landingpad { ptr, i32 }
          cleanup
  %671 = extractvalue { ptr, i32 } %670, 0
  store ptr %671, ptr %5, align 8
  %672 = extractvalue { ptr, i32 } %670, 1
  store i32 %672, ptr %6, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %49) #5
  br label %673

673:                                              ; preds = %669, %665
  call void @llvm.lifetime.end.p0(i64 8, ptr %49) #5
  br label %771

674:                                              ; preds = %444, %442
  %675 = landingpad { ptr, i32 }
          cleanup
  %676 = extractvalue { ptr, i32 } %675, 0
  store ptr %676, ptr %5, align 8
  %677 = extractvalue { ptr, i32 } %675, 1
  store i32 %677, ptr %6, align 4
  br label %697

678:                                              ; preds = %450, %448
  %679 = landingpad { ptr, i32 }
          cleanup
  %680 = extractvalue { ptr, i32 } %679, 0
  store ptr %680, ptr %5, align 8
  %681 = extractvalue { ptr, i32 } %679, 1
  store i32 %681, ptr %6, align 4
  br label %696

682:                                              ; preds = %452
  %683 = landingpad { ptr, i32 }
          cleanup
  %684 = extractvalue { ptr, i32 } %683, 0
  store ptr %684, ptr %5, align 8
  %685 = extractvalue { ptr, i32 } %683, 1
  store i32 %685, ptr %6, align 4
  br label %695

686:                                              ; preds = %453
  %687 = landingpad { ptr, i32 }
          cleanup
  %688 = extractvalue { ptr, i32 } %687, 0
  store ptr %688, ptr %5, align 8
  %689 = extractvalue { ptr, i32 } %687, 1
  store i32 %689, ptr %6, align 4
  br label %694

690:                                              ; preds = %454
  %691 = landingpad { ptr, i32 }
          cleanup
  %692 = extractvalue { ptr, i32 } %691, 0
  store ptr %692, ptr %5, align 8
  %693 = extractvalue { ptr, i32 } %691, 1
  store i32 %693, ptr %6, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #5
  br label %694

694:                                              ; preds = %690, %686
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %54) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %54) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %53) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #5
  br label %695

695:                                              ; preds = %694, %682
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %52) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %52) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %51) #5
  br label %696

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

697:                                              ; preds = %696, %674
  call void @llvm.lifetime.end.p0(i64 8, ptr %50) #5
  br label %771

698:                                              ; preds = %457, %455
  %699 = landingpad { ptr, i32 }
          cleanup
  %700 = extractvalue { ptr, i32 } %699, 0
  store ptr %700, ptr %5, align 8
  %701 = extractvalue { ptr, i32 } %699, 1
  store i32 %701, ptr %6, align 4
  br label %721

702:                                              ; preds = %463, %461
  %703 = landingpad { ptr, i32 }
          cleanup
  %704 = extractvalue { ptr, i32 } %703, 0
  store ptr %704, ptr %5, align 8
  %705 = extractvalue { ptr, i32 } %703, 1
  store i32 %705, ptr %6, align 4
  br label %720

706:                                              ; preds = %465
  %707 = landingpad { ptr, i32 }
          cleanup
  %708 = extractvalue { ptr, i32 } %707, 0
  store ptr %708, ptr %5, align 8
  %709 = extractvalue { ptr, i32 } %707, 1
  store i32 %709, ptr %6, align 4
  br label %719

710:                                              ; preds = %466
  %711 = landingpad { ptr, i32 }
          cleanup
  %712 = extractvalue { ptr, i32 } %711, 0
  store ptr %712, ptr %5, align 8
  %713 = extractvalue { ptr, i32 } %711, 1
  store i32 %713, ptr %6, align 4
  br label %718

714:                                              ; preds = %467
  %715 = landingpad { ptr, i32 }
          cleanup
  %716 = extractvalue { ptr, i32 } %715, 0
  store ptr %716, ptr %5, align 8
  %717 = extractvalue { ptr, i32 } %715, 1
  store i32 %717, ptr %6, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #5
  br label %718

718:                                              ; preds = %714, %710
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %59) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %59) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %58) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #5
  br label %719

719:                                              ; preds = %718, %706
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %57) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %57) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %56) #5
  br label %720

720:                                              ; preds = %719, %702
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %55) #5
  br label %721

721:                                              ; preds = %720, %698
  call void @llvm.lifetime.end.p0(i64 8, ptr %55) #5
  br label %771

722:                                              ; preds = %470, %468
  %723 = landingpad { ptr, i32 }
          cleanup
  %724 = extractvalue { ptr, i32 } %723, 0
  store ptr %724, ptr %5, align 8
  %725 = extractvalue { ptr, i32 } %723, 1
  store i32 %725, ptr %6, align 4
  br label %745

726:                                              ; preds = %476, %474
  %727 = landingpad { ptr, i32 }
          cleanup
  %728 = extractvalue { ptr, i32 } %727, 0
  store ptr %728, ptr %5, align 8
  %729 = extractvalue { ptr, i32 } %727, 1
  store i32 %729, ptr %6, align 4
  br label %744

730:                                              ; preds = %478
  %731 = landingpad { ptr, i32 }
          cleanup
  %732 = extractvalue { ptr, i32 } %731, 0
  store ptr %732, ptr %5, align 8
  %733 = extractvalue { ptr, i32 } %731, 1
  store i32 %733, ptr %6, align 4
  br label %743

734:                                              ; preds = %479
  %735 = landingpad { ptr, i32 }
          cleanup
  %736 = extractvalue { ptr, i32 } %735, 0
  store ptr %736, ptr %5, align 8
  %737 = extractvalue { ptr, i32 } %735, 1
  store i32 %737, ptr %6, align 4
  br label %742

738:                                              ; preds = %480
  %739 = landingpad { ptr, i32 }
          cleanup
  %740 = extractvalue { ptr, i32 } %739, 0
  store ptr %740, ptr %5, align 8
  %741 = extractvalue { ptr, i32 } %739, 1
  store i32 %741, ptr %6, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #5
  br label %742

742:                                              ; preds = %738, %734
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %64) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %64) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %63) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #5
  br label %743

743:                                              ; preds = %742, %730
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %62) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %62) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %61) #5
  br label %744

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

745:                                              ; preds = %744, %722
  call void @llvm.lifetime.end.p0(i64 8, ptr %60) #5
  br label %771

746:                                              ; preds = %483, %481
  %747 = landingpad { ptr, i32 }
          cleanup
  %748 = extractvalue { ptr, i32 } %747, 0
  store ptr %748, ptr %5, align 8
  %749 = extractvalue { ptr, i32 } %747, 1
  store i32 %749, ptr %6, align 4
  br label %769

750:                                              ; preds = %489, %487
  %751 = landingpad { ptr, i32 }
          cleanup
  %752 = extractvalue { ptr, i32 } %751, 0
  store ptr %752, ptr %5, align 8
  %753 = extractvalue { ptr, i32 } %751, 1
  store i32 %753, ptr %6, align 4
  br label %768

754:                                              ; preds = %491
  %755 = landingpad { ptr, i32 }
          cleanup
  %756 = extractvalue { ptr, i32 } %755, 0
  store ptr %756, ptr %5, align 8
  %757 = extractvalue { ptr, i32 } %755, 1
  store i32 %757, ptr %6, align 4
  br label %767

758:                                              ; preds = %492
  %759 = landingpad { ptr, i32 }
          cleanup
  %760 = extractvalue { ptr, i32 } %759, 0
  store ptr %760, ptr %5, align 8
  %761 = extractvalue { ptr, i32 } %759, 1
  store i32 %761, ptr %6, align 4
  br label %766

762:                                              ; preds = %493
  %763 = landingpad { ptr, i32 }
          cleanup
  %764 = extractvalue { ptr, i32 } %763, 0
  store ptr %764, ptr %5, align 8
  %765 = extractvalue { ptr, i32 } %763, 1
  store i32 %765, ptr %6, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #5
  br label %766

766:                                              ; preds = %762, %758
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %69) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %69) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %68) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %66) #5
  br label %767

767:                                              ; preds = %766, %754
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %67) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %67) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %66) #5
  br label %768

768:                                              ; preds = %767, %750
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %65) #5
  br label %769

769:                                              ; preds = %768, %746
  call void @llvm.lifetime.end.p0(i64 8, ptr %65) #5
  br label %771

770:                                              ; preds = %494, %441
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %44) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %44) #5
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %38) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %38) #5
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %32) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #5
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %26) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %26) #5
  br label %779

771:                                              ; preds = %769, %745, %721, %697, %673, %661, %660
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %44) #5
  br label %772

772:                                              ; preds = %771, %636
  call void @llvm.lifetime.end.p0(i64 8, ptr %44) #5
  br label %773

773:                                              ; preds = %772, %627, %615, %614
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %38) #5
  br label %774

774:                                              ; preds = %773, %590
  call void @llvm.lifetime.end.p0(i64 8, ptr %38) #5
  br label %775

775:                                              ; preds = %774, %581, %569, %568
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %32) #5
  br label %776

776:                                              ; preds = %775, %544
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #5
  br label %777

777:                                              ; preds = %776, %535, %523, %522
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %26) #5
  br label %778

778:                                              ; preds = %777, %495
  call void @llvm.lifetime.end.p0(i64 8, ptr %26) #5
  br label %1490

779:                                              ; preds = %770, %130
  call void @llvm.lifetime.start.p0(i64 1, ptr %70) #5
  store i8 0, ptr %70, align 1, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 8, ptr %71) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr %72) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %72)
  call void @llvm.lifetime.start.p0(i64 8, ptr %73) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr %74) #5
  %780 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
          to label %781 unwind label %807

781:                                              ; preds = %779
  invoke void @_ZNK10SimTKIpopt9IpoptData5trialEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.25") align 8 %74, ptr noundef nonnull align 8 dereferenceable(864) %780)
          to label %782 unwind label %807

782:                                              ; preds = %781
  %783 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %74)
          to label %784 unwind label %811

784:                                              ; preds = %782
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_LEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %73, ptr noundef nonnull align 8 dereferenceable(280) %783)
          to label %785 unwind label %811

785:                                              ; preds = %784
  %786 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %73)
          to label %787 unwind label %815

787:                                              ; preds = %785
  call void @llvm.lifetime.start.p0(i64 8, ptr %75) #5
  %788 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
          to label %789 unwind label %819

789:                                              ; preds = %787
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities15trial_slack_x_LEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %75, ptr noundef nonnull align 8 dereferenceable(2025) %788)
          to label %790 unwind label %819

790:                                              ; preds = %789
  %791 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %75)
          to label %792 unwind label %823

792:                                              ; preds = %790
  call void @llvm.lifetime.start.p0(i64 8, ptr %76) #5
  %793 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
          to label %794 unwind label %827

794:                                              ; preds = %792
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities15trial_compl_x_LEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %76, ptr noundef nonnull align 8 dereferenceable(2025) %793)
          to label %795 unwind label %827

795:                                              ; preds = %794
  %796 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %76)
          to label %797 unwind label %831

797:                                              ; preds = %795
  %798 = invoke noundef double @_ZN10SimTKIpopt14IpoptAlgorithm24correct_bound_multiplierERKNS_6VectorES3_S3_RNS_8SmartPtrIS2_EE(ptr noundef nonnull align 8 dereferenceable(152) %121, ptr noundef nonnull align 8 dereferenceable(205) %786, ptr noundef nonnull align 8 dereferenceable(205) %791, ptr noundef nonnull align 8 dereferenceable(205) %796, ptr noundef nonnull align 8 dereferenceable(8) %72)
          to label %799 unwind label %831

799:                                              ; preds = %797
  store double %798, ptr %71, align 8, !tbaa !15
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %76) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %76) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %75) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %75) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %73) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %74) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %74) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %73) #5
  %800 = load double, ptr %71, align 8, !tbaa !15
  %801 = fcmp ogt double %800, 0.000000e+00
  br i1 %801, label %802, label %845

802:                                              ; preds = %799
  %803 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5JnlstEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
          to label %804 unwind label %841

804:                                              ; preds = %802
  %805 = load double, ptr %71, align 8, !tbaa !15
  invoke void (ptr, i32, i32, ptr, ...) @_ZNK10SimTKIpopt10Journalist6PrintfENS_13EJournalLevelENS_16EJournalCategoryEPKcz(ptr noundef nonnull align 8 dereferenceable(40) %803, i32 noundef 5, i32 noundef 2, ptr noundef @.str.55, double noundef %805)
          to label %806 unwind label %841

806:                                              ; preds = %804
  store i8 1, ptr %70, align 1, !tbaa !13
  br label %845

807:                                              ; preds = %781, %779
  %808 = landingpad { ptr, i32 }
          cleanup
  %809 = extractvalue { ptr, i32 } %808, 0
  store ptr %809, ptr %5, align 8
  %810 = extractvalue { ptr, i32 } %808, 1
  store i32 %810, ptr %6, align 4
  br label %840

811:                                              ; preds = %784, %782
  %812 = landingpad { ptr, i32 }
          cleanup
  %813 = extractvalue { ptr, i32 } %812, 0
  store ptr %813, ptr %5, align 8
  %814 = extractvalue { ptr, i32 } %812, 1
  store i32 %814, ptr %6, align 4
  br label %839

815:                                              ; preds = %785
  %816 = landingpad { ptr, i32 }
          cleanup
  %817 = extractvalue { ptr, i32 } %816, 0
  store ptr %817, ptr %5, align 8
  %818 = extractvalue { ptr, i32 } %816, 1
  store i32 %818, ptr %6, align 4
  br label %838

819:                                              ; preds = %789, %787
  %820 = landingpad { ptr, i32 }
          cleanup
  %821 = extractvalue { ptr, i32 } %820, 0
  store ptr %821, ptr %5, align 8
  %822 = extractvalue { ptr, i32 } %820, 1
  store i32 %822, ptr %6, align 4
  br label %837

823:                                              ; preds = %790
  %824 = landingpad { ptr, i32 }
          cleanup
  %825 = extractvalue { ptr, i32 } %824, 0
  store ptr %825, ptr %5, align 8
  %826 = extractvalue { ptr, i32 } %824, 1
  store i32 %826, ptr %6, align 4
  br label %836

827:                                              ; preds = %794, %792
  %828 = landingpad { ptr, i32 }
          cleanup
  %829 = extractvalue { ptr, i32 } %828, 0
  store ptr %829, ptr %5, align 8
  %830 = extractvalue { ptr, i32 } %828, 1
  store i32 %830, ptr %6, align 4
  br label %835

831:                                              ; preds = %797, %795
  %832 = landingpad { ptr, i32 }
          cleanup
  %833 = extractvalue { ptr, i32 } %832, 0
  store ptr %833, ptr %5, align 8
  %834 = extractvalue { ptr, i32 } %832, 1
  store i32 %834, ptr %6, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %76) #5
  br label %835

835:                                              ; preds = %831, %827
  call void @llvm.lifetime.end.p0(i64 8, ptr %76) #5
  br label %836

836:                                              ; preds = %835, %823
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %75) #5
  br label %837

837:                                              ; preds = %836, %819
  call void @llvm.lifetime.end.p0(i64 8, ptr %75) #5
  br label %838

838:                                              ; preds = %837, %815
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %73) #5
  br label %839

839:                                              ; preds = %838, %811
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %74) #5
  br label %840

840:                                              ; preds = %839, %807
  call void @llvm.lifetime.end.p0(i64 8, ptr %74) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %73) #5
  br label %1489

841:                                              ; preds = %804, %802
  %842 = landingpad { ptr, i32 }
          cleanup
  %843 = extractvalue { ptr, i32 } %842, 0
  store ptr %843, ptr %5, align 8
  %844 = extractvalue { ptr, i32 } %842, 1
  store i32 %844, ptr %6, align 4
  br label %1489

845:                                              ; preds = %806, %799
  call void @llvm.lifetime.start.p0(i64 8, ptr %77) #5
  invoke void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %77)
          to label %846 unwind label %874

846:                                              ; preds = %845
  call void @llvm.lifetime.start.p0(i64 8, ptr %78) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr %79) #5
  %847 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
          to label %848 unwind label %878

848:                                              ; preds = %846
  invoke void @_ZNK10SimTKIpopt9IpoptData5trialEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.25") align 8 %79, ptr noundef nonnull align 8 dereferenceable(864) %847)
          to label %849 unwind label %878

849:                                              ; preds = %848
  %850 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %79)
          to label %851 unwind label %882

851:                                              ; preds = %849
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %78, ptr noundef nonnull align 8 dereferenceable(280) %850)
          to label %852 unwind label %882

852:                                              ; preds = %851
  %853 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %78)
          to label %854 unwind label %886

854:                                              ; preds = %852
  call void @llvm.lifetime.start.p0(i64 8, ptr %80) #5
  %855 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
          to label %856 unwind label %890

856:                                              ; preds = %854
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities15trial_slack_x_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %80, ptr noundef nonnull align 8 dereferenceable(2025) %855)
          to label %857 unwind label %890

857:                                              ; preds = %856
  %858 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %80)
          to label %859 unwind label %894

859:                                              ; preds = %857
  call void @llvm.lifetime.start.p0(i64 8, ptr %81) #5
  %860 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
          to label %861 unwind label %898

861:                                              ; preds = %859
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities15trial_compl_x_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %81, ptr noundef nonnull align 8 dereferenceable(2025) %860)
          to label %862 unwind label %898

862:                                              ; preds = %861
  %863 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %81)
          to label %864 unwind label %902

864:                                              ; preds = %862
  %865 = invoke noundef double @_ZN10SimTKIpopt14IpoptAlgorithm24correct_bound_multiplierERKNS_6VectorES3_S3_RNS_8SmartPtrIS2_EE(ptr noundef nonnull align 8 dereferenceable(152) %121, ptr noundef nonnull align 8 dereferenceable(205) %853, ptr noundef nonnull align 8 dereferenceable(205) %858, ptr noundef nonnull align 8 dereferenceable(205) %863, ptr noundef nonnull align 8 dereferenceable(8) %77)
          to label %866 unwind label %902

866:                                              ; preds = %864
  store double %865, ptr %71, align 8, !tbaa !15
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %81) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %81) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %80) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %80) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %78) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %79) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %79) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %78) #5
  %867 = load double, ptr %71, align 8, !tbaa !15
  %868 = fcmp ogt double %867, 0.000000e+00
  br i1 %868, label %869, label %916

869:                                              ; preds = %866
  %870 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5JnlstEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
          to label %871 unwind label %912

871:                                              ; preds = %869
  %872 = load double, ptr %71, align 8, !tbaa !15
  invoke void (ptr, i32, i32, ptr, ...) @_ZNK10SimTKIpopt10Journalist6PrintfENS_13EJournalLevelENS_16EJournalCategoryEPKcz(ptr noundef nonnull align 8 dereferenceable(40) %870, i32 noundef 5, i32 noundef 2, ptr noundef @.str.56, double noundef %872)
          to label %873 unwind label %912

873:                                              ; preds = %871
  store i8 1, ptr %70, align 1, !tbaa !13
  br label %916

874:                                              ; preds = %845
  %875 = landingpad { ptr, i32 }
          cleanup
  %876 = extractvalue { ptr, i32 } %875, 0
  store ptr %876, ptr %5, align 8
  %877 = extractvalue { ptr, i32 } %875, 1
  store i32 %877, ptr %6, align 4
  br label %1488

878:                                              ; preds = %848, %846
  %879 = landingpad { ptr, i32 }
          cleanup
  %880 = extractvalue { ptr, i32 } %879, 0
  store ptr %880, ptr %5, align 8
  %881 = extractvalue { ptr, i32 } %879, 1
  store i32 %881, ptr %6, align 4
  br label %911

882:                                              ; preds = %851, %849
  %883 = landingpad { ptr, i32 }
          cleanup
  %884 = extractvalue { ptr, i32 } %883, 0
  store ptr %884, ptr %5, align 8
  %885 = extractvalue { ptr, i32 } %883, 1
  store i32 %885, ptr %6, align 4
  br label %910

886:                                              ; preds = %852
  %887 = landingpad { ptr, i32 }
          cleanup
  %888 = extractvalue { ptr, i32 } %887, 0
  store ptr %888, ptr %5, align 8
  %889 = extractvalue { ptr, i32 } %887, 1
  store i32 %889, ptr %6, align 4
  br label %909

890:                                              ; preds = %856, %854
  %891 = landingpad { ptr, i32 }
          cleanup
  %892 = extractvalue { ptr, i32 } %891, 0
  store ptr %892, ptr %5, align 8
  %893 = extractvalue { ptr, i32 } %891, 1
  store i32 %893, ptr %6, align 4
  br label %908

894:                                              ; preds = %857
  %895 = landingpad { ptr, i32 }
          cleanup
  %896 = extractvalue { ptr, i32 } %895, 0
  store ptr %896, ptr %5, align 8
  %897 = extractvalue { ptr, i32 } %895, 1
  store i32 %897, ptr %6, align 4
  br label %907

898:                                              ; preds = %861, %859
  %899 = landingpad { ptr, i32 }
          cleanup
  %900 = extractvalue { ptr, i32 } %899, 0
  store ptr %900, ptr %5, align 8
  %901 = extractvalue { ptr, i32 } %899, 1
  store i32 %901, ptr %6, align 4
  br label %906

902:                                              ; preds = %864, %862
  %903 = landingpad { ptr, i32 }
          cleanup
  %904 = extractvalue { ptr, i32 } %903, 0
  store ptr %904, ptr %5, align 8
  %905 = extractvalue { ptr, i32 } %903, 1
  store i32 %905, ptr %6, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %81) #5
  br label %906

906:                                              ; preds = %902, %898
  call void @llvm.lifetime.end.p0(i64 8, ptr %81) #5
  br label %907

907:                                              ; preds = %906, %894
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %80) #5
  br label %908

908:                                              ; preds = %907, %890
  call void @llvm.lifetime.end.p0(i64 8, ptr %80) #5
  br label %909

909:                                              ; preds = %908, %886
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %78) #5
  br label %910

910:                                              ; preds = %909, %882
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %79) #5
  br label %911

911:                                              ; preds = %910, %878
  call void @llvm.lifetime.end.p0(i64 8, ptr %79) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %78) #5
  br label %1487

912:                                              ; preds = %871, %869
  %913 = landingpad { ptr, i32 }
          cleanup
  %914 = extractvalue { ptr, i32 } %913, 0
  store ptr %914, ptr %5, align 8
  %915 = extractvalue { ptr, i32 } %913, 1
  store i32 %915, ptr %6, align 4
  br label %1487

916:                                              ; preds = %873, %866
  call void @llvm.lifetime.start.p0(i64 8, ptr %82) #5
  invoke void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %82)
          to label %917 unwind label %945

917:                                              ; preds = %916
  call void @llvm.lifetime.start.p0(i64 8, ptr %83) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr %84) #5
  %918 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
          to label %919 unwind label %949

919:                                              ; preds = %917
  invoke void @_ZNK10SimTKIpopt9IpoptData5trialEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.25") align 8 %84, ptr noundef nonnull align 8 dereferenceable(864) %918)
          to label %920 unwind label %949

920:                                              ; preds = %919
  %921 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %84)
          to label %922 unwind label %953

922:                                              ; preds = %920
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_LEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %83, ptr noundef nonnull align 8 dereferenceable(280) %921)
          to label %923 unwind label %953

923:                                              ; preds = %922
  %924 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %83)
          to label %925 unwind label %957

925:                                              ; preds = %923
  call void @llvm.lifetime.start.p0(i64 8, ptr %85) #5
  %926 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
          to label %927 unwind label %961

927:                                              ; preds = %925
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities15trial_slack_s_LEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %85, ptr noundef nonnull align 8 dereferenceable(2025) %926)
          to label %928 unwind label %961

928:                                              ; preds = %927
  %929 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %85)
          to label %930 unwind label %965

930:                                              ; preds = %928
  call void @llvm.lifetime.start.p0(i64 8, ptr %86) #5
  %931 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
          to label %932 unwind label %969

932:                                              ; preds = %930
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities15trial_compl_s_LEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %86, ptr noundef nonnull align 8 dereferenceable(2025) %931)
          to label %933 unwind label %969

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

935:                                              ; preds = %933
  %936 = invoke noundef double @_ZN10SimTKIpopt14IpoptAlgorithm24correct_bound_multiplierERKNS_6VectorES3_S3_RNS_8SmartPtrIS2_EE(ptr noundef nonnull align 8 dereferenceable(152) %121, ptr noundef nonnull align 8 dereferenceable(205) %924, ptr noundef nonnull align 8 dereferenceable(205) %929, ptr noundef nonnull align 8 dereferenceable(205) %934, ptr noundef nonnull align 8 dereferenceable(8) %82)
          to label %937 unwind label %973

937:                                              ; preds = %935
  store double %936, ptr %71, align 8, !tbaa !15
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %86) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %86) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %85) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %85) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %83) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %84) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %84) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %83) #5
  %938 = load double, ptr %71, align 8, !tbaa !15
  %939 = fcmp ogt double %938, 0.000000e+00
  br i1 %939, label %940, label %987

940:                                              ; preds = %937
  %941 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5JnlstEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
          to label %942 unwind label %983

942:                                              ; preds = %940
  %943 = load double, ptr %71, align 8, !tbaa !15
  invoke void (ptr, i32, i32, ptr, ...) @_ZNK10SimTKIpopt10Journalist6PrintfENS_13EJournalLevelENS_16EJournalCategoryEPKcz(ptr noundef nonnull align 8 dereferenceable(40) %941, i32 noundef 5, i32 noundef 2, ptr noundef @.str.57, double noundef %943)
          to label %944 unwind label %983

944:                                              ; preds = %942
  store i8 1, ptr %70, align 1, !tbaa !13
  br label %987

945:                                              ; preds = %916
  %946 = landingpad { ptr, i32 }
          cleanup
  %947 = extractvalue { ptr, i32 } %946, 0
  store ptr %947, ptr %5, align 8
  %948 = extractvalue { ptr, i32 } %946, 1
  store i32 %948, ptr %6, align 4
  br label %1486

949:                                              ; preds = %919, %917
  %950 = landingpad { ptr, i32 }
          cleanup
  %951 = extractvalue { ptr, i32 } %950, 0
  store ptr %951, ptr %5, align 8
  %952 = extractvalue { ptr, i32 } %950, 1
  store i32 %952, ptr %6, align 4
  br label %982

953:                                              ; preds = %922, %920
  %954 = landingpad { ptr, i32 }
          cleanup
  %955 = extractvalue { ptr, i32 } %954, 0
  store ptr %955, ptr %5, align 8
  %956 = extractvalue { ptr, i32 } %954, 1
  store i32 %956, ptr %6, align 4
  br label %981

957:                                              ; preds = %923
  %958 = landingpad { ptr, i32 }
          cleanup
  %959 = extractvalue { ptr, i32 } %958, 0
  store ptr %959, ptr %5, align 8
  %960 = extractvalue { ptr, i32 } %958, 1
  store i32 %960, ptr %6, align 4
  br label %980

961:                                              ; preds = %927, %925
  %962 = landingpad { ptr, i32 }
          cleanup
  %963 = extractvalue { ptr, i32 } %962, 0
  store ptr %963, ptr %5, align 8
  %964 = extractvalue { ptr, i32 } %962, 1
  store i32 %964, ptr %6, align 4
  br label %979

965:                                              ; preds = %928
  %966 = landingpad { ptr, i32 }
          cleanup
  %967 = extractvalue { ptr, i32 } %966, 0
  store ptr %967, ptr %5, align 8
  %968 = extractvalue { ptr, i32 } %966, 1
  store i32 %968, ptr %6, align 4
  br label %978

969:                                              ; preds = %932, %930
  %970 = landingpad { ptr, i32 }
          cleanup
  %971 = extractvalue { ptr, i32 } %970, 0
  store ptr %971, ptr %5, align 8
  %972 = extractvalue { ptr, i32 } %970, 1
  store i32 %972, ptr %6, align 4
  br label %977

973:                                              ; preds = %935, %933
  %974 = landingpad { ptr, i32 }
          cleanup
  %975 = extractvalue { ptr, i32 } %974, 0
  store ptr %975, ptr %5, align 8
  %976 = extractvalue { ptr, i32 } %974, 1
  store i32 %976, ptr %6, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %86) #5
  br label %977

977:                                              ; preds = %973, %969
  call void @llvm.lifetime.end.p0(i64 8, ptr %86) #5
  br label %978

978:                                              ; preds = %977, %965
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %85) #5
  br label %979

979:                                              ; preds = %978, %961
  call void @llvm.lifetime.end.p0(i64 8, ptr %85) #5
  br label %980

980:                                              ; preds = %979, %957
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %83) #5
  br label %981

981:                                              ; preds = %980, %953
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %84) #5
  br label %982

982:                                              ; preds = %981, %949
  call void @llvm.lifetime.end.p0(i64 8, ptr %84) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %83) #5
  br label %1485

983:                                              ; preds = %942, %940
  %984 = landingpad { ptr, i32 }
          cleanup
  %985 = extractvalue { ptr, i32 } %984, 0
  store ptr %985, ptr %5, align 8
  %986 = extractvalue { ptr, i32 } %984, 1
  store i32 %986, ptr %6, align 4
  br label %1485

987:                                              ; preds = %944, %937
  call void @llvm.lifetime.start.p0(i64 8, ptr %87) #5
  invoke void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %87)
          to label %988 unwind label %1016

988:                                              ; preds = %987
  call void @llvm.lifetime.start.p0(i64 8, ptr %88) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr %89) #5
  %989 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
          to label %990 unwind label %1020

990:                                              ; preds = %988
  invoke void @_ZNK10SimTKIpopt9IpoptData5trialEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.25") align 8 %89, ptr noundef nonnull align 8 dereferenceable(864) %989)
          to label %991 unwind label %1020

991:                                              ; preds = %990
  %992 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %89)
          to label %993 unwind label %1024

993:                                              ; preds = %991
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %88, ptr noundef nonnull align 8 dereferenceable(280) %992)
          to label %994 unwind label %1024

994:                                              ; preds = %993
  %995 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %88)
          to label %996 unwind label %1028

996:                                              ; preds = %994
  call void @llvm.lifetime.start.p0(i64 8, ptr %90) #5
  %997 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
          to label %998 unwind label %1032

998:                                              ; preds = %996
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities15trial_slack_s_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %90, ptr noundef nonnull align 8 dereferenceable(2025) %997)
          to label %999 unwind label %1032

999:                                              ; preds = %998
  %1000 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %90)
          to label %1001 unwind label %1036

1001:                                             ; preds = %999
  call void @llvm.lifetime.start.p0(i64 8, ptr %91) #5
  %1002 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
          to label %1003 unwind label %1040

1003:                                             ; preds = %1001
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities15trial_compl_s_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %91, ptr noundef nonnull align 8 dereferenceable(2025) %1002)
          to label %1004 unwind label %1040

1004:                                             ; preds = %1003
  %1005 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %91)
          to label %1006 unwind label %1044

1006:                                             ; preds = %1004
  %1007 = invoke noundef double @_ZN10SimTKIpopt14IpoptAlgorithm24correct_bound_multiplierERKNS_6VectorES3_S3_RNS_8SmartPtrIS2_EE(ptr noundef nonnull align 8 dereferenceable(152) %121, ptr noundef nonnull align 8 dereferenceable(205) %995, ptr noundef nonnull align 8 dereferenceable(205) %1000, ptr noundef nonnull align 8 dereferenceable(205) %1005, ptr noundef nonnull align 8 dereferenceable(8) %87)
          to label %1008 unwind label %1044

1008:                                             ; preds = %1006
  store double %1007, ptr %71, align 8, !tbaa !15
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %91) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %91) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %90) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %90) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %88) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %89) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %89) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %88) #5
  %1009 = load double, ptr %71, align 8, !tbaa !15
  %1010 = fcmp ogt double %1009, 0.000000e+00
  br i1 %1010, label %1011, label %1058

1011:                                             ; preds = %1008
  %1012 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5JnlstEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
          to label %1013 unwind label %1054

1013:                                             ; preds = %1011
  %1014 = load double, ptr %71, align 8, !tbaa !15
  invoke void (ptr, i32, i32, ptr, ...) @_ZNK10SimTKIpopt10Journalist6PrintfENS_13EJournalLevelENS_16EJournalCategoryEPKcz(ptr noundef nonnull align 8 dereferenceable(40) %1012, i32 noundef 5, i32 noundef 2, ptr noundef @.str.58, double noundef %1014)
          to label %1015 unwind label %1054

1015:                                             ; preds = %1013
  store i8 1, ptr %70, align 1, !tbaa !13
  br label %1058

1016:                                             ; preds = %987
  %1017 = landingpad { ptr, i32 }
          cleanup
  %1018 = extractvalue { ptr, i32 } %1017, 0
  store ptr %1018, ptr %5, align 8
  %1019 = extractvalue { ptr, i32 } %1017, 1
  store i32 %1019, ptr %6, align 4
  br label %1484

1020:                                             ; preds = %990, %988
  %1021 = landingpad { ptr, i32 }
          cleanup
  %1022 = extractvalue { ptr, i32 } %1021, 0
  store ptr %1022, ptr %5, align 8
  %1023 = extractvalue { ptr, i32 } %1021, 1
  store i32 %1023, ptr %6, align 4
  br label %1053

1024:                                             ; preds = %993, %991
  %1025 = landingpad { ptr, i32 }
          cleanup
  %1026 = extractvalue { ptr, i32 } %1025, 0
  store ptr %1026, ptr %5, align 8
  %1027 = extractvalue { ptr, i32 } %1025, 1
  store i32 %1027, ptr %6, align 4
  br label %1052

1028:                                             ; preds = %994
  %1029 = landingpad { ptr, i32 }
          cleanup
  %1030 = extractvalue { ptr, i32 } %1029, 0
  store ptr %1030, ptr %5, align 8
  %1031 = extractvalue { ptr, i32 } %1029, 1
  store i32 %1031, ptr %6, align 4
  br label %1051

1032:                                             ; preds = %998, %996
  %1033 = landingpad { ptr, i32 }
          cleanup
  %1034 = extractvalue { ptr, i32 } %1033, 0
  store ptr %1034, ptr %5, align 8
  %1035 = extractvalue { ptr, i32 } %1033, 1
  store i32 %1035, ptr %6, align 4
  br label %1050

1036:                                             ; preds = %999
  %1037 = landingpad { ptr, i32 }
          cleanup
  %1038 = extractvalue { ptr, i32 } %1037, 0
  store ptr %1038, ptr %5, align 8
  %1039 = extractvalue { ptr, i32 } %1037, 1
  store i32 %1039, ptr %6, align 4
  br label %1049

1040:                                             ; preds = %1003, %1001
  %1041 = landingpad { ptr, i32 }
          cleanup
  %1042 = extractvalue { ptr, i32 } %1041, 0
  store ptr %1042, ptr %5, align 8
  %1043 = extractvalue { ptr, i32 } %1041, 1
  store i32 %1043, ptr %6, align 4
  br label %1048

1044:                                             ; preds = %1006, %1004
  %1045 = landingpad { ptr, i32 }
          cleanup
  %1046 = extractvalue { ptr, i32 } %1045, 0
  store ptr %1046, ptr %5, align 8
  %1047 = extractvalue { ptr, i32 } %1045, 1
  store i32 %1047, ptr %6, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %91) #5
  br label %1048

1048:                                             ; preds = %1044, %1040
  call void @llvm.lifetime.end.p0(i64 8, ptr %91) #5
  br label %1049

1049:                                             ; preds = %1048, %1036
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %90) #5
  br label %1050

1050:                                             ; preds = %1049, %1032
  call void @llvm.lifetime.end.p0(i64 8, ptr %90) #5
  br label %1051

1051:                                             ; preds = %1050, %1028
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %88) #5
  br label %1052

1052:                                             ; preds = %1051, %1024
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %89) #5
  br label %1053

1053:                                             ; preds = %1052, %1020
  call void @llvm.lifetime.end.p0(i64 8, ptr %89) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %88) #5
  br label %1483

1054:                                             ; preds = %1013, %1011
  %1055 = landingpad { ptr, i32 }
          cleanup
  %1056 = extractvalue { ptr, i32 } %1055, 0
  store ptr %1056, ptr %5, align 8
  %1057 = extractvalue { ptr, i32 } %1055, 1
  store i32 %1057, ptr %6, align 4
  br label %1483

1058:                                             ; preds = %1015, %1008
  call void @llvm.lifetime.start.p0(i64 8, ptr %92) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr %93) #5
  %1059 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
          to label %1060 unwind label %1086

1060:                                             ; preds = %1058
  invoke void @_ZNK10SimTKIpopt9IpoptData5trialEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.25") align 8 %93, ptr noundef nonnull align 8 dereferenceable(864) %1059)
          to label %1061 unwind label %1086

1061:                                             ; preds = %1060
  %1062 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %93)
          to label %1063 unwind label %1090

1063:                                             ; preds = %1061
  invoke void @_ZNK10SimTKIpopt14IteratesVector16MakeNewContainerEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.45") align 8 %92, ptr noundef nonnull align 8 dereferenceable(280) %1062)
          to label %1064 unwind label %1090

1064:                                             ; preds = %1063
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %93) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %93) #5
  %1065 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %92)
          to label %1066 unwind label %1095

1066:                                             ; preds = %1064
  %1067 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %72)
          to label %1068 unwind label %1095

1068:                                             ; preds = %1066
  %1069 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %77)
          to label %1070 unwind label %1095

1070:                                             ; preds = %1068
  %1071 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %82)
          to label %1072 unwind label %1095

1072:                                             ; preds = %1070
  %1073 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %87)
          to label %1074 unwind label %1095

1074:                                             ; preds = %1072
  invoke void @_ZN10SimTKIpopt14IteratesVector14Set_bound_multERKNS_6VectorES3_S3_S3_(ptr noundef nonnull align 8 dereferenceable(280) %1065, ptr noundef nonnull align 8 dereferenceable(205) %1067, ptr noundef nonnull align 8 dereferenceable(205) %1069, ptr noundef nonnull align 8 dereferenceable(205) %1071, ptr noundef nonnull align 8 dereferenceable(205) %1073)
          to label %1075 unwind label %1095

1075:                                             ; preds = %1074
  %1076 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
          to label %1077 unwind label %1095

1077:                                             ; preds = %1075
  invoke void @_ZN10SimTKIpopt9IpoptData9set_trialERNS_8SmartPtrINS_14IteratesVectorEEE(ptr noundef nonnull align 8 dereferenceable(864) %1076, ptr noundef nonnull align 8 dereferenceable(8) %92)
          to label %1078 unwind label %1095

1078:                                             ; preds = %1077
  %1079 = load i8, ptr %70, align 1, !tbaa !13, !range !17, !noundef !18
  %1080 = trunc i8 %1079 to i1
  br i1 %1080, label %1081, label %1108

1081:                                             ; preds = %1078
  %1082 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
          to label %1083 unwind label %1095

1083:                                             ; preds = %1081
  call void @llvm.lifetime.start.p0(i64 32, ptr %94) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr %95) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %95) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %94, ptr noundef @.str.59, ptr noundef nonnull align 1 dereferenceable(1) %95)
          to label %1084 unwind label %1099

1084:                                             ; preds = %1083
  invoke void @_ZN10SimTKIpopt9IpoptData18Append_info_stringERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(864) %1082, ptr noundef nonnull align 8 dereferenceable(32) %94)
          to label %1085 unwind label %1103

1085:                                             ; preds = %1084
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %94) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %95) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %95) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %94) #5
  br label %1108

1086:                                             ; preds = %1060, %1058
  %1087 = landingpad { ptr, i32 }
          cleanup
  %1088 = extractvalue { ptr, i32 } %1087, 0
  store ptr %1088, ptr %5, align 8
  %1089 = extractvalue { ptr, i32 } %1087, 1
  store i32 %1089, ptr %6, align 4
  br label %1094

1090:                                             ; preds = %1063, %1061
  %1091 = landingpad { ptr, i32 }
          cleanup
  %1092 = extractvalue { ptr, i32 } %1091, 0
  store ptr %1092, ptr %5, align 8
  %1093 = extractvalue { ptr, i32 } %1091, 1
  store i32 %1093, ptr %6, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %93) #5
  br label %1094

1094:                                             ; preds = %1090, %1086
  call void @llvm.lifetime.end.p0(i64 8, ptr %93) #5
  br label %1482

1095:                                             ; preds = %1195, %1193, %1191, %1189, %1187, %1184, %1182, %1176, %1174, %1110, %1108, %1081, %1077, %1075, %1074, %1072, %1070, %1068, %1066, %1064
  %1096 = landingpad { ptr, i32 }
          cleanup
  %1097 = extractvalue { ptr, i32 } %1096, 0
  store ptr %1097, ptr %5, align 8
  %1098 = extractvalue { ptr, i32 } %1096, 1
  store i32 %1098, ptr %6, align 4
  br label %1481

1099:                                             ; preds = %1083
  %1100 = landingpad { ptr, i32 }
          cleanup
  %1101 = extractvalue { ptr, i32 } %1100, 0
  store ptr %1101, ptr %5, align 8
  %1102 = extractvalue { ptr, i32 } %1100, 1
  store i32 %1102, ptr %6, align 4
  br label %1107

1103:                                             ; preds = %1084
  %1104 = landingpad { ptr, i32 }
          cleanup
  %1105 = extractvalue { ptr, i32 } %1104, 0
  store ptr %1105, ptr %5, align 8
  %1106 = extractvalue { ptr, i32 } %1104, 1
  store i32 %1106, ptr %6, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %94) #5
  br label %1107

1107:                                             ; preds = %1103, %1099
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %95) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %95) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %94) #5
  br label %1481

1108:                                             ; preds = %1085, %1078
  %1109 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
          to label %1110 unwind label %1095

1110:                                             ; preds = %1108
  invoke void @_ZN10SimTKIpopt9IpoptData16AcceptTrialPointEv(ptr noundef nonnull align 8 dereferenceable(864) %1109)
          to label %1111 unwind label %1095

1111:                                             ; preds = %1110
  %1112 = getelementptr inbounds %"class.SimTKIpopt::IpoptAlgorithm", ptr %121, i32 0, i32 11
  %1113 = load i8, ptr %1112, align 8, !tbaa !19, !range !17, !noundef !18
  %1114 = trunc i8 %1113 to i1
  br i1 %1114, label %1115, label %1170

1115:                                             ; preds = %1111
  call void @llvm.lifetime.start.p0(i64 8, ptr %96) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr %97) #5
  %1116 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
          to label %1117 unwind label %1140

1117:                                             ; preds = %1115
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.25") align 8 %97, ptr noundef nonnull align 8 dereferenceable(864) %1116)
          to label %1118 unwind label %1140

1118:                                             ; preds = %1117
  %1119 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %97)
          to label %1120 unwind label %1144

1120:                                             ; preds = %1118
  invoke void @_ZNK10SimTKIpopt14IteratesVector3y_cEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %96, ptr noundef nonnull align 8 dereferenceable(280) %1119)
          to label %1121 unwind label %1144

1121:                                             ; preds = %1120
  %1122 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %96)
          to label %1123 unwind label %1148

1123:                                             ; preds = %1121
  %1124 = invoke noundef i32 @_ZNK10SimTKIpopt6Vector3DimEv(ptr noundef nonnull align 8 dereferenceable(205) %1122)
          to label %1125 unwind label %1148

1125:                                             ; preds = %1123
  call void @llvm.lifetime.start.p0(i64 8, ptr %98) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr %99) #5
  %1126 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
          to label %1127 unwind label %1152

1127:                                             ; preds = %1125
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.25") align 8 %99, ptr noundef nonnull align 8 dereferenceable(864) %1126)
          to label %1128 unwind label %1152

1128:                                             ; preds = %1127
  %1129 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %99)
          to label %1130 unwind label %1156

1130:                                             ; preds = %1128
  invoke void @_ZNK10SimTKIpopt14IteratesVector3y_dEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %98, ptr noundef nonnull align 8 dereferenceable(280) %1129)
          to label %1131 unwind label %1156

1131:                                             ; preds = %1130
  %1132 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %98)
          to label %1133 unwind label %1160

1133:                                             ; preds = %1131
  %1134 = invoke noundef i32 @_ZNK10SimTKIpopt6Vector3DimEv(ptr noundef nonnull align 8 dereferenceable(205) %1132)
          to label %1135 unwind label %1160

1135:                                             ; preds = %1133
  %1136 = add nsw i32 %1124, %1134
  %1137 = icmp eq i32 %1136, 0
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %98) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %99) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %99) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %98) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %96) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %97) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %97) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %96) #5
  br i1 %1137, label %1138, label %1169

1138:                                             ; preds = %1135
  %1139 = getelementptr inbounds %"class.SimTKIpopt::IpoptAlgorithm", ptr %121, i32 0, i32 11
  store i8 0, ptr %1139, align 8, !tbaa !19
  br label %1169

1140:                                             ; preds = %1117, %1115
  %1141 = landingpad { ptr, i32 }
          cleanup
  %1142 = extractvalue { ptr, i32 } %1141, 0
  store ptr %1142, ptr %5, align 8
  %1143 = extractvalue { ptr, i32 } %1141, 1
  store i32 %1143, ptr %6, align 4
  br label %1168

1144:                                             ; preds = %1120, %1118
  %1145 = landingpad { ptr, i32 }
          cleanup
  %1146 = extractvalue { ptr, i32 } %1145, 0
  store ptr %1146, ptr %5, align 8
  %1147 = extractvalue { ptr, i32 } %1145, 1
  store i32 %1147, ptr %6, align 4
  br label %1167

1148:                                             ; preds = %1123, %1121
  %1149 = landingpad { ptr, i32 }
          cleanup
  %1150 = extractvalue { ptr, i32 } %1149, 0
  store ptr %1150, ptr %5, align 8
  %1151 = extractvalue { ptr, i32 } %1149, 1
  store i32 %1151, ptr %6, align 4
  br label %1166

1152:                                             ; preds = %1127, %1125
  %1153 = landingpad { ptr, i32 }
          cleanup
  %1154 = extractvalue { ptr, i32 } %1153, 0
  store ptr %1154, ptr %5, align 8
  %1155 = extractvalue { ptr, i32 } %1153, 1
  store i32 %1155, ptr %6, align 4
  br label %1165

1156:                                             ; preds = %1130, %1128
  %1157 = landingpad { ptr, i32 }
          cleanup
  %1158 = extractvalue { ptr, i32 } %1157, 0
  store ptr %1158, ptr %5, align 8
  %1159 = extractvalue { ptr, i32 } %1157, 1
  store i32 %1159, ptr %6, align 4
  br label %1164

1160:                                             ; preds = %1133, %1131
  %1161 = landingpad { ptr, i32 }
          cleanup
  %1162 = extractvalue { ptr, i32 } %1161, 0
  store ptr %1162, ptr %5, align 8
  %1163 = extractvalue { ptr, i32 } %1161, 1
  store i32 %1163, ptr %6, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %98) #5
  br label %1164

1164:                                             ; preds = %1160, %1156
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %99) #5
  br label %1165

1165:                                             ; preds = %1164, %1152
  call void @llvm.lifetime.end.p0(i64 8, ptr %99) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %98) #5
  br label %1166

1166:                                             ; preds = %1165, %1148
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %96) #5
  br label %1167

1167:                                             ; preds = %1166, %1144
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %97) #5
  br label %1168

1168:                                             ; preds = %1167, %1140
  call void @llvm.lifetime.end.p0(i64 8, ptr %97) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %96) #5
  br label %1481

1169:                                             ; preds = %1138, %1135
  br label %1170

1170:                                             ; preds = %1169, %1111
  %1171 = getelementptr inbounds %"class.SimTKIpopt::IpoptAlgorithm", ptr %121, i32 0, i32 11
  %1172 = load i8, ptr %1171, align 8, !tbaa !19, !range !17, !noundef !18
  %1173 = trunc i8 %1172 to i1
  br i1 %1173, label %1174, label %1479

1174:                                             ; preds = %1170
  %1175 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
          to label %1176 unwind label %1095

1176:                                             ; preds = %1174
  %1177 = invoke noundef double @_ZN10SimTKIpopt25IpoptCalculatedQuantities25curr_constraint_violationEv(ptr noundef nonnull align 8 dereferenceable(2025) %1175)
          to label %1178 unwind label %1095

1178:                                             ; preds = %1176
  %1179 = getelementptr inbounds %"class.SimTKIpopt::IpoptAlgorithm", ptr %121, i32 0, i32 12
  %1180 = load double, ptr %1179, align 8, !tbaa !35
  %1181 = fcmp olt double %1177, %1180
  br i1 %1181, label %1182, label %1479

1182:                                             ; preds = %1178
  %1183 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5JnlstEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
          to label %1184 unwind label %1095

1184:                                             ; preds = %1182
  %1185 = invoke noundef zeroext i1 @_ZNK10SimTKIpopt10Journalist13ProduceOutputENS_13EJournalLevelENS_16EJournalCategoryE(ptr noundef nonnull align 8 dereferenceable(40) %1183, i32 noundef 6, i32 noundef 2)
          to label %1186 unwind label %1095

1186:                                             ; preds = %1184
  br i1 %1185, label %1187, label %1195

1187:                                             ; preds = %1186
  %1188 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5JnlstEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
          to label %1189 unwind label %1095

1189:                                             ; preds = %1187
  %1190 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
          to label %1191 unwind label %1095

1191:                                             ; preds = %1189
  %1192 = invoke noundef double @_ZN10SimTKIpopt25IpoptCalculatedQuantities23curr_dual_infeasibilityENS_9ENormTypeE(ptr noundef nonnull align 8 dereferenceable(2025) %1190, i32 noundef 2)
          to label %1193 unwind label %1095

1193:                                             ; preds = %1191
  invoke void (ptr, i32, i32, ptr, ...) @_ZNK10SimTKIpopt10Journalist6PrintfENS_13EJournalLevelENS_16EJournalCategoryEPKcz(ptr noundef nonnull align 8 dereferenceable(40) %1188, i32 noundef 6, i32 noundef 2, ptr noundef @.str.60, double noundef %1192)
          to label %1194 unwind label %1095

1194:                                             ; preds = %1193
  br label %1195

1195:                                             ; preds = %1194, %1186
  %1196 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
          to label %1197 unwind label %1095

1197:                                             ; preds = %1195
  call void @llvm.lifetime.start.p0(i64 32, ptr %100) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr %101) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %101) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %100, ptr noundef @.str.61, ptr noundef nonnull align 1 dereferenceable(1) %101)
          to label %1198 unwind label %1331

1198:                                             ; preds = %1197
  invoke void @_ZN10SimTKIpopt9IpoptData18Append_info_stringERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(864) %1196, ptr noundef nonnull align 8 dereferenceable(32) %100)
          to label %1199 unwind label %1335

1199:                                             ; preds = %1198
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %100) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %101) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %101) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %100) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr %102) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr %103) #5
  %1200 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
          to label %1201 unwind label %1340

1201:                                             ; preds = %1199
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.25") align 8 %103, ptr noundef nonnull align 8 dereferenceable(864) %1200)
          to label %1202 unwind label %1340

1202:                                             ; preds = %1201
  %1203 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %103)
          to label %1204 unwind label %1344

1204:                                             ; preds = %1202
  invoke void @_ZNK10SimTKIpopt14IteratesVector3y_cEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %102, ptr noundef nonnull align 8 dereferenceable(280) %1203)
          to label %1205 unwind label %1344

1205:                                             ; preds = %1204
  %1206 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %102)
          to label %1207 unwind label %1348

1207:                                             ; preds = %1205
  %1208 = invoke noundef i32 @_ZNK10SimTKIpopt6Vector3DimEv(ptr noundef nonnull align 8 dereferenceable(205) %1206)
          to label %1209 unwind label %1348

1209:                                             ; preds = %1207
  call void @llvm.lifetime.start.p0(i64 8, ptr %104) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr %105) #5
  %1210 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
          to label %1211 unwind label %1352

1211:                                             ; preds = %1209
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.25") align 8 %105, ptr noundef nonnull align 8 dereferenceable(864) %1210)
          to label %1212 unwind label %1352

1212:                                             ; preds = %1211
  %1213 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %105)
          to label %1214 unwind label %1356

1214:                                             ; preds = %1212
  invoke void @_ZNK10SimTKIpopt14IteratesVector3y_dEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %104, ptr noundef nonnull align 8 dereferenceable(280) %1213)
          to label %1215 unwind label %1356

1215:                                             ; preds = %1214
  %1216 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %104)
          to label %1217 unwind label %1360

1217:                                             ; preds = %1215
  %1218 = invoke noundef i32 @_ZNK10SimTKIpopt6Vector3DimEv(ptr noundef nonnull align 8 dereferenceable(205) %1216)
          to label %1219 unwind label %1360

1219:                                             ; preds = %1217
  %1220 = add nsw i32 %1208, %1218
  %1221 = icmp sgt i32 %1220, 0
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %104) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %105) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %105) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %104) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %102) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %103) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %103) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %102) #5
  br i1 %1221, label %1222, label %1478

1222:                                             ; preds = %1219
  call void @llvm.lifetime.start.p0(i64 8, ptr %106) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr %107) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr %108) #5
  %1223 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
          to label %1224 unwind label %1369

1224:                                             ; preds = %1222
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.25") align 8 %108, ptr noundef nonnull align 8 dereferenceable(864) %1223)
          to label %1225 unwind label %1369

1225:                                             ; preds = %1224
  %1226 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %108)
          to label %1227 unwind label %1373

1227:                                             ; preds = %1225
  invoke void @_ZNK10SimTKIpopt14IteratesVector3y_cEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %107, ptr noundef nonnull align 8 dereferenceable(280) %1226)
          to label %1228 unwind label %1373

1228:                                             ; preds = %1227
  %1229 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %107)
          to label %1230 unwind label %1377

1230:                                             ; preds = %1228
  %1231 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector7MakeNewEv(ptr noundef nonnull align 8 dereferenceable(205) %1229)
          to label %1232 unwind label %1377

1232:                                             ; preds = %1230
  invoke void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8) %106, ptr noundef %1231)
          to label %1233 unwind label %1377

1233:                                             ; preds = %1232
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %107) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %108) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %108) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %107) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr %109) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr %110) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr %111) #5
  %1234 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
          to label %1235 unwind label %1383

1235:                                             ; preds = %1233
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.25") align 8 %111, ptr noundef nonnull align 8 dereferenceable(864) %1234)
          to label %1236 unwind label %1383

1236:                                             ; preds = %1235
  %1237 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %111)
          to label %1238 unwind label %1387

1238:                                             ; preds = %1236
  invoke void @_ZNK10SimTKIpopt14IteratesVector3y_dEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %110, ptr noundef nonnull align 8 dereferenceable(280) %1237)
          to label %1239 unwind label %1387

1239:                                             ; preds = %1238
  %1240 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %110)
          to label %1241 unwind label %1391

1241:                                             ; preds = %1239
  %1242 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector7MakeNewEv(ptr noundef nonnull align 8 dereferenceable(205) %1240)
          to label %1243 unwind label %1391

1243:                                             ; preds = %1241
  invoke void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8) %109, ptr noundef %1242)
          to label %1244 unwind label %1391

1244:                                             ; preds = %1243
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %110) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %111) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %111) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %110) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr %112) #5
  %1245 = getelementptr inbounds %"class.SimTKIpopt::IpoptAlgorithm", ptr %121, i32 0, i32 8
  %1246 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_22EqMultiplierCalculatorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1245)
          to label %1247 unwind label %1397

1247:                                             ; preds = %1244
  %1248 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %106)
          to label %1249 unwind label %1397

1249:                                             ; preds = %1247
  %1250 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %109)
          to label %1251 unwind label %1397

1251:                                             ; preds = %1249
  %1252 = load ptr, ptr %1246, align 8, !tbaa !9
  %1253 = getelementptr inbounds ptr, ptr %1252, i64 3
  %1254 = load ptr, ptr %1253, align 8
  %1255 = invoke noundef zeroext i1 %1254(ptr noundef nonnull align 8 dereferenceable(49) %1246, ptr noundef nonnull align 8 dereferenceable(205) %1248, ptr noundef nonnull align 8 dereferenceable(205) %1250)
          to label %1256 unwind label %1397

1256:                                             ; preds = %1251
  %1257 = zext i1 %1255 to i8
  store i8 %1257, ptr %112, align 1, !tbaa !13
  %1258 = load i8, ptr %112, align 1, !tbaa !13, !range !17, !noundef !18
  %1259 = trunc i8 %1258 to i1
  br i1 %1259, label %1260, label %1470

1260:                                             ; preds = %1256
  call void @llvm.lifetime.start.p0(i64 8, ptr %113) #5
  %1261 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
          to label %1262 unwind label %1401

1262:                                             ; preds = %1260
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.25") align 8 %113, ptr noundef nonnull align 8 dereferenceable(864) %1261)
          to label %1263 unwind label %1401

1263:                                             ; preds = %1262
  call void @llvm.lifetime.start.p0(i64 8, ptr %114) #5
  %1264 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %113)
          to label %1265 unwind label %1405

1265:                                             ; preds = %1263
  invoke void @_ZNK10SimTKIpopt14IteratesVector16MakeNewContainerEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.45") align 8 %114, ptr noundef nonnull align 8 dereferenceable(280) %1264)
          to label %1266 unwind label %1405

1266:                                             ; preds = %1265
  %1267 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %114)
          to label %1268 unwind label %1409

1268:                                             ; preds = %1266
  call void @llvm.lifetime.start.p0(i64 8, ptr %115) #5
  %1269 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %113)
          to label %1270 unwind label %1413

1270:                                             ; preds = %1268
  invoke void @_ZNK10SimTKIpopt14IteratesVector1xEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %115, ptr noundef nonnull align 8 dereferenceable(280) %1269)
          to label %1271 unwind label %1413

1271:                                             ; preds = %1270
  %1272 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %115)
          to label %1273 unwind label %1417

1273:                                             ; preds = %1271
  invoke void @_ZN10SimTKIpopt14IteratesVector5Set_xERKNS_6VectorE(ptr noundef nonnull align 8 dereferenceable(280) %1267, ptr noundef nonnull align 8 dereferenceable(205) %1272)
          to label %1274 unwind label %1417

1274:                                             ; preds = %1273
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %115) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %115) #5
  %1275 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %114)
          to label %1276 unwind label %1409

1276:                                             ; preds = %1274
  call void @llvm.lifetime.start.p0(i64 8, ptr %116) #5
  %1277 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %113)
          to label %1278 unwind label %1422

1278:                                             ; preds = %1276
  invoke void @_ZNK10SimTKIpopt14IteratesVector1sEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %116, ptr noundef nonnull align 8 dereferenceable(280) %1277)
          to label %1279 unwind label %1422

1279:                                             ; preds = %1278
  %1280 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %116)
          to label %1281 unwind label %1426

1281:                                             ; preds = %1279
  invoke void @_ZN10SimTKIpopt14IteratesVector5Set_sERKNS_6VectorE(ptr noundef nonnull align 8 dereferenceable(280) %1275, ptr noundef nonnull align 8 dereferenceable(205) %1280)
          to label %1282 unwind label %1426

1282:                                             ; preds = %1281
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %116) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %116) #5
  %1283 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %114)
          to label %1284 unwind label %1409

1284:                                             ; preds = %1282
  call void @llvm.lifetime.start.p0(i64 8, ptr %117) #5
  %1285 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %113)
          to label %1286 unwind label %1431

1286:                                             ; preds = %1284
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_LEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %117, ptr noundef nonnull align 8 dereferenceable(280) %1285)
          to label %1287 unwind label %1431

1287:                                             ; preds = %1286
  %1288 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %117)
          to label %1289 unwind label %1435

1289:                                             ; preds = %1287
  invoke void @_ZN10SimTKIpopt14IteratesVector7Set_z_LERKNS_6VectorE(ptr noundef nonnull align 8 dereferenceable(280) %1283, ptr noundef nonnull align 8 dereferenceable(205) %1288)
          to label %1290 unwind label %1435

1290:                                             ; preds = %1289
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %117) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %117) #5
  %1291 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %114)
          to label %1292 unwind label %1409

1292:                                             ; preds = %1290
  call void @llvm.lifetime.start.p0(i64 8, ptr %118) #5
  %1293 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %113)
          to label %1294 unwind label %1440

1294:                                             ; preds = %1292
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %118, ptr noundef nonnull align 8 dereferenceable(280) %1293)
          to label %1295 unwind label %1440

1295:                                             ; preds = %1294
  %1296 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %118)
          to label %1297 unwind label %1444

1297:                                             ; preds = %1295
  invoke void @_ZN10SimTKIpopt14IteratesVector7Set_z_UERKNS_6VectorE(ptr noundef nonnull align 8 dereferenceable(280) %1291, ptr noundef nonnull align 8 dereferenceable(205) %1296)
          to label %1298 unwind label %1444

1298:                                             ; preds = %1297
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %118) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %118) #5
  %1299 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %114)
          to label %1300 unwind label %1409

1300:                                             ; preds = %1298
  call void @llvm.lifetime.start.p0(i64 8, ptr %119) #5
  %1301 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %113)
          to label %1302 unwind label %1449

1302:                                             ; preds = %1300
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_LEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %119, ptr noundef nonnull align 8 dereferenceable(280) %1301)
          to label %1303 unwind label %1449

1303:                                             ; preds = %1302
  %1304 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %119)
          to label %1305 unwind label %1453

1305:                                             ; preds = %1303
  invoke void @_ZN10SimTKIpopt14IteratesVector7Set_v_LERKNS_6VectorE(ptr noundef nonnull align 8 dereferenceable(280) %1299, ptr noundef nonnull align 8 dereferenceable(205) %1304)
          to label %1306 unwind label %1453

1306:                                             ; preds = %1305
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %119) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %119) #5
  %1307 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %114)
          to label %1308 unwind label %1409

1308:                                             ; preds = %1306
  call void @llvm.lifetime.start.p0(i64 8, ptr %120) #5
  %1309 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %113)
          to label %1310 unwind label %1458

1310:                                             ; preds = %1308
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %120, ptr noundef nonnull align 8 dereferenceable(280) %1309)
          to label %1311 unwind label %1458

1311:                                             ; preds = %1310
  %1312 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %120)
          to label %1313 unwind label %1462

1313:                                             ; preds = %1311
  invoke void @_ZN10SimTKIpopt14IteratesVector7Set_v_UERKNS_6VectorE(ptr noundef nonnull align 8 dereferenceable(280) %1307, ptr noundef nonnull align 8 dereferenceable(205) %1312)
          to label %1314 unwind label %1462

1314:                                             ; preds = %1313
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %120) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %120) #5
  %1315 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %114)
          to label %1316 unwind label %1409

1316:                                             ; preds = %1314
  %1317 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %106)
          to label %1318 unwind label %1409

1318:                                             ; preds = %1316
  invoke void @_ZN10SimTKIpopt14IteratesVector7Set_y_cERKNS_6VectorE(ptr noundef nonnull align 8 dereferenceable(280) %1315, ptr noundef nonnull align 8 dereferenceable(205) %1317)
          to label %1319 unwind label %1409

1319:                                             ; preds = %1318
  %1320 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %114)
          to label %1321 unwind label %1409

1321:                                             ; preds = %1319
  %1322 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %109)
          to label %1323 unwind label %1409

1323:                                             ; preds = %1321
  invoke void @_ZN10SimTKIpopt14IteratesVector7Set_y_dERKNS_6VectorE(ptr noundef nonnull align 8 dereferenceable(280) %1320, ptr noundef nonnull align 8 dereferenceable(205) %1322)
          to label %1324 unwind label %1409

1324:                                             ; preds = %1323
  %1325 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
          to label %1326 unwind label %1409

1326:                                             ; preds = %1324
  invoke void @_ZN10SimTKIpopt9IpoptData9set_trialERNS_8SmartPtrINS_14IteratesVectorEEE(ptr noundef nonnull align 8 dereferenceable(864) %1325, ptr noundef nonnull align 8 dereferenceable(8) %114)
          to label %1327 unwind label %1409

1327:                                             ; preds = %1326
  %1328 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
          to label %1329 unwind label %1409

1329:                                             ; preds = %1327
  invoke void @_ZN10SimTKIpopt9IpoptData16AcceptTrialPointEv(ptr noundef nonnull align 8 dereferenceable(864) %1328)
          to label %1330 unwind label %1409

1330:                                             ; preds = %1329
  call void @_ZN10SimTKIpopt8SmartPtrINS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %114) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %114) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %113) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %113) #5
  br label %1474

1331:                                             ; preds = %1197
  %1332 = landingpad { ptr, i32 }
          cleanup
  %1333 = extractvalue { ptr, i32 } %1332, 0
  store ptr %1333, ptr %5, align 8
  %1334 = extractvalue { ptr, i32 } %1332, 1
  store i32 %1334, ptr %6, align 4
  br label %1339

1335:                                             ; preds = %1198
  %1336 = landingpad { ptr, i32 }
          cleanup
  %1337 = extractvalue { ptr, i32 } %1336, 0
  store ptr %1337, ptr %5, align 8
  %1338 = extractvalue { ptr, i32 } %1336, 1
  store i32 %1338, ptr %6, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %100) #5
  br label %1339

1339:                                             ; preds = %1335, %1331
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %101) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %101) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %100) #5
  br label %1481

1340:                                             ; preds = %1201, %1199
  %1341 = landingpad { ptr, i32 }
          cleanup
  %1342 = extractvalue { ptr, i32 } %1341, 0
  store ptr %1342, ptr %5, align 8
  %1343 = extractvalue { ptr, i32 } %1341, 1
  store i32 %1343, ptr %6, align 4
  br label %1368

1344:                                             ; preds = %1204, %1202
  %1345 = landingpad { ptr, i32 }
          cleanup
  %1346 = extractvalue { ptr, i32 } %1345, 0
  store ptr %1346, ptr %5, align 8
  %1347 = extractvalue { ptr, i32 } %1345, 1
  store i32 %1347, ptr %6, align 4
  br label %1367

1348:                                             ; preds = %1207, %1205
  %1349 = landingpad { ptr, i32 }
          cleanup
  %1350 = extractvalue { ptr, i32 } %1349, 0
  store ptr %1350, ptr %5, align 8
  %1351 = extractvalue { ptr, i32 } %1349, 1
  store i32 %1351, ptr %6, align 4
  br label %1366

1352:                                             ; preds = %1211, %1209
  %1353 = landingpad { ptr, i32 }
          cleanup
  %1354 = extractvalue { ptr, i32 } %1353, 0
  store ptr %1354, ptr %5, align 8
  %1355 = extractvalue { ptr, i32 } %1353, 1
  store i32 %1355, ptr %6, align 4
  br label %1365

1356:                                             ; preds = %1214, %1212
  %1357 = landingpad { ptr, i32 }
          cleanup
  %1358 = extractvalue { ptr, i32 } %1357, 0
  store ptr %1358, ptr %5, align 8
  %1359 = extractvalue { ptr, i32 } %1357, 1
  store i32 %1359, ptr %6, align 4
  br label %1364

1360:                                             ; preds = %1217, %1215
  %1361 = landingpad { ptr, i32 }
          cleanup
  %1362 = extractvalue { ptr, i32 } %1361, 0
  store ptr %1362, ptr %5, align 8
  %1363 = extractvalue { ptr, i32 } %1361, 1
  store i32 %1363, ptr %6, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %104) #5
  br label %1364

1364:                                             ; preds = %1360, %1356
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %105) #5
  br label %1365

1365:                                             ; preds = %1364, %1352
  call void @llvm.lifetime.end.p0(i64 8, ptr %105) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %104) #5
  br label %1366

1366:                                             ; preds = %1365, %1348
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %102) #5
  br label %1367

1367:                                             ; preds = %1366, %1344
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %103) #5
  br label %1368

1368:                                             ; preds = %1367, %1340
  call void @llvm.lifetime.end.p0(i64 8, ptr %103) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %102) #5
  br label %1481

1369:                                             ; preds = %1224, %1222
  %1370 = landingpad { ptr, i32 }
          cleanup
  %1371 = extractvalue { ptr, i32 } %1370, 0
  store ptr %1371, ptr %5, align 8
  %1372 = extractvalue { ptr, i32 } %1370, 1
  store i32 %1372, ptr %6, align 4
  br label %1382

1373:                                             ; preds = %1227, %1225
  %1374 = landingpad { ptr, i32 }
          cleanup
  %1375 = extractvalue { ptr, i32 } %1374, 0
  store ptr %1375, ptr %5, align 8
  %1376 = extractvalue { ptr, i32 } %1374, 1
  store i32 %1376, ptr %6, align 4
  br label %1381

1377:                                             ; preds = %1232, %1230, %1228
  %1378 = landingpad { ptr, i32 }
          cleanup
  %1379 = extractvalue { ptr, i32 } %1378, 0
  store ptr %1379, ptr %5, align 8
  %1380 = extractvalue { ptr, i32 } %1378, 1
  store i32 %1380, ptr %6, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %107) #5
  br label %1381

1381:                                             ; preds = %1377, %1373
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %108) #5
  br label %1382

1382:                                             ; preds = %1381, %1369
  call void @llvm.lifetime.end.p0(i64 8, ptr %108) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %107) #5
  br label %1477

1383:                                             ; preds = %1235, %1233
  %1384 = landingpad { ptr, i32 }
          cleanup
  %1385 = extractvalue { ptr, i32 } %1384, 0
  store ptr %1385, ptr %5, align 8
  %1386 = extractvalue { ptr, i32 } %1384, 1
  store i32 %1386, ptr %6, align 4
  br label %1396

1387:                                             ; preds = %1238, %1236
  %1388 = landingpad { ptr, i32 }
          cleanup
  %1389 = extractvalue { ptr, i32 } %1388, 0
  store ptr %1389, ptr %5, align 8
  %1390 = extractvalue { ptr, i32 } %1388, 1
  store i32 %1390, ptr %6, align 4
  br label %1395

1391:                                             ; preds = %1243, %1241, %1239
  %1392 = landingpad { ptr, i32 }
          cleanup
  %1393 = extractvalue { ptr, i32 } %1392, 0
  store ptr %1393, ptr %5, align 8
  %1394 = extractvalue { ptr, i32 } %1392, 1
  store i32 %1394, ptr %6, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %110) #5
  br label %1395

1395:                                             ; preds = %1391, %1387
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %111) #5
  br label %1396

1396:                                             ; preds = %1395, %1383
  call void @llvm.lifetime.end.p0(i64 8, ptr %111) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %110) #5
  br label %1476

1397:                                             ; preds = %1472, %1470, %1251, %1249, %1247, %1244
  %1398 = landingpad { ptr, i32 }
          cleanup
  %1399 = extractvalue { ptr, i32 } %1398, 0
  store ptr %1399, ptr %5, align 8
  %1400 = extractvalue { ptr, i32 } %1398, 1
  store i32 %1400, ptr %6, align 4
  br label %1475

1401:                                             ; preds = %1262, %1260
  %1402 = landingpad { ptr, i32 }
          cleanup
  %1403 = extractvalue { ptr, i32 } %1402, 0
  store ptr %1403, ptr %5, align 8
  %1404 = extractvalue { ptr, i32 } %1402, 1
  store i32 %1404, ptr %6, align 4
  br label %1469

1405:                                             ; preds = %1265, %1263
  %1406 = landingpad { ptr, i32 }
          cleanup
  %1407 = extractvalue { ptr, i32 } %1406, 0
  store ptr %1407, ptr %5, align 8
  %1408 = extractvalue { ptr, i32 } %1406, 1
  store i32 %1408, ptr %6, align 4
  br label %1468

1409:                                             ; preds = %1329, %1327, %1326, %1324, %1323, %1321, %1319, %1318, %1316, %1314, %1306, %1298, %1290, %1282, %1274, %1266
  %1410 = landingpad { ptr, i32 }
          cleanup
  %1411 = extractvalue { ptr, i32 } %1410, 0
  store ptr %1411, ptr %5, align 8
  %1412 = extractvalue { ptr, i32 } %1410, 1
  store i32 %1412, ptr %6, align 4
  br label %1467

1413:                                             ; preds = %1270, %1268
  %1414 = landingpad { ptr, i32 }
          cleanup
  %1415 = extractvalue { ptr, i32 } %1414, 0
  store ptr %1415, ptr %5, align 8
  %1416 = extractvalue { ptr, i32 } %1414, 1
  store i32 %1416, ptr %6, align 4
  br label %1421

1417:                                             ; preds = %1273, %1271
  %1418 = landingpad { ptr, i32 }
          cleanup
  %1419 = extractvalue { ptr, i32 } %1418, 0
  store ptr %1419, ptr %5, align 8
  %1420 = extractvalue { ptr, i32 } %1418, 1
  store i32 %1420, ptr %6, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %115) #5
  br label %1421

1421:                                             ; preds = %1417, %1413
  call void @llvm.lifetime.end.p0(i64 8, ptr %115) #5
  br label %1467

1422:                                             ; preds = %1278, %1276
  %1423 = landingpad { ptr, i32 }
          cleanup
  %1424 = extractvalue { ptr, i32 } %1423, 0
  store ptr %1424, ptr %5, align 8
  %1425 = extractvalue { ptr, i32 } %1423, 1
  store i32 %1425, ptr %6, align 4
  br label %1430

1426:                                             ; preds = %1281, %1279
  %1427 = landingpad { ptr, i32 }
          cleanup
  %1428 = extractvalue { ptr, i32 } %1427, 0
  store ptr %1428, ptr %5, align 8
  %1429 = extractvalue { ptr, i32 } %1427, 1
  store i32 %1429, ptr %6, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %116) #5
  br label %1430

1430:                                             ; preds = %1426, %1422
  call void @llvm.lifetime.end.p0(i64 8, ptr %116) #5
  br label %1467

1431:                                             ; preds = %1286, %1284
  %1432 = landingpad { ptr, i32 }
          cleanup
  %1433 = extractvalue { ptr, i32 } %1432, 0
  store ptr %1433, ptr %5, align 8
  %1434 = extractvalue { ptr, i32 } %1432, 1
  store i32 %1434, ptr %6, align 4
  br label %1439

1435:                                             ; preds = %1289, %1287
  %1436 = landingpad { ptr, i32 }
          cleanup
  %1437 = extractvalue { ptr, i32 } %1436, 0
  store ptr %1437, ptr %5, align 8
  %1438 = extractvalue { ptr, i32 } %1436, 1
  store i32 %1438, ptr %6, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %117) #5
  br label %1439

1439:                                             ; preds = %1435, %1431
  call void @llvm.lifetime.end.p0(i64 8, ptr %117) #5
  br label %1467

1440:                                             ; preds = %1294, %1292
  %1441 = landingpad { ptr, i32 }
          cleanup
  %1442 = extractvalue { ptr, i32 } %1441, 0
  store ptr %1442, ptr %5, align 8
  %1443 = extractvalue { ptr, i32 } %1441, 1
  store i32 %1443, ptr %6, align 4
  br label %1448

1444:                                             ; preds = %1297, %1295
  %1445 = landingpad { ptr, i32 }
          cleanup
  %1446 = extractvalue { ptr, i32 } %1445, 0
  store ptr %1446, ptr %5, align 8
  %1447 = extractvalue { ptr, i32 } %1445, 1
  store i32 %1447, ptr %6, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %118) #5
  br label %1448

1448:                                             ; preds = %1444, %1440
  call void @llvm.lifetime.end.p0(i64 8, ptr %118) #5
  br label %1467

1449:                                             ; preds = %1302, %1300
  %1450 = landingpad { ptr, i32 }
          cleanup
  %1451 = extractvalue { ptr, i32 } %1450, 0
  store ptr %1451, ptr %5, align 8
  %1452 = extractvalue { ptr, i32 } %1450, 1
  store i32 %1452, ptr %6, align 4
  br label %1457

1453:                                             ; preds = %1305, %1303
  %1454 = landingpad { ptr, i32 }
          cleanup
  %1455 = extractvalue { ptr, i32 } %1454, 0
  store ptr %1455, ptr %5, align 8
  %1456 = extractvalue { ptr, i32 } %1454, 1
  store i32 %1456, ptr %6, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %119) #5
  br label %1457

1457:                                             ; preds = %1453, %1449
  call void @llvm.lifetime.end.p0(i64 8, ptr %119) #5
  br label %1467

1458:                                             ; preds = %1310, %1308
  %1459 = landingpad { ptr, i32 }
          cleanup
  %1460 = extractvalue { ptr, i32 } %1459, 0
  store ptr %1460, ptr %5, align 8
  %1461 = extractvalue { ptr, i32 } %1459, 1
  store i32 %1461, ptr %6, align 4
  br label %1466

1462:                                             ; preds = %1313, %1311
  %1463 = landingpad { ptr, i32 }
          cleanup
  %1464 = extractvalue { ptr, i32 } %1463, 0
  store ptr %1464, ptr %5, align 8
  %1465 = extractvalue { ptr, i32 } %1463, 1
  store i32 %1465, ptr %6, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %120) #5
  br label %1466

1466:                                             ; preds = %1462, %1458
  call void @llvm.lifetime.end.p0(i64 8, ptr %120) #5
  br label %1467

1467:                                             ; preds = %1466, %1457, %1448, %1439, %1430, %1421, %1409
  call void @_ZN10SimTKIpopt8SmartPtrINS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %114) #5
  br label %1468

1468:                                             ; preds = %1467, %1405
  call void @llvm.lifetime.end.p0(i64 8, ptr %114) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %113) #5
  br label %1469

1469:                                             ; preds = %1468, %1401
  call void @llvm.lifetime.end.p0(i64 8, ptr %113) #5
  br label %1475

1470:                                             ; preds = %1256
  %1471 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5JnlstEv(ptr noundef nonnull align 8 dereferenceable(49) %121)
          to label %1472 unwind label %1397

1472:                                             ; preds = %1470
  invoke void (ptr, i32, i32, ptr, ...) @_ZNK10SimTKIpopt10Journalist6PrintfENS_13EJournalLevelENS_16EJournalCategoryEPKcz(ptr noundef nonnull align 8 dereferenceable(40) %1471, i32 noundef 5, i32 noundef 2, ptr noundef @.str.62)
          to label %1473 unwind label %1397

1473:                                             ; preds = %1472
  br label %1474

1474:                                             ; preds = %1473, %1330
  call void @llvm.lifetime.end.p0(i64 1, ptr %112) #5
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %109) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %109) #5
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %106) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %106) #5
  br label %1478

1475:                                             ; preds = %1469, %1397
  call void @llvm.lifetime.end.p0(i64 1, ptr %112) #5
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %109) #5
  br label %1476

1476:                                             ; preds = %1475, %1396
  call void @llvm.lifetime.end.p0(i64 8, ptr %109) #5
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %106) #5
  br label %1477

1477:                                             ; preds = %1476, %1382
  call void @llvm.lifetime.end.p0(i64 8, ptr %106) #5
  br label %1481

1478:                                             ; preds = %1474, %1219
  br label %1479

1479:                                             ; preds = %1478, %1178, %1170
  call void @_ZN10SimTKIpopt8SmartPtrINS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %92) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %92) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %87) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %87) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %82) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %82) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %77) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %77) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %72) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %72) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %71) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %70) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %3) #5
  br label %1480

1480:                                             ; preds = %1479, %128
  ret void

1481:                                             ; preds = %1477, %1368, %1339, %1168, %1107, %1095
  call void @_ZN10SimTKIpopt8SmartPtrINS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %92) #5
  br label %1482

1482:                                             ; preds = %1481, %1094
  call void @llvm.lifetime.end.p0(i64 8, ptr %92) #5
  br label %1483

1483:                                             ; preds = %1482, %1054, %1053
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %87) #5
  br label %1484

1484:                                             ; preds = %1483, %1016
  call void @llvm.lifetime.end.p0(i64 8, ptr %87) #5
  br label %1485

1485:                                             ; preds = %1484, %983, %982
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %82) #5
  br label %1486

1486:                                             ; preds = %1485, %945
  call void @llvm.lifetime.end.p0(i64 8, ptr %82) #5
  br label %1487

1487:                                             ; preds = %1486, %912, %911
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %77) #5
  br label %1488

1488:                                             ; preds = %1487, %874
  call void @llvm.lifetime.end.p0(i64 8, ptr %77) #5
  br label %1489

1489:                                             ; preds = %1488, %841, %840
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %72) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %72) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %71) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %70) #5
  br label %1490

1490:                                             ; preds = %1489, %778, %272, %253, %234, %215
  call void @llvm.lifetime.end.p0(i64 4, ptr %3) #5
  br label %1491

1491:                                             ; preds = %1490
  %1492 = load ptr, ptr %5, align 8
  %1493 = load i32, ptr %6, align 4
  %1494 = insertvalue { ptr, i32 } poison, ptr %1492, 0
  %1495 = insertvalue { ptr, i32 } %1494, i32 %1493, 1
  resume { ptr, i32 } %1495
}

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind noalias writable sret(%"class.SimTKIpopt::SmartPtr.25") align 8, ptr noundef nonnull align 8 dereferenceable(864)) #4 align 2

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

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

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

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

; 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)) #2 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)) #1 align 2

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

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)) #3

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

declare noundef i32 @_ZN10SimTKIpopt25IpoptCalculatedQuantities19AdjustedTrialSlacksEv(ptr noundef nonnull align 8 dereferenceable(2025)) #3

declare void @_ZN10SimTKIpopt25IpoptCalculatedQuantities24ResetAdjustedTrialSlacksEv(ptr noundef nonnull align 8 dereferenceable(2025)) #3

declare noundef zeroext i1 @_ZNK10SimTKIpopt10Journalist13ProduceOutputENS_13EJournalLevelENS_16EJournalCategoryE(ptr noundef nonnull align 8 dereferenceable(40), i32 noundef, i32 noundef) #3

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6MatrixEEptEv(ptr noundef nonnull align 8 dereferenceable(8)) #1 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)) #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZNK10SimTKIpopt9IpoptData5trialEv(ptr dead_on_unwind noalias writable sret(%"class.SimTKIpopt::SmartPtr.25") align 8, ptr noundef nonnull align 8 dereferenceable(864)) #4 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNK10SimTKIpopt14IteratesVector1xEv(ptr dead_on_unwind noalias writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8, ptr noundef nonnull align 8 dereferenceable(280)) #2 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)) #1 align 2

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

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

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef double @_ZN10SimTKIpopt14IpoptAlgorithm24correct_bound_multiplierERKNS_6VectorES3_S3_RNS_8SmartPtrIS2_EE(ptr noundef nonnull align 8 dereferenceable(152), 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(8)) #2 align 2

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN10SimTKIpopt14IteratesVector14Set_bound_multERKNS_6VectorES3_S3_S3_(ptr noundef nonnull align 8 dereferenceable(280), 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)) #2 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN10SimTKIpopt9IpoptData9set_trialERNS_8SmartPtrINS_14IteratesVectorEEE(ptr noundef nonnull align 8 dereferenceable(864), ptr noundef nonnull align 8 dereferenceable(8)) #4 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)) #2 align 2

declare void @_ZN10SimTKIpopt9IpoptData16AcceptTrialPointEv(ptr noundef nonnull align 8 dereferenceable(864)) #3

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

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

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

declare noundef double @_ZN10SimTKIpopt25IpoptCalculatedQuantities25curr_constraint_violationEv(ptr noundef nonnull align 8 dereferenceable(2025)) #3

declare noundef double @_ZN10SimTKIpopt25IpoptCalculatedQuantities23curr_dual_infeasibilityENS_9ENormTypeE(ptr noundef nonnull align 8 dereferenceable(2025), i32 noundef) #3

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

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

attributes #0 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { inlinehint mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { 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 = !{!"vtable pointer", !8, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"int", !7, i64 0}
!13 = !{!14, !14, i64 0}
!14 = !{!"bool", !7, i64 0}
!15 = !{!16, !16, i64 0}
!16 = !{!"double", !7, i64 0}
!17 = !{i8 0, i8 2}
!18 = !{}
!19 = !{!20, !14, i64 136}
!20 = !{!"_ZTSN10SimTKIpopt14IpoptAlgorithmE", !21, i64 0, !27, i64 56, !28, i64 64, !29, i64 72, !30, i64 80, !31, i64 88, !32, i64 96, !33, i64 104, !34, i64 112, !14, i64 120, !16, i64 128, !14, i64 136, !16, i64 144}
!21 = !{!"_ZTSN10SimTKIpopt23AlgorithmStrategyObjectE", !22, i64 0, !23, i64 16, !24, i64 24, !25, i64 32, !26, i64 40, !14, i64 48}
!22 = !{!"_ZTSN10SimTKIpopt16ReferencedObjectE", !12, i64 8}
!23 = !{!"_ZTSN10SimTKIpopt8SmartPtrIKNS_10JournalistEEE", !6, i64 0}
!24 = !{!"_ZTSN10SimTKIpopt8SmartPtrINS_8IpoptNLPEEE", !6, i64 0}
!25 = !{!"_ZTSN10SimTKIpopt8SmartPtrINS_9IpoptDataEEE", !6, i64 0}
!26 = !{!"_ZTSN10SimTKIpopt8SmartPtrINS_25IpoptCalculatedQuantitiesEEE", !6, i64 0}
!27 = !{!"_ZTSN10SimTKIpopt8SmartPtrINS_14PDSystemSolverEEE", !6, i64 0}
!28 = !{!"_ZTSN10SimTKIpopt8SmartPtrINS_10LineSearchEEE", !6, i64 0}
!29 = !{!"_ZTSN10SimTKIpopt8SmartPtrINS_8MuUpdateEEE", !6, i64 0}
!30 = !{!"_ZTSN10SimTKIpopt8SmartPtrINS_16ConvergenceCheckEEE", !6, i64 0}
!31 = !{!"_ZTSN10SimTKIpopt8SmartPtrINS_18IterateInitializerEEE", !6, i64 0}
!32 = !{!"_ZTSN10SimTKIpopt8SmartPtrINS_15IterationOutputEEE", !6, i64 0}
!33 = !{!"_ZTSN10SimTKIpopt8SmartPtrINS_14HessianUpdaterEEE", !6, i64 0}
!34 = !{!"_ZTSN10SimTKIpopt8SmartPtrINS_22EqMultiplierCalculatorEEE", !6, i64 0}
!35 = !{!20, !16, i64 144}


; 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.56" = 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.19" = type { i8 }
%"class.SimTKIpopt::SmartPtr.43" = type { ptr }
%"class.SimTKIpopt::SmartPtr.57" = type { ptr }
%"class.SimTKIpopt::SmartPtr.25" = type { ptr }
%"class.SimTKIpopt::SmartPtr.45" = type { ptr }

@.str.41 = external hidden unnamed_addr constant [1 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [77 x i8], align 1

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

declare i32 @__gxx_personality_v0(...)

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49)) local_unnamed_addr #2 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 #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 #2 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 #2 align 2

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

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

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

120:                                              ; preds = %1
  %121 = tail call noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5JnlstEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
  tail call void (ptr, i32, i32, ptr, ...) @_ZNK10SimTKIpopt10Journalist6PrintfENS_13EJournalLevelENS_16EJournalCategoryEPKcz(ptr noundef nonnull align 8 dereferenceable(40) %121, i32 noundef 3, i32 noundef 2, ptr noundef nonnull @.str.44)
  br label %988

122:                                              ; preds = %1
  %123 = tail call noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
  %124 = tail call noundef i32 @_ZN10SimTKIpopt25IpoptCalculatedQuantities19AdjustedTrialSlacksEv(ptr noundef nonnull align 8 dereferenceable(2025) %123)
  %125 = icmp sgt i32 %124, 0
  br i1 %125, label %126, label %556

126:                                              ; preds = %122
  %127 = tail call noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
  tail call void @_ZN10SimTKIpopt25IpoptCalculatedQuantities24ResetAdjustedTrialSlacksEv(ptr noundef nonnull align 8 dereferenceable(2025) %127)
  %128 = icmp eq i32 %124, 1
  %129 = tail call noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5JnlstEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
  %130 = tail call noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
  %131 = tail call noundef i32 @_ZNK10SimTKIpopt9IpoptData10iter_countEv(ptr noundef nonnull align 8 dereferenceable(864) %130)
  br i1 %128, label %132, label %133

132:                                              ; preds = %126
  tail call void (ptr, i32, i32, ptr, ...) @_ZNK10SimTKIpopt10Journalist6PrintfENS_13EJournalLevelENS_16EJournalCategoryEPKcz(ptr noundef nonnull align 8 dereferenceable(40) %129, i32 noundef 2, i32 noundef 2, ptr noundef nonnull @.str.45, i32 noundef %131, i32 noundef 1)
  br label %134

133:                                              ; preds = %126
  tail call void (ptr, i32, i32, ptr, ...) @_ZNK10SimTKIpopt10Journalist6PrintfENS_13EJournalLevelENS_16EJournalCategoryEPKcz(ptr noundef nonnull align 8 dereferenceable(40) %129, i32 noundef 2, i32 noundef 2, ptr noundef nonnull @.str.46, i32 noundef %131, i32 noundef %124)
  br label %134

134:                                              ; preds = %133, %132
  %135 = tail call noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5JnlstEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
  %136 = tail call noundef zeroext i1 @_ZNK10SimTKIpopt10Journalist13ProduceOutputENS_13EJournalLevelENS_16EJournalCategoryE(ptr noundef nonnull align 8 dereferenceable(40) %135, i32 noundef 7, i32 noundef 2)
  br i1 %136, label %137, label %222

137:                                              ; preds = %134
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %2) #5
  %138 = tail call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
  %139 = load ptr, ptr %138, align 8, !tbaa !5
  %140 = getelementptr inbounds i8, ptr %139, i64 96
  %141 = load ptr, ptr %140, align 8
  call void %141(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %2, ptr noundef nonnull align 8 dereferenceable(24) %138)
  %142 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %2)
  %143 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5JnlstEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %144 unwind label %178

144:                                              ; preds = %137
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %3) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %4) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %4) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %3, ptr noundef nonnull @.str.47, ptr noundef nonnull align 1 dereferenceable(1) %4)
          to label %145 unwind label %180

145:                                              ; preds = %144
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %5) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %6) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %6) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull @.str.41, ptr noundef nonnull align 1 dereferenceable(1) %6)
          to label %146 unwind label %182

146:                                              ; preds = %145
  invoke void @_ZNK10SimTKIpopt6Vector5PrintERKNS_10JournalistENS_13EJournalLevelENS_16EJournalCategoryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSD_(ptr noundef nonnull align 8 dereferenceable(205) %142, ptr noundef nonnull align 8 dereferenceable(40) %143, i32 noundef 7, i32 noundef 2, ptr noundef nonnull align 8 dereferenceable(32) %3, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(32) %5)
          to label %147 unwind label %184

147:                                              ; preds = %146
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %5) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %6) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %6) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %3) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %4) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %4) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %3) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %2) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %2) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %7) #5
  %148 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
  %149 = load ptr, ptr %148, align 8, !tbaa !5
  %150 = getelementptr inbounds i8, ptr %149, i64 112
  %151 = load ptr, ptr %150, align 8
  call void %151(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %7, ptr noundef nonnull align 8 dereferenceable(24) %148)
  %152 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %7)
  %153 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5JnlstEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %154 unwind label %189

154:                                              ; preds = %147
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %8) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %9) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %9) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %8, ptr noundef nonnull @.str.48, ptr noundef nonnull align 1 dereferenceable(1) %9)
          to label %155 unwind label %191

155:                                              ; preds = %154
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %10) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %11) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %11) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %10, ptr noundef nonnull @.str.41, ptr noundef nonnull align 1 dereferenceable(1) %11)
          to label %156 unwind label %193

156:                                              ; preds = %155
  invoke void @_ZNK10SimTKIpopt6Vector5PrintERKNS_10JournalistENS_13EJournalLevelENS_16EJournalCategoryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSD_(ptr noundef nonnull align 8 dereferenceable(205) %152, ptr noundef nonnull align 8 dereferenceable(40) %153, i32 noundef 7, i32 noundef 2, ptr noundef nonnull align 8 dereferenceable(32) %8, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(32) %10)
          to label %157 unwind label %195

157:                                              ; preds = %156
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %11) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %11) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %10) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %9) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %9) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %8) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %7) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %12) #5
  %158 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
  %159 = load ptr, ptr %158, align 8, !tbaa !5
  %160 = getelementptr inbounds i8, ptr %159, i64 128
  %161 = load ptr, ptr %160, align 8
  call void %161(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %12, ptr noundef nonnull align 8 dereferenceable(24) %158)
  %162 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %12)
  %163 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5JnlstEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %164 unwind label %200

164:                                              ; preds = %157
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %13) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %14) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %14) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull @.str.49, ptr noundef nonnull align 1 dereferenceable(1) %14)
          to label %165 unwind label %202

165:                                              ; preds = %164
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %15) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %16) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %16) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %15, ptr noundef nonnull @.str.41, ptr noundef nonnull align 1 dereferenceable(1) %16)
          to label %166 unwind label %204

166:                                              ; preds = %165
  invoke void @_ZNK10SimTKIpopt6Vector5PrintERKNS_10JournalistENS_13EJournalLevelENS_16EJournalCategoryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSD_(ptr noundef nonnull align 8 dereferenceable(205) %162, ptr noundef nonnull align 8 dereferenceable(40) %163, i32 noundef 7, i32 noundef 2, ptr noundef nonnull align 8 dereferenceable(32) %13, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %167 unwind label %206

167:                                              ; preds = %166
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %16) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %16) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %14) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %14) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %12) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %17) #5
  %168 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
  %169 = load ptr, ptr %168, align 8, !tbaa !5
  %170 = getelementptr inbounds i8, ptr %169, i64 144
  %171 = load ptr, ptr %170, align 8
  call void %171(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %17, ptr noundef nonnull align 8 dereferenceable(24) %168)
  %172 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %17)
  %173 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5JnlstEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %174 unwind label %211

174:                                              ; preds = %167
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %18) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %19) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %18, ptr noundef nonnull @.str.50, ptr noundef nonnull align 1 dereferenceable(1) %19)
          to label %175 unwind label %213

175:                                              ; preds = %174
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %20) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %21) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef nonnull @.str.41, ptr noundef nonnull align 1 dereferenceable(1) %21)
          to label %176 unwind label %215

176:                                              ; preds = %175
  invoke void @_ZNK10SimTKIpopt6Vector5PrintERKNS_10JournalistENS_13EJournalLevelENS_16EJournalCategoryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSD_(ptr noundef nonnull align 8 dereferenceable(205) %172, ptr noundef nonnull align 8 dereferenceable(40) %173, i32 noundef 7, i32 noundef 2, ptr noundef nonnull align 8 dereferenceable(32) %18, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(32) %20)
          to label %177 unwind label %217

177:                                              ; preds = %176
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %21) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %19) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %18) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %17) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #5
  br label %222

178:                                              ; preds = %137
  %179 = landingpad { ptr, i32 }
          cleanup
  br label %188

180:                                              ; preds = %144
  %181 = landingpad { ptr, i32 }
          cleanup
  br label %187

182:                                              ; preds = %145
  %183 = landingpad { ptr, i32 }
          cleanup
  br label %186

184:                                              ; preds = %146
  %185 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %5) #5
  br label %186

186:                                              ; preds = %184, %182
  %.pn = phi { ptr, i32 } [ %185, %184 ], [ %183, %182 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %6) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %6) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %3) #5
  br label %187

187:                                              ; preds = %186, %180
  %.pn.pn = phi { ptr, i32 } [ %.pn, %186 ], [ %181, %180 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %4) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %4) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %3) #5
  br label %188

188:                                              ; preds = %187, %178
  %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %187 ], [ %179, %178 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %2) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %2) #5
  br label %995

189:                                              ; preds = %147
  %190 = landingpad { ptr, i32 }
          cleanup
  br label %199

191:                                              ; preds = %154
  %192 = landingpad { ptr, i32 }
          cleanup
  br label %198

193:                                              ; preds = %155
  %194 = landingpad { ptr, i32 }
          cleanup
  br label %197

195:                                              ; preds = %156
  %196 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #5
  br label %197

197:                                              ; preds = %195, %193
  %.pn135 = phi { ptr, i32 } [ %196, %195 ], [ %194, %193 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %11) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %11) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %10) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #5
  br label %198

198:                                              ; preds = %197, %191
  %.pn135.pn = phi { ptr, i32 } [ %.pn135, %197 ], [ %192, %191 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %9) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %9) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %8) #5
  br label %199

199:                                              ; preds = %198, %189
  %.pn135.pn.pn = phi { ptr, i32 } [ %.pn135.pn, %198 ], [ %190, %189 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %7) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #5
  br label %995

200:                                              ; preds = %157
  %201 = landingpad { ptr, i32 }
          cleanup
  br label %210

202:                                              ; preds = %164
  %203 = landingpad { ptr, i32 }
          cleanup
  br label %209

204:                                              ; preds = %165
  %205 = landingpad { ptr, i32 }
          cleanup
  br label %208

206:                                              ; preds = %166
  %207 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #5
  br label %208

208:                                              ; preds = %206, %204
  %.pn139 = phi { ptr, i32 } [ %207, %206 ], [ %205, %204 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %16) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %16) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #5
  br label %209

209:                                              ; preds = %208, %202
  %.pn139.pn = phi { ptr, i32 } [ %.pn139, %208 ], [ %203, %202 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %14) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %14) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13) #5
  br label %210

210:                                              ; preds = %209, %200
  %.pn139.pn.pn = phi { ptr, i32 } [ %.pn139.pn, %209 ], [ %201, %200 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %12) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) #5
  br label %995

211:                                              ; preds = %167
  %212 = landingpad { ptr, i32 }
          cleanup
  br label %221

213:                                              ; preds = %174
  %214 = landingpad { ptr, i32 }
          cleanup
  br label %220

215:                                              ; preds = %175
  %216 = landingpad { ptr, i32 }
          cleanup
  br label %219

217:                                              ; preds = %176
  %218 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #5
  br label %219

219:                                              ; preds = %217, %215
  %.pn143 = phi { ptr, i32 } [ %218, %217 ], [ %216, %215 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %21) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #5
  br label %220

220:                                              ; preds = %219, %213
  %.pn143.pn = phi { ptr, i32 } [ %.pn143, %219 ], [ %214, %213 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %19) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %18) #5
  br label %221

221:                                              ; preds = %220, %211
  %.pn143.pn.pn = phi { ptr, i32 } [ %.pn143.pn, %220 ], [ %212, %211 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %17) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #5
  br label %995

222:                                              ; preds = %177, %134
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %22) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %23) #5
  %223 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
  %224 = load ptr, ptr %223, align 8, !tbaa !5
  %225 = getelementptr inbounds i8, ptr %224, i64 96
  %226 = load ptr, ptr %225, align 8
  call void %226(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %23, ptr noundef nonnull align 8 dereferenceable(24) %223)
  %227 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %23)
  %228 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector7MakeNewEv(ptr noundef nonnull align 8 dereferenceable(205) %227)
          to label %229 unwind label %408

229:                                              ; preds = %222
  invoke void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8) %22, ptr noundef %228)
          to label %230 unwind label %408

230:                                              ; preds = %229
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %23) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %23) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %24) #5
  %231 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %232 unwind label %410

232:                                              ; preds = %230
  %233 = load ptr, ptr %231, align 8, !tbaa !5
  %234 = getelementptr inbounds i8, ptr %233, i64 104
  %235 = load ptr, ptr %234, align 8
  invoke void %235(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.57") align 8 %24, ptr noundef nonnull align 8 dereferenceable(24) %231)
          to label %236 unwind label %410

236:                                              ; preds = %232
  %237 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6MatrixEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %24)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %25) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %26) #5
  %238 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %239 unwind label %412

239:                                              ; preds = %236
  invoke void @_ZNK10SimTKIpopt9IpoptData5trialEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.25") align 8 %26, ptr noundef nonnull align 8 dereferenceable(864) %238)
          to label %240 unwind label %412

240:                                              ; preds = %239
  %241 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %26)
  invoke void @_ZNK10SimTKIpopt14IteratesVector1xEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %25, ptr noundef nonnull align 8 dereferenceable(280) %241)
          to label %242 unwind label %414

242:                                              ; preds = %240
  %243 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %25)
  %244 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %22)
  invoke void @_ZNK10SimTKIpopt6Matrix15TransMultVectorEdRKNS_6VectorEdRS1_(ptr noundef nonnull align 8 dereferenceable(69) %237, double noundef 1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %243, double noundef 0.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %244)
          to label %245 unwind label %416

245:                                              ; preds = %242
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %25) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %26) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %26) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %24) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24) #5
  %246 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %22)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %27) #5
  %247 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %248 unwind label %421

248:                                              ; preds = %245
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities15trial_slack_x_LEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %27, ptr noundef nonnull align 8 dereferenceable(2025) %247)
          to label %249 unwind label %421

249:                                              ; preds = %248
  %250 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %27)
  invoke void @_ZN10SimTKIpopt6Vector4AxpyEdRKS0_(ptr noundef nonnull align 8 dereferenceable(205) %246, double noundef -1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %250)
          to label %251 unwind label %423

251:                                              ; preds = %249
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %27) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %27) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %28) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %29) #5
  %252 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %253 unwind label %426

253:                                              ; preds = %251
  %254 = load ptr, ptr %252, align 8, !tbaa !5
  %255 = getelementptr inbounds i8, ptr %254, i64 112
  %256 = load ptr, ptr %255, align 8
  invoke void %256(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %29, ptr noundef nonnull align 8 dereferenceable(24) %252)
          to label %257 unwind label %426

257:                                              ; preds = %253
  %258 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %29)
  %259 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector7MakeNewEv(ptr noundef nonnull align 8 dereferenceable(205) %258)
          to label %260 unwind label %428

260:                                              ; preds = %257
  invoke void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8) %28, ptr noundef %259)
          to label %261 unwind label %428

261:                                              ; preds = %260
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %29) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %29) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %30) #5
  %262 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %263 unwind label %431

263:                                              ; preds = %261
  %264 = load ptr, ptr %262, align 8, !tbaa !5
  %265 = getelementptr inbounds i8, ptr %264, i64 120
  %266 = load ptr, ptr %265, align 8
  invoke void %266(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.57") align 8 %30, ptr noundef nonnull align 8 dereferenceable(24) %262)
          to label %267 unwind label %431

267:                                              ; preds = %263
  %268 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6MatrixEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %30)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %31) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %32) #5
  %269 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %270 unwind label %433

270:                                              ; preds = %267
  invoke void @_ZNK10SimTKIpopt9IpoptData5trialEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.25") align 8 %32, ptr noundef nonnull align 8 dereferenceable(864) %269)
          to label %271 unwind label %433

271:                                              ; preds = %270
  %272 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %32)
  invoke void @_ZNK10SimTKIpopt14IteratesVector1xEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %31, ptr noundef nonnull align 8 dereferenceable(280) %272)
          to label %273 unwind label %435

273:                                              ; preds = %271
  %274 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %31)
  %275 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %28)
  invoke void @_ZNK10SimTKIpopt6Matrix15TransMultVectorEdRKNS_6VectorEdRS1_(ptr noundef nonnull align 8 dereferenceable(69) %268, double noundef 1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %274, double noundef 0.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %275)
          to label %276 unwind label %437

276:                                              ; preds = %273
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %31) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %32) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %32) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %31) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %30) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30) #5
  %277 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %28)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %33) #5
  %278 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %279 unwind label %442

279:                                              ; preds = %276
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities15trial_slack_x_UEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %33, ptr noundef nonnull align 8 dereferenceable(2025) %278)
          to label %280 unwind label %442

280:                                              ; preds = %279
  %281 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %33)
  invoke void @_ZN10SimTKIpopt6Vector4AxpyEdRKS0_(ptr noundef nonnull align 8 dereferenceable(205) %277, double noundef 1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %281)
          to label %282 unwind label %444

282:                                              ; preds = %280
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %33) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %33) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %34) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %35) #5
  %283 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %284 unwind label %447

284:                                              ; preds = %282
  %285 = load ptr, ptr %283, align 8, !tbaa !5
  %286 = getelementptr inbounds i8, ptr %285, i64 128
  %287 = load ptr, ptr %286, align 8
  invoke void %287(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %35, ptr noundef nonnull align 8 dereferenceable(24) %283)
          to label %288 unwind label %447

288:                                              ; preds = %284
  %289 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %35)
  %290 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector7MakeNewEv(ptr noundef nonnull align 8 dereferenceable(205) %289)
          to label %291 unwind label %449

291:                                              ; preds = %288
  invoke void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8) %34, ptr noundef %290)
          to label %292 unwind label %449

292:                                              ; preds = %291
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %35) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %35) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %36) #5
  %293 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %294 unwind label %452

294:                                              ; preds = %292
  %295 = load ptr, ptr %293, align 8, !tbaa !5
  %296 = getelementptr inbounds i8, ptr %295, i64 136
  %297 = load ptr, ptr %296, align 8
  invoke void %297(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.57") align 8 %36, ptr noundef nonnull align 8 dereferenceable(24) %293)
          to label %298 unwind label %452

298:                                              ; preds = %294
  %299 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6MatrixEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %36)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %37) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %38) #5
  %300 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %301 unwind label %454

301:                                              ; preds = %298
  invoke void @_ZNK10SimTKIpopt9IpoptData5trialEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.25") align 8 %38, ptr noundef nonnull align 8 dereferenceable(864) %300)
          to label %302 unwind label %454

302:                                              ; preds = %301
  %303 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %38)
  invoke void @_ZNK10SimTKIpopt14IteratesVector1sEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %37, ptr noundef nonnull align 8 dereferenceable(280) %303)
          to label %304 unwind label %456

304:                                              ; preds = %302
  %305 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %37)
  %306 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %34)
  invoke void @_ZNK10SimTKIpopt6Matrix15TransMultVectorEdRKNS_6VectorEdRS1_(ptr noundef nonnull align 8 dereferenceable(69) %299, double noundef 1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %305, double noundef 0.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %306)
          to label %307 unwind label %458

307:                                              ; preds = %304
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %37) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %38) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %38) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %37) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %36) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %36) #5
  %308 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %34)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %39) #5
  %309 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %310 unwind label %463

310:                                              ; preds = %307
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities15trial_slack_s_LEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %39, ptr noundef nonnull align 8 dereferenceable(2025) %309)
          to label %311 unwind label %463

311:                                              ; preds = %310
  %312 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %39)
  invoke void @_ZN10SimTKIpopt6Vector4AxpyEdRKS0_(ptr noundef nonnull align 8 dereferenceable(205) %308, double noundef -1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %312)
          to label %313 unwind label %465

313:                                              ; preds = %311
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %39) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %39) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %40) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %41) #5
  %314 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %315 unwind label %468

315:                                              ; preds = %313
  %316 = load ptr, ptr %314, align 8, !tbaa !5
  %317 = getelementptr inbounds i8, ptr %316, i64 144
  %318 = load ptr, ptr %317, align 8
  invoke void %318(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %41, ptr noundef nonnull align 8 dereferenceable(24) %314)
          to label %319 unwind label %468

319:                                              ; preds = %315
  %320 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %41)
  %321 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector7MakeNewEv(ptr noundef nonnull align 8 dereferenceable(205) %320)
          to label %322 unwind label %470

322:                                              ; preds = %319
  invoke void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8) %40, ptr noundef %321)
          to label %323 unwind label %470

323:                                              ; preds = %322
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %41) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %41) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %42) #5
  %324 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %325 unwind label %473

325:                                              ; preds = %323
  %326 = load ptr, ptr %324, align 8, !tbaa !5
  %327 = getelementptr inbounds i8, ptr %326, i64 152
  %328 = load ptr, ptr %327, align 8
  invoke void %328(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.57") align 8 %42, ptr noundef nonnull align 8 dereferenceable(24) %324)
          to label %329 unwind label %473

329:                                              ; preds = %325
  %330 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6MatrixEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %42)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %43) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %44) #5
  %331 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %332 unwind label %475

332:                                              ; preds = %329
  invoke void @_ZNK10SimTKIpopt9IpoptData5trialEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.25") align 8 %44, ptr noundef nonnull align 8 dereferenceable(864) %331)
          to label %333 unwind label %475

333:                                              ; preds = %332
  %334 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %44)
  invoke void @_ZNK10SimTKIpopt14IteratesVector1sEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %43, ptr noundef nonnull align 8 dereferenceable(280) %334)
          to label %335 unwind label %477

335:                                              ; preds = %333
  %336 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %43)
  %337 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %40)
  invoke void @_ZNK10SimTKIpopt6Matrix15TransMultVectorEdRKNS_6VectorEdRS1_(ptr noundef nonnull align 8 dereferenceable(69) %330, double noundef 1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %336, double noundef 0.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %337)
          to label %338 unwind label %479

338:                                              ; preds = %335
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %43) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %44) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %44) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %43) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %42) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %42) #5
  %339 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %40)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %45) #5
  %340 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %341 unwind label %486

341:                                              ; preds = %338
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities15trial_slack_s_UEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %45, ptr noundef nonnull align 8 dereferenceable(2025) %340)
          to label %342 unwind label %486

342:                                              ; preds = %341
  %343 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %45)
  invoke void @_ZN10SimTKIpopt6Vector4AxpyEdRKS0_(ptr noundef nonnull align 8 dereferenceable(205) %339, double noundef 1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %343)
          to label %344 unwind label %488

344:                                              ; preds = %342
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %45) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %45) #5
  %345 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %346 unwind label %484

346:                                              ; preds = %344
  %347 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %22)
  %348 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %28)
  %349 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %34)
  %350 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %40)
  %351 = load ptr, ptr %345, align 8, !tbaa !5
  %352 = getelementptr inbounds i8, ptr %351, i64 176
  %353 = load ptr, ptr %352, align 8
  invoke void %353(ptr noundef nonnull align 8 dereferenceable(24) %345, ptr noundef nonnull align 8 dereferenceable(205) %347, ptr noundef nonnull align 8 dereferenceable(205) %348, ptr noundef nonnull align 8 dereferenceable(205) %349, ptr noundef nonnull align 8 dereferenceable(205) %350)
          to label %354 unwind label %484

354:                                              ; preds = %346
  %355 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5JnlstEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %356 unwind label %484

356:                                              ; preds = %354
  %357 = invoke noundef zeroext i1 @_ZNK10SimTKIpopt10Journalist13ProduceOutputENS_13EJournalLevelENS_16EJournalCategoryE(ptr noundef nonnull align 8 dereferenceable(40) %355, i32 noundef 7, i32 noundef 2)
          to label %358 unwind label %484

358:                                              ; preds = %356
  br i1 %357, label %359, label %547

359:                                              ; preds = %358
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %46) #5
  %360 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %361 unwind label %491

361:                                              ; preds = %359
  %362 = load ptr, ptr %360, align 8, !tbaa !5
  %363 = getelementptr inbounds i8, ptr %362, i64 96
  %364 = load ptr, ptr %363, align 8
  invoke void %364(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %46, ptr noundef nonnull align 8 dereferenceable(24) %360)
          to label %365 unwind label %491

365:                                              ; preds = %361
  %366 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %46)
  %367 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5JnlstEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %368 unwind label %493

368:                                              ; preds = %365
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %47) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %48) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %48) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %47, ptr noundef nonnull @.str.51, ptr noundef nonnull align 1 dereferenceable(1) %48)
          to label %369 unwind label %495

369:                                              ; preds = %368
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %49) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %50) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %50) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %49, ptr noundef nonnull @.str.41, ptr noundef nonnull align 1 dereferenceable(1) %50)
          to label %370 unwind label %497

370:                                              ; preds = %369
  invoke void @_ZNK10SimTKIpopt6Vector5PrintERKNS_10JournalistENS_13EJournalLevelENS_16EJournalCategoryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSD_(ptr noundef nonnull align 8 dereferenceable(205) %366, ptr noundef nonnull align 8 dereferenceable(40) %367, i32 noundef 7, i32 noundef 2, ptr noundef nonnull align 8 dereferenceable(32) %47, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(32) %49)
          to label %371 unwind label %499

371:                                              ; preds = %370
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %50) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %50) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %49) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %48) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %48) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %47) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %46) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %46) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %51) #5
  %372 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %373 unwind label %505

373:                                              ; preds = %371
  %374 = load ptr, ptr %372, align 8, !tbaa !5
  %375 = getelementptr inbounds i8, ptr %374, i64 112
  %376 = load ptr, ptr %375, align 8
  invoke void %376(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %51, ptr noundef nonnull align 8 dereferenceable(24) %372)
          to label %377 unwind label %505

377:                                              ; preds = %373
  %378 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %51)
  %379 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5JnlstEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %380 unwind label %507

380:                                              ; preds = %377
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %52) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %53) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %53) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %52, ptr noundef nonnull @.str.52, ptr noundef nonnull align 1 dereferenceable(1) %53)
          to label %381 unwind label %509

381:                                              ; preds = %380
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %54) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %55) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %55) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %54, ptr noundef nonnull @.str.41, ptr noundef nonnull align 1 dereferenceable(1) %55)
          to label %382 unwind label %511

382:                                              ; preds = %381
  invoke void @_ZNK10SimTKIpopt6Vector5PrintERKNS_10JournalistENS_13EJournalLevelENS_16EJournalCategoryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSD_(ptr noundef nonnull align 8 dereferenceable(205) %378, ptr noundef nonnull align 8 dereferenceable(40) %379, i32 noundef 7, i32 noundef 2, ptr noundef nonnull align 8 dereferenceable(32) %52, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(32) %54)
          to label %383 unwind label %513

383:                                              ; preds = %382
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %55) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %55) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %54) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %53) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %53) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %52) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %51) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %51) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %56) #5
  %384 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %385 unwind label %519

385:                                              ; preds = %383
  %386 = load ptr, ptr %384, align 8, !tbaa !5
  %387 = getelementptr inbounds i8, ptr %386, i64 128
  %388 = load ptr, ptr %387, align 8
  invoke void %388(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %56, ptr noundef nonnull align 8 dereferenceable(24) %384)
          to label %389 unwind label %519

389:                                              ; preds = %385
  %390 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %56)
  %391 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5JnlstEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %392 unwind label %521

392:                                              ; preds = %389
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %57) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %58) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %58) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %57, ptr noundef nonnull @.str.53, ptr noundef nonnull align 1 dereferenceable(1) %58)
          to label %393 unwind label %523

393:                                              ; preds = %392
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %59) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %60) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %60) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %59, ptr noundef nonnull @.str.41, ptr noundef nonnull align 1 dereferenceable(1) %60)
          to label %394 unwind label %525

394:                                              ; preds = %393
  invoke void @_ZNK10SimTKIpopt6Vector5PrintERKNS_10JournalistENS_13EJournalLevelENS_16EJournalCategoryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSD_(ptr noundef nonnull align 8 dereferenceable(205) %390, ptr noundef nonnull align 8 dereferenceable(40) %391, i32 noundef 7, i32 noundef 2, ptr noundef nonnull align 8 dereferenceable(32) %57, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(32) %59)
          to label %395 unwind label %527

395:                                              ; preds = %394
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %60) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %60) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %59) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %58) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %58) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %57) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %56) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %56) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %61) #5
  %396 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %397 unwind label %533

397:                                              ; preds = %395
  %398 = load ptr, ptr %396, align 8, !tbaa !5
  %399 = getelementptr inbounds i8, ptr %398, i64 144
  %400 = load ptr, ptr %399, align 8
  invoke void %400(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %61, ptr noundef nonnull align 8 dereferenceable(24) %396)
          to label %401 unwind label %533

401:                                              ; preds = %397
  %402 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %61)
  %403 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5JnlstEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %404 unwind label %535

404:                                              ; preds = %401
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %62) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %63) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %63) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %62, ptr noundef nonnull @.str.54, ptr noundef nonnull align 1 dereferenceable(1) %63)
          to label %405 unwind label %537

405:                                              ; preds = %404
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %64) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %65) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %65) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %64, ptr noundef nonnull @.str.41, ptr noundef nonnull align 1 dereferenceable(1) %65)
          to label %406 unwind label %539

406:                                              ; preds = %405
  invoke void @_ZNK10SimTKIpopt6Vector5PrintERKNS_10JournalistENS_13EJournalLevelENS_16EJournalCategoryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSD_(ptr noundef nonnull align 8 dereferenceable(205) %402, ptr noundef nonnull align 8 dereferenceable(40) %403, i32 noundef 7, i32 noundef 2, ptr noundef nonnull align 8 dereferenceable(32) %62, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(32) %64)
          to label %407 unwind label %541

407:                                              ; preds = %406
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %65) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %65) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %64) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %63) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %63) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %62) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %61) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %61) #5
  br label %547

408:                                              ; preds = %229, %222
  %409 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %23) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %23) #5
  br label %555

410:                                              ; preds = %232, %230
  %411 = landingpad { ptr, i32 }
          cleanup
  br label %420

412:                                              ; preds = %239, %236
  %413 = landingpad { ptr, i32 }
          cleanup
  br label %419

414:                                              ; preds = %240
  %415 = landingpad { ptr, i32 }
          cleanup
  br label %418

416:                                              ; preds = %242
  %417 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %25) #5
  br label %418

418:                                              ; preds = %416, %414
  %.pn147 = phi { ptr, i32 } [ %417, %416 ], [ %415, %414 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %26) #5
  br label %419

419:                                              ; preds = %418, %412
  %.pn147.pn = phi { ptr, i32 } [ %.pn147, %418 ], [ %413, %412 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %26) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %24) #5
  br label %420

420:                                              ; preds = %419, %410
  %.pn147.pn.pn = phi { ptr, i32 } [ %.pn147.pn, %419 ], [ %411, %410 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24) #5
  br label %554

421:                                              ; preds = %248, %245
  %422 = landingpad { ptr, i32 }
          cleanup
  br label %425

423:                                              ; preds = %249
  %424 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %27) #5
  br label %425

425:                                              ; preds = %423, %421
  %.pn151 = phi { ptr, i32 } [ %424, %423 ], [ %422, %421 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %27) #5
  br label %554

426:                                              ; preds = %253, %251
  %427 = landingpad { ptr, i32 }
          cleanup
  br label %430

428:                                              ; preds = %260, %257
  %429 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %29) #5
  br label %430

430:                                              ; preds = %428, %426
  %.pn153 = phi { ptr, i32 } [ %429, %428 ], [ %427, %426 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %29) #5
  br label %553

431:                                              ; preds = %263, %261
  %432 = landingpad { ptr, i32 }
          cleanup
  br label %441

433:                                              ; preds = %270, %267
  %434 = landingpad { ptr, i32 }
          cleanup
  br label %440

435:                                              ; preds = %271
  %436 = landingpad { ptr, i32 }
          cleanup
  br label %439

437:                                              ; preds = %273
  %438 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %31) #5
  br label %439

439:                                              ; preds = %437, %435
  %.pn155 = phi { ptr, i32 } [ %438, %437 ], [ %436, %435 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %32) #5
  br label %440

440:                                              ; preds = %439, %433
  %.pn155.pn = phi { ptr, i32 } [ %.pn155, %439 ], [ %434, %433 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %32) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %31) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %30) #5
  br label %441

441:                                              ; preds = %440, %431
  %.pn155.pn.pn = phi { ptr, i32 } [ %.pn155.pn, %440 ], [ %432, %431 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30) #5
  br label %552

442:                                              ; preds = %279, %276
  %443 = landingpad { ptr, i32 }
          cleanup
  br label %446

444:                                              ; preds = %280
  %445 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %33) #5
  br label %446

446:                                              ; preds = %444, %442
  %.pn159 = phi { ptr, i32 } [ %445, %444 ], [ %443, %442 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %33) #5
  br label %552

447:                                              ; preds = %284, %282
  %448 = landingpad { ptr, i32 }
          cleanup
  br label %451

449:                                              ; preds = %291, %288
  %450 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %35) #5
  br label %451

451:                                              ; preds = %449, %447
  %.pn161 = phi { ptr, i32 } [ %450, %449 ], [ %448, %447 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %35) #5
  br label %551

452:                                              ; preds = %294, %292
  %453 = landingpad { ptr, i32 }
          cleanup
  br label %462

454:                                              ; preds = %301, %298
  %455 = landingpad { ptr, i32 }
          cleanup
  br label %461

456:                                              ; preds = %302
  %457 = landingpad { ptr, i32 }
          cleanup
  br label %460

458:                                              ; preds = %304
  %459 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %37) #5
  br label %460

460:                                              ; preds = %458, %456
  %.pn163 = phi { ptr, i32 } [ %459, %458 ], [ %457, %456 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %38) #5
  br label %461

461:                                              ; preds = %460, %454
  %.pn163.pn = phi { ptr, i32 } [ %.pn163, %460 ], [ %455, %454 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %38) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %37) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %36) #5
  br label %462

462:                                              ; preds = %461, %452
  %.pn163.pn.pn = phi { ptr, i32 } [ %.pn163.pn, %461 ], [ %453, %452 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %36) #5
  br label %550

463:                                              ; preds = %310, %307
  %464 = landingpad { ptr, i32 }
          cleanup
  br label %467

465:                                              ; preds = %311
  %466 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %39) #5
  br label %467

467:                                              ; preds = %465, %463
  %.pn167 = phi { ptr, i32 } [ %466, %465 ], [ %464, %463 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %39) #5
  br label %550

468:                                              ; preds = %315, %313
  %469 = landingpad { ptr, i32 }
          cleanup
  br label %472

470:                                              ; preds = %322, %319
  %471 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %41) #5
  br label %472

472:                                              ; preds = %470, %468
  %.pn169 = phi { ptr, i32 } [ %471, %470 ], [ %469, %468 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %41) #5
  br label %549

473:                                              ; preds = %325, %323
  %474 = landingpad { ptr, i32 }
          cleanup
  br label %483

475:                                              ; preds = %332, %329
  %476 = landingpad { ptr, i32 }
          cleanup
  br label %482

477:                                              ; preds = %333
  %478 = landingpad { ptr, i32 }
          cleanup
  br label %481

479:                                              ; preds = %335
  %480 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %43) #5
  br label %481

481:                                              ; preds = %479, %477
  %.pn171 = phi { ptr, i32 } [ %480, %479 ], [ %478, %477 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %44) #5
  br label %482

482:                                              ; preds = %481, %475
  %.pn171.pn = phi { ptr, i32 } [ %.pn171, %481 ], [ %476, %475 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %44) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %43) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %42) #5
  br label %483

483:                                              ; preds = %482, %473
  %.pn171.pn.pn = phi { ptr, i32 } [ %.pn171.pn, %482 ], [ %474, %473 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %42) #5
  br label %548

484:                                              ; preds = %356, %354, %346, %344
  %485 = landingpad { ptr, i32 }
          cleanup
  br label %548

486:                                              ; preds = %341, %338
  %487 = landingpad { ptr, i32 }
          cleanup
  br label %490

488:                                              ; preds = %342
  %489 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %45) #5
  br label %490

490:                                              ; preds = %488, %486
  %.pn175 = phi { ptr, i32 } [ %489, %488 ], [ %487, %486 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %45) #5
  br label %548

491:                                              ; preds = %361, %359
  %492 = landingpad { ptr, i32 }
          cleanup
  br label %504

493:                                              ; preds = %365
  %494 = landingpad { ptr, i32 }
          cleanup
  br label %503

495:                                              ; preds = %368
  %496 = landingpad { ptr, i32 }
          cleanup
  br label %502

497:                                              ; preds = %369
  %498 = landingpad { ptr, i32 }
          cleanup
  br label %501

499:                                              ; preds = %370
  %500 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #5
  br label %501

501:                                              ; preds = %499, %497
  %.pn177 = phi { ptr, i32 } [ %500, %499 ], [ %498, %497 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %50) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %50) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %49) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #5
  br label %502

502:                                              ; preds = %501, %495
  %.pn177.pn = phi { ptr, i32 } [ %.pn177, %501 ], [ %496, %495 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %48) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %48) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %47) #5
  br label %503

503:                                              ; preds = %502, %493
  %.pn177.pn.pn = phi { ptr, i32 } [ %.pn177.pn, %502 ], [ %494, %493 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %46) #5
  br label %504

504:                                              ; preds = %503, %491
  %.pn177.pn.pn.pn = phi { ptr, i32 } [ %.pn177.pn.pn, %503 ], [ %492, %491 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %46) #5
  br label %548

505:                                              ; preds = %373, %371
  %506 = landingpad { ptr, i32 }
          cleanup
  br label %518

507:                                              ; preds = %377
  %508 = landingpad { ptr, i32 }
          cleanup
  br label %517

509:                                              ; preds = %380
  %510 = landingpad { ptr, i32 }
          cleanup
  br label %516

511:                                              ; preds = %381
  %512 = landingpad { ptr, i32 }
          cleanup
  br label %515

513:                                              ; preds = %382
  %514 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #5
  br label %515

515:                                              ; preds = %513, %511
  %.pn182 = phi { ptr, i32 } [ %514, %513 ], [ %512, %511 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %55) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %55) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %54) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #5
  br label %516

516:                                              ; preds = %515, %509
  %.pn182.pn = phi { ptr, i32 } [ %.pn182, %515 ], [ %510, %509 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %53) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %53) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %52) #5
  br label %517

517:                                              ; preds = %516, %507
  %.pn182.pn.pn = phi { ptr, i32 } [ %.pn182.pn, %516 ], [ %508, %507 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %51) #5
  br label %518

518:                                              ; preds = %517, %505
  %.pn182.pn.pn.pn = phi { ptr, i32 } [ %.pn182.pn.pn, %517 ], [ %506, %505 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %51) #5
  br label %548

519:                                              ; preds = %385, %383
  %520 = landingpad { ptr, i32 }
          cleanup
  br label %532

521:                                              ; preds = %389
  %522 = landingpad { ptr, i32 }
          cleanup
  br label %531

523:                                              ; preds = %392
  %524 = landingpad { ptr, i32 }
          cleanup
  br label %530

525:                                              ; preds = %393
  %526 = landingpad { ptr, i32 }
          cleanup
  br label %529

527:                                              ; preds = %394
  %528 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #5
  br label %529

529:                                              ; preds = %527, %525
  %.pn187 = phi { ptr, i32 } [ %528, %527 ], [ %526, %525 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %60) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %60) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %59) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #5
  br label %530

530:                                              ; preds = %529, %523
  %.pn187.pn = phi { ptr, i32 } [ %.pn187, %529 ], [ %524, %523 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %58) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %58) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %57) #5
  br label %531

531:                                              ; preds = %530, %521
  %.pn187.pn.pn = phi { ptr, i32 } [ %.pn187.pn, %530 ], [ %522, %521 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %56) #5
  br label %532

532:                                              ; preds = %531, %519
  %.pn187.pn.pn.pn = phi { ptr, i32 } [ %.pn187.pn.pn, %531 ], [ %520, %519 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %56) #5
  br label %548

533:                                              ; preds = %397, %395
  %534 = landingpad { ptr, i32 }
          cleanup
  br label %546

535:                                              ; preds = %401
  %536 = landingpad { ptr, i32 }
          cleanup
  br label %545

537:                                              ; preds = %404
  %538 = landingpad { ptr, i32 }
          cleanup
  br label %544

539:                                              ; preds = %405
  %540 = landingpad { ptr, i32 }
          cleanup
  br label %543

541:                                              ; preds = %406
  %542 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #5
  br label %543

543:                                              ; preds = %541, %539
  %.pn192 = phi { ptr, i32 } [ %542, %541 ], [ %540, %539 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %65) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %65) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %64) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #5
  br label %544

544:                                              ; preds = %543, %537
  %.pn192.pn = phi { ptr, i32 } [ %.pn192, %543 ], [ %538, %537 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %63) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %63) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %62) #5
  br label %545

545:                                              ; preds = %544, %535
  %.pn192.pn.pn = phi { ptr, i32 } [ %.pn192.pn, %544 ], [ %536, %535 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %61) #5
  br label %546

546:                                              ; preds = %545, %533
  %.pn192.pn.pn.pn = phi { ptr, i32 } [ %.pn192.pn.pn, %545 ], [ %534, %533 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %61) #5
  br label %548

547:                                              ; preds = %407, %358
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %40) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %40) #5
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %34) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %34) #5
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %28) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %28) #5
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %22) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %22) #5
  br label %556

548:                                              ; preds = %546, %532, %518, %504, %490, %484, %483
  %.pn192.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn192.pn.pn.pn, %546 ], [ %.pn187.pn.pn.pn, %532 ], [ %.pn182.pn.pn.pn, %518 ], [ %.pn177.pn.pn.pn, %504 ], [ %485, %484 ], [ %.pn175, %490 ], [ %.pn171.pn.pn, %483 ]
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %40) #5
  br label %549

549:                                              ; preds = %548, %472
  %.pn192.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn192.pn.pn.pn.pn, %548 ], [ %.pn169, %472 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %40) #5
  br label %550

550:                                              ; preds = %549, %467, %462
  %.pn192.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn192.pn.pn.pn.pn.pn, %549 ], [ %.pn167, %467 ], [ %.pn163.pn.pn, %462 ]
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %34) #5
  br label %551

551:                                              ; preds = %550, %451
  %.pn192.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn192.pn.pn.pn.pn.pn.pn, %550 ], [ %.pn161, %451 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %34) #5
  br label %552

552:                                              ; preds = %551, %446, %441
  %.pn192.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn192.pn.pn.pn.pn.pn.pn.pn, %551 ], [ %.pn159, %446 ], [ %.pn155.pn.pn, %441 ]
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %28) #5
  br label %553

553:                                              ; preds = %552, %430
  %.pn192.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn192.pn.pn.pn.pn.pn.pn.pn.pn, %552 ], [ %.pn153, %430 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %28) #5
  br label %554

554:                                              ; preds = %553, %425, %420
  %.pn192.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn192.pn.pn.pn.pn.pn.pn.pn.pn.pn, %553 ], [ %.pn151, %425 ], [ %.pn147.pn.pn, %420 ]
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %22) #5
  br label %555

555:                                              ; preds = %554, %408
  %.pn192.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn192.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %554 ], [ %409, %408 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %22) #5
  br label %995

556:                                              ; preds = %547, %122
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %66) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %66)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %67) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %68) #5
  %557 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %558 unwind label %577

558:                                              ; preds = %556
  invoke void @_ZNK10SimTKIpopt9IpoptData5trialEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.25") align 8 %68, ptr noundef nonnull align 8 dereferenceable(864) %557)
          to label %559 unwind label %577

559:                                              ; preds = %558
  %560 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %68)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_LEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %67, ptr noundef nonnull align 8 dereferenceable(280) %560)
          to label %561 unwind label %579

561:                                              ; preds = %559
  %562 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %67)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %69) #5
  %563 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %564 unwind label %581

564:                                              ; preds = %561
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities15trial_slack_x_LEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %69, ptr noundef nonnull align 8 dereferenceable(2025) %563)
          to label %565 unwind label %581

565:                                              ; preds = %564
  %566 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %69)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %70) #5
  %567 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %568 unwind label %583

568:                                              ; preds = %565
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities15trial_compl_x_LEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %70, ptr noundef nonnull align 8 dereferenceable(2025) %567)
          to label %569 unwind label %583

569:                                              ; preds = %568
  %570 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %70)
  %571 = invoke noundef double @_ZN10SimTKIpopt14IpoptAlgorithm24correct_bound_multiplierERKNS_6VectorES3_S3_RNS_8SmartPtrIS2_EE(ptr noundef nonnull align 8 dereferenceable(152) %0, ptr noundef nonnull align 8 dereferenceable(205) %562, ptr noundef nonnull align 8 dereferenceable(205) %566, ptr noundef nonnull align 8 dereferenceable(205) %570, ptr noundef nonnull align 8 dereferenceable(8) %66)
          to label %572 unwind label %585

572:                                              ; preds = %569
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %70) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %70) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %69) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %69) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %67) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %68) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %68) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %67) #5
  %573 = fcmp ogt double %571, 0.000000e+00
  br i1 %573, label %574, label %593

574:                                              ; preds = %572
  %575 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5JnlstEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %576 unwind label %591

576:                                              ; preds = %574
  invoke void (ptr, i32, i32, ptr, ...) @_ZNK10SimTKIpopt10Journalist6PrintfENS_13EJournalLevelENS_16EJournalCategoryEPKcz(ptr noundef nonnull align 8 dereferenceable(40) %575, i32 noundef 5, i32 noundef 2, ptr noundef nonnull @.str.55, double noundef %571)
          to label %593 unwind label %591

577:                                              ; preds = %558, %556
  %578 = landingpad { ptr, i32 }
          cleanup
  br label %590

579:                                              ; preds = %559
  %580 = landingpad { ptr, i32 }
          cleanup
  br label %589

581:                                              ; preds = %564, %561
  %582 = landingpad { ptr, i32 }
          cleanup
  br label %588

583:                                              ; preds = %568, %565
  %584 = landingpad { ptr, i32 }
          cleanup
  br label %587

585:                                              ; preds = %569
  %586 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %70) #5
  br label %587

587:                                              ; preds = %585, %583
  %.pn205 = phi { ptr, i32 } [ %586, %585 ], [ %584, %583 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %70) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %69) #5
  br label %588

588:                                              ; preds = %587, %581
  %.pn205.pn = phi { ptr, i32 } [ %.pn205, %587 ], [ %582, %581 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %69) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %67) #5
  br label %589

589:                                              ; preds = %588, %579
  %.pn205.pn.pn = phi { ptr, i32 } [ %.pn205.pn, %588 ], [ %580, %579 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %68) #5
  br label %590

590:                                              ; preds = %589, %577
  %.pn205.pn.pn.pn = phi { ptr, i32 } [ %.pn205.pn.pn, %589 ], [ %578, %577 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %68) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %67) #5
  br label %994

591:                                              ; preds = %576, %574
  %592 = landingpad { ptr, i32 }
          cleanup
  br label %994

593:                                              ; preds = %576, %572
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %71) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %71)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %72) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %73) #5
  %594 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %595 unwind label %614

595:                                              ; preds = %593
  invoke void @_ZNK10SimTKIpopt9IpoptData5trialEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.25") align 8 %73, ptr noundef nonnull align 8 dereferenceable(864) %594)
          to label %596 unwind label %614

596:                                              ; preds = %595
  %597 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %73)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_UEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %72, ptr noundef nonnull align 8 dereferenceable(280) %597)
          to label %598 unwind label %616

598:                                              ; preds = %596
  %599 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %72)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %74) #5
  %600 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %601 unwind label %618

601:                                              ; preds = %598
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities15trial_slack_x_UEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %74, ptr noundef nonnull align 8 dereferenceable(2025) %600)
          to label %602 unwind label %618

602:                                              ; preds = %601
  %603 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %74)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %75) #5
  %604 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %605 unwind label %620

605:                                              ; preds = %602
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities15trial_compl_x_UEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %75, ptr noundef nonnull align 8 dereferenceable(2025) %604)
          to label %606 unwind label %620

606:                                              ; preds = %605
  %607 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %75)
  %608 = invoke noundef double @_ZN10SimTKIpopt14IpoptAlgorithm24correct_bound_multiplierERKNS_6VectorES3_S3_RNS_8SmartPtrIS2_EE(ptr noundef nonnull align 8 dereferenceable(152) %0, ptr noundef nonnull align 8 dereferenceable(205) %599, ptr noundef nonnull align 8 dereferenceable(205) %603, ptr noundef nonnull align 8 dereferenceable(205) %607, ptr noundef nonnull align 8 dereferenceable(8) %71)
          to label %609 unwind label %622

609:                                              ; preds = %606
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %75) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %75) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %74) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %74) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %72) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %73) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %73) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %72) #5
  %610 = fcmp ogt double %608, 0.000000e+00
  br i1 %610, label %611, label %630

611:                                              ; preds = %609
  %612 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5JnlstEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %613 unwind label %628

613:                                              ; preds = %611
  invoke void (ptr, i32, i32, ptr, ...) @_ZNK10SimTKIpopt10Journalist6PrintfENS_13EJournalLevelENS_16EJournalCategoryEPKcz(ptr noundef nonnull align 8 dereferenceable(40) %612, i32 noundef 5, i32 noundef 2, ptr noundef nonnull @.str.56, double noundef %608)
          to label %630 unwind label %628

614:                                              ; preds = %595, %593
  %615 = landingpad { ptr, i32 }
          cleanup
  br label %627

616:                                              ; preds = %596
  %617 = landingpad { ptr, i32 }
          cleanup
  br label %626

618:                                              ; preds = %601, %598
  %619 = landingpad { ptr, i32 }
          cleanup
  br label %625

620:                                              ; preds = %605, %602
  %621 = landingpad { ptr, i32 }
          cleanup
  br label %624

622:                                              ; preds = %606
  %623 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %75) #5
  br label %624

624:                                              ; preds = %622, %620
  %.pn210 = phi { ptr, i32 } [ %623, %622 ], [ %621, %620 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %75) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %74) #5
  br label %625

625:                                              ; preds = %624, %618
  %.pn210.pn = phi { ptr, i32 } [ %.pn210, %624 ], [ %619, %618 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %74) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %72) #5
  br label %626

626:                                              ; preds = %625, %616
  %.pn210.pn.pn = phi { ptr, i32 } [ %.pn210.pn, %625 ], [ %617, %616 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %73) #5
  br label %627

627:                                              ; preds = %626, %614
  %.pn210.pn.pn.pn = phi { ptr, i32 } [ %.pn210.pn.pn, %626 ], [ %615, %614 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %73) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %72) #5
  br label %993

628:                                              ; preds = %613, %611
  %629 = landingpad { ptr, i32 }
          cleanup
  br label %993

630:                                              ; preds = %613, %609
  %.117 = phi i1 [ %573, %609 ], [ true, %613 ]
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %76) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %76)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %77) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %78) #5
  %631 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %632 unwind label %651

632:                                              ; preds = %630
  invoke void @_ZNK10SimTKIpopt9IpoptData5trialEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.25") align 8 %78, ptr noundef nonnull align 8 dereferenceable(864) %631)
          to label %633 unwind label %651

633:                                              ; preds = %632
  %634 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %78)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_LEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %77, ptr noundef nonnull align 8 dereferenceable(280) %634)
          to label %635 unwind label %653

635:                                              ; preds = %633
  %636 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %77)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %79) #5
  %637 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %638 unwind label %655

638:                                              ; preds = %635
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities15trial_slack_s_LEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %79, ptr noundef nonnull align 8 dereferenceable(2025) %637)
          to label %639 unwind label %655

639:                                              ; preds = %638
  %640 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %79)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %80) #5
  %641 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %642 unwind label %657

642:                                              ; preds = %639
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities15trial_compl_s_LEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %80, ptr noundef nonnull align 8 dereferenceable(2025) %641)
          to label %643 unwind label %657

643:                                              ; preds = %642
  %644 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %80)
  %645 = invoke noundef double @_ZN10SimTKIpopt14IpoptAlgorithm24correct_bound_multiplierERKNS_6VectorES3_S3_RNS_8SmartPtrIS2_EE(ptr noundef nonnull align 8 dereferenceable(152) %0, ptr noundef nonnull align 8 dereferenceable(205) %636, ptr noundef nonnull align 8 dereferenceable(205) %640, ptr noundef nonnull align 8 dereferenceable(205) %644, ptr noundef nonnull align 8 dereferenceable(8) %76)
          to label %646 unwind label %659

646:                                              ; preds = %643
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %80) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %80) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %79) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %79) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %77) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %78) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %78) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %77) #5
  %647 = fcmp ogt double %645, 0.000000e+00
  br i1 %647, label %648, label %667

648:                                              ; preds = %646
  %649 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5JnlstEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %650 unwind label %665

650:                                              ; preds = %648
  invoke void (ptr, i32, i32, ptr, ...) @_ZNK10SimTKIpopt10Journalist6PrintfENS_13EJournalLevelENS_16EJournalCategoryEPKcz(ptr noundef nonnull align 8 dereferenceable(40) %649, i32 noundef 5, i32 noundef 2, ptr noundef nonnull @.str.57, double noundef %645)
          to label %667 unwind label %665

651:                                              ; preds = %632, %630
  %652 = landingpad { ptr, i32 }
          cleanup
  br label %664

653:                                              ; preds = %633
  %654 = landingpad { ptr, i32 }
          cleanup
  br label %663

655:                                              ; preds = %638, %635
  %656 = landingpad { ptr, i32 }
          cleanup
  br label %662

657:                                              ; preds = %642, %639
  %658 = landingpad { ptr, i32 }
          cleanup
  br label %661

659:                                              ; preds = %643
  %660 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %80) #5
  br label %661

661:                                              ; preds = %659, %657
  %.pn215 = phi { ptr, i32 } [ %660, %659 ], [ %658, %657 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %80) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %79) #5
  br label %662

662:                                              ; preds = %661, %655
  %.pn215.pn = phi { ptr, i32 } [ %.pn215, %661 ], [ %656, %655 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %79) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %77) #5
  br label %663

663:                                              ; preds = %662, %653
  %.pn215.pn.pn = phi { ptr, i32 } [ %.pn215.pn, %662 ], [ %654, %653 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %78) #5
  br label %664

664:                                              ; preds = %663, %651
  %.pn215.pn.pn.pn = phi { ptr, i32 } [ %.pn215.pn.pn, %663 ], [ %652, %651 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %78) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %77) #5
  br label %992

665:                                              ; preds = %650, %648
  %666 = landingpad { ptr, i32 }
          cleanup
  br label %992

667:                                              ; preds = %650, %646
  %.218 = phi i1 [ %.117, %646 ], [ true, %650 ]
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %81) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %81)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %82) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %83) #5
  %668 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %669 unwind label %688

669:                                              ; preds = %667
  invoke void @_ZNK10SimTKIpopt9IpoptData5trialEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.25") align 8 %83, ptr noundef nonnull align 8 dereferenceable(864) %668)
          to label %670 unwind label %688

670:                                              ; preds = %669
  %671 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %83)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_UEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %82, ptr noundef nonnull align 8 dereferenceable(280) %671)
          to label %672 unwind label %690

672:                                              ; preds = %670
  %673 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %82)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %84) #5
  %674 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %675 unwind label %692

675:                                              ; preds = %672
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities15trial_slack_s_UEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %84, ptr noundef nonnull align 8 dereferenceable(2025) %674)
          to label %676 unwind label %692

676:                                              ; preds = %675
  %677 = 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 %85) #5
  %678 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %679 unwind label %694

679:                                              ; preds = %676
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities15trial_compl_s_UEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %85, ptr noundef nonnull align 8 dereferenceable(2025) %678)
          to label %680 unwind label %694

680:                                              ; preds = %679
  %681 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %85)
  %682 = invoke noundef double @_ZN10SimTKIpopt14IpoptAlgorithm24correct_bound_multiplierERKNS_6VectorES3_S3_RNS_8SmartPtrIS2_EE(ptr noundef nonnull align 8 dereferenceable(152) %0, ptr noundef nonnull align 8 dereferenceable(205) %673, ptr noundef nonnull align 8 dereferenceable(205) %677, ptr noundef nonnull align 8 dereferenceable(205) %681, ptr noundef nonnull align 8 dereferenceable(8) %81)
          to label %683 unwind label %696

683:                                              ; preds = %680
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %85) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %85) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %84) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %84) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %82) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %83) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %83) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %82) #5
  %684 = fcmp ogt double %682, 0.000000e+00
  br i1 %684, label %685, label %704

685:                                              ; preds = %683
  %686 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5JnlstEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %687 unwind label %702

687:                                              ; preds = %685
  invoke void (ptr, i32, i32, ptr, ...) @_ZNK10SimTKIpopt10Journalist6PrintfENS_13EJournalLevelENS_16EJournalCategoryEPKcz(ptr noundef nonnull align 8 dereferenceable(40) %686, i32 noundef 5, i32 noundef 2, ptr noundef nonnull @.str.58, double noundef %682)
          to label %704 unwind label %702

688:                                              ; preds = %669, %667
  %689 = landingpad { ptr, i32 }
          cleanup
  br label %701

690:                                              ; preds = %670
  %691 = landingpad { ptr, i32 }
          cleanup
  br label %700

692:                                              ; preds = %675, %672
  %693 = landingpad { ptr, i32 }
          cleanup
  br label %699

694:                                              ; preds = %679, %676
  %695 = landingpad { ptr, i32 }
          cleanup
  br label %698

696:                                              ; preds = %680
  %697 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %85) #5
  br label %698

698:                                              ; preds = %696, %694
  %.pn220 = phi { ptr, i32 } [ %697, %696 ], [ %695, %694 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %85) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %84) #5
  br label %699

699:                                              ; preds = %698, %692
  %.pn220.pn = phi { ptr, i32 } [ %.pn220, %698 ], [ %693, %692 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %84) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %82) #5
  br label %700

700:                                              ; preds = %699, %690
  %.pn220.pn.pn = phi { ptr, i32 } [ %.pn220.pn, %699 ], [ %691, %690 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %83) #5
  br label %701

701:                                              ; preds = %700, %688
  %.pn220.pn.pn.pn = phi { ptr, i32 } [ %.pn220.pn.pn, %700 ], [ %689, %688 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %83) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %82) #5
  br label %991

702:                                              ; preds = %687, %685
  %703 = landingpad { ptr, i32 }
          cleanup
  br label %991

704:                                              ; preds = %687, %683
  %.319 = phi i1 [ %.218, %683 ], [ true, %687 ]
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %86) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %87) #5
  %705 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %706 unwind label %724

706:                                              ; preds = %704
  invoke void @_ZNK10SimTKIpopt9IpoptData5trialEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.25") align 8 %87, ptr noundef nonnull align 8 dereferenceable(864) %705)
          to label %707 unwind label %724

707:                                              ; preds = %706
  %708 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %87)
  invoke void @_ZNK10SimTKIpopt14IteratesVector16MakeNewContainerEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.45") align 8 %86, ptr noundef nonnull align 8 dereferenceable(280) %708)
          to label %709 unwind label %726

709:                                              ; preds = %707
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %87) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %87) #5
  %710 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %86)
  %711 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %66)
  %712 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %71)
  %713 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %76)
  %714 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %81)
  invoke void @_ZN10SimTKIpopt14IteratesVector14Set_bound_multERKNS_6VectorES3_S3_S3_(ptr noundef nonnull align 8 dereferenceable(280) %710, ptr noundef nonnull align 8 dereferenceable(205) %711, ptr noundef nonnull align 8 dereferenceable(205) %712, ptr noundef nonnull align 8 dereferenceable(205) %713, ptr noundef nonnull align 8 dereferenceable(205) %714)
          to label %715 unwind label %729

715:                                              ; preds = %709
  %716 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %717 unwind label %729

717:                                              ; preds = %715
  invoke void @_ZN10SimTKIpopt9IpoptData9set_trialERNS_8SmartPtrINS_14IteratesVectorEEE(ptr noundef nonnull align 8 dereferenceable(864) %716, ptr noundef nonnull align 8 dereferenceable(8) %86)
          to label %718 unwind label %729

718:                                              ; preds = %717
  br i1 %.319, label %719, label %736

719:                                              ; preds = %718
  %720 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %721 unwind label %729

721:                                              ; preds = %719
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %88) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %89) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %89) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %88, ptr noundef nonnull @.str.59, ptr noundef nonnull align 1 dereferenceable(1) %89)
          to label %722 unwind label %731

722:                                              ; preds = %721
  invoke void @_ZN10SimTKIpopt9IpoptData18Append_info_stringERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(864) %720, ptr noundef nonnull align 8 dereferenceable(32) %88)
          to label %723 unwind label %733

723:                                              ; preds = %722
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %88) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %89) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %89) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %88) #5
  br label %736

724:                                              ; preds = %706, %704
  %725 = landingpad { ptr, i32 }
          cleanup
  br label %728

726:                                              ; preds = %707
  %727 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %87) #5
  br label %728

728:                                              ; preds = %726, %724
  %.pn225 = phi { ptr, i32 } [ %727, %726 ], [ %725, %724 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %87) #5
  br label %990

729:                                              ; preds = %802, %801, %799, %797, %795, %792, %790, %784, %782, %738, %736, %719, %717, %715, %709
  %730 = landingpad { ptr, i32 }
          cleanup
  br label %989

731:                                              ; preds = %721
  %732 = landingpad { ptr, i32 }
          cleanup
  br label %735

733:                                              ; preds = %722
  %734 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %88) #5
  br label %735

735:                                              ; preds = %733, %731
  %.pn227 = phi { ptr, i32 } [ %734, %733 ], [ %732, %731 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %89) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %89) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %88) #5
  br label %989

736:                                              ; preds = %723, %718
  %737 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %738 unwind label %729

738:                                              ; preds = %736
  invoke void @_ZN10SimTKIpopt9IpoptData16AcceptTrialPointEv(ptr noundef nonnull align 8 dereferenceable(864) %737)
          to label %739 unwind label %729

739:                                              ; preds = %738
  %740 = getelementptr inbounds i8, ptr %0, i64 136
  %741 = load i8, ptr %740, align 8, !tbaa !8, !range !29, !noundef !30
  %742 = trunc nuw i8 %741 to i1
  br i1 %742, label %743, label %779

743:                                              ; preds = %739
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %90) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %91) #5
  %744 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %745 unwind label %762

745:                                              ; preds = %743
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.25") align 8 %91, ptr noundef nonnull align 8 dereferenceable(864) %744)
          to label %746 unwind label %762

746:                                              ; preds = %745
  %747 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %91)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3y_cEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %90, ptr noundef nonnull align 8 dereferenceable(280) %747)
          to label %748 unwind label %764

748:                                              ; preds = %746
  %749 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %90)
  %750 = invoke noundef i32 @_ZNK10SimTKIpopt6Vector3DimEv(ptr noundef nonnull align 8 dereferenceable(205) %749)
          to label %751 unwind label %766

751:                                              ; preds = %748
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %92) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %93) #5
  %752 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %753 unwind label %768

753:                                              ; preds = %751
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.25") align 8 %93, ptr noundef nonnull align 8 dereferenceable(864) %752)
          to label %754 unwind label %768

754:                                              ; preds = %753
  %755 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %93)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3y_dEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %92, ptr noundef nonnull align 8 dereferenceable(280) %755)
          to label %756 unwind label %770

756:                                              ; preds = %754
  %757 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %92)
  %758 = invoke noundef i32 @_ZNK10SimTKIpopt6Vector3DimEv(ptr noundef nonnull align 8 dereferenceable(205) %757)
          to label %759 unwind label %772

759:                                              ; preds = %756
  %760 = sub i32 0, %758
  %761 = icmp eq i32 %750, %760
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %92) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %93) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %93) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %92) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %90) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %91) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %91) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %90) #5
  br i1 %761, label %.thread, label %._crit_edge

._crit_edge:                                      ; preds = %759
  %.pre = load i8, ptr %740, align 8, !tbaa !8, !range !29
  br label %779

.thread:                                          ; preds = %759
  store i8 0, ptr %740, align 8, !tbaa !8
  br label %987

762:                                              ; preds = %745, %743
  %763 = landingpad { ptr, i32 }
          cleanup
  br label %778

764:                                              ; preds = %746
  %765 = landingpad { ptr, i32 }
          cleanup
  br label %777

766:                                              ; preds = %748
  %767 = landingpad { ptr, i32 }
          cleanup
  br label %776

768:                                              ; preds = %753, %751
  %769 = landingpad { ptr, i32 }
          cleanup
  br label %775

770:                                              ; preds = %754
  %771 = landingpad { ptr, i32 }
          cleanup
  br label %774

772:                                              ; preds = %756
  %773 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %92) #5
  br label %774

774:                                              ; preds = %772, %770
  %.pn229 = phi { ptr, i32 } [ %773, %772 ], [ %771, %770 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %93) #5
  br label %775

775:                                              ; preds = %774, %768
  %.pn229.pn = phi { ptr, i32 } [ %.pn229, %774 ], [ %769, %768 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %93) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %92) #5
  br label %776

776:                                              ; preds = %775, %766
  %.pn229.pn.pn = phi { ptr, i32 } [ %.pn229.pn, %775 ], [ %767, %766 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %90) #5
  br label %777

777:                                              ; preds = %776, %764
  %.pn229.pn.pn.pn = phi { ptr, i32 } [ %.pn229.pn.pn, %776 ], [ %765, %764 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %91) #5
  br label %778

778:                                              ; preds = %777, %762
  %.pn229.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn229.pn.pn.pn, %777 ], [ %763, %762 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %91) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %90) #5
  br label %989

779:                                              ; preds = %._crit_edge, %739
  %780 = phi i8 [ %.pre, %._crit_edge ], [ %741, %739 ]
  %781 = trunc nuw i8 %780 to i1
  br i1 %781, label %782, label %987

782:                                              ; preds = %779
  %783 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %784 unwind label %729

784:                                              ; preds = %782
  %785 = invoke noundef double @_ZN10SimTKIpopt25IpoptCalculatedQuantities25curr_constraint_violationEv(ptr noundef nonnull align 8 dereferenceable(2025) %783)
          to label %786 unwind label %729

786:                                              ; preds = %784
  %787 = getelementptr inbounds i8, ptr %0, i64 144
  %788 = load double, ptr %787, align 8, !tbaa !31
  %789 = fcmp olt double %785, %788
  br i1 %789, label %790, label %987

790:                                              ; preds = %786
  %791 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5JnlstEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %792 unwind label %729

792:                                              ; preds = %790
  %793 = invoke noundef zeroext i1 @_ZNK10SimTKIpopt10Journalist13ProduceOutputENS_13EJournalLevelENS_16EJournalCategoryE(ptr noundef nonnull align 8 dereferenceable(40) %791, i32 noundef 6, i32 noundef 2)
          to label %794 unwind label %729

794:                                              ; preds = %792
  br i1 %793, label %795, label %802

795:                                              ; preds = %794
  %796 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5JnlstEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %797 unwind label %729

797:                                              ; preds = %795
  %798 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %799 unwind label %729

799:                                              ; preds = %797
  %800 = invoke noundef double @_ZN10SimTKIpopt25IpoptCalculatedQuantities23curr_dual_infeasibilityENS_9ENormTypeE(ptr noundef nonnull align 8 dereferenceable(2025) %798, i32 noundef 2)
          to label %801 unwind label %729

801:                                              ; preds = %799
  invoke void (ptr, i32, i32, ptr, ...) @_ZNK10SimTKIpopt10Journalist6PrintfENS_13EJournalLevelENS_16EJournalCategoryEPKcz(ptr noundef nonnull align 8 dereferenceable(40) %796, i32 noundef 6, i32 noundef 2, ptr noundef nonnull @.str.60, double noundef %800)
          to label %802 unwind label %729

802:                                              ; preds = %801, %794
  %803 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %804 unwind label %729

804:                                              ; preds = %802
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %94) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %95) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %95) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %94, ptr noundef nonnull @.str.61, ptr noundef nonnull align 1 dereferenceable(1) %95)
          to label %805 unwind label %901

805:                                              ; preds = %804
  invoke void @_ZN10SimTKIpopt9IpoptData18Append_info_stringERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(864) %803, ptr noundef nonnull align 8 dereferenceable(32) %94)
          to label %806 unwind label %903

806:                                              ; preds = %805
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %94) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %95) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %95) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %94) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %96) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %97) #5
  %807 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %808 unwind label %906

808:                                              ; preds = %806
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.25") align 8 %97, ptr noundef nonnull align 8 dereferenceable(864) %807)
          to label %809 unwind label %906

809:                                              ; preds = %808
  %810 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %97)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3y_cEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %96, ptr noundef nonnull align 8 dereferenceable(280) %810)
          to label %811 unwind label %908

811:                                              ; preds = %809
  %812 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %96)
  %813 = invoke noundef i32 @_ZNK10SimTKIpopt6Vector3DimEv(ptr noundef nonnull align 8 dereferenceable(205) %812)
          to label %814 unwind label %910

814:                                              ; preds = %811
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %98) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %99) #5
  %815 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %816 unwind label %912

816:                                              ; preds = %814
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.25") align 8 %99, ptr noundef nonnull align 8 dereferenceable(864) %815)
          to label %817 unwind label %912

817:                                              ; preds = %816
  %818 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %99)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3y_dEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %98, ptr noundef nonnull align 8 dereferenceable(280) %818)
          to label %819 unwind label %914

819:                                              ; preds = %817
  %820 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %98)
  %821 = invoke noundef i32 @_ZNK10SimTKIpopt6Vector3DimEv(ptr noundef nonnull align 8 dereferenceable(205) %820)
          to label %822 unwind label %916

822:                                              ; preds = %819
  %823 = add nsw i32 %821, %813
  %824 = icmp sgt i32 %823, 0
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %98) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %99) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %99) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %98) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %96) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %97) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %97) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %96) #5
  br i1 %824, label %825, label %987

825:                                              ; preds = %822
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %100) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %101) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %102) #5
  %826 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %827 unwind label %923

827:                                              ; preds = %825
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.25") align 8 %102, ptr noundef nonnull align 8 dereferenceable(864) %826)
          to label %828 unwind label %923

828:                                              ; preds = %827
  %829 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %102)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3y_cEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %101, ptr noundef nonnull align 8 dereferenceable(280) %829)
          to label %830 unwind label %925

830:                                              ; preds = %828
  %831 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %101)
  %832 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector7MakeNewEv(ptr noundef nonnull align 8 dereferenceable(205) %831)
          to label %833 unwind label %927

833:                                              ; preds = %830
  invoke void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8) %100, ptr noundef %832)
          to label %834 unwind label %927

834:                                              ; preds = %833
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %101) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %102) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %102) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %101) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %103) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %104) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %105) #5
  %835 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %836 unwind label %931

836:                                              ; preds = %834
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.25") align 8 %105, ptr noundef nonnull align 8 dereferenceable(864) %835)
          to label %837 unwind label %931

837:                                              ; preds = %836
  %838 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %105)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3y_dEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %104, ptr noundef nonnull align 8 dereferenceable(280) %838)
          to label %839 unwind label %933

839:                                              ; preds = %837
  %840 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %104)
  %841 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector7MakeNewEv(ptr noundef nonnull align 8 dereferenceable(205) %840)
          to label %842 unwind label %935

842:                                              ; preds = %839
  invoke void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8) %103, ptr noundef %841)
          to label %843 unwind label %935

843:                                              ; preds = %842
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %104) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %105) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %105) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %104) #5
  %844 = getelementptr inbounds i8, ptr %0, i64 112
  %845 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_22EqMultiplierCalculatorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %844)
  %846 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %100)
  %847 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %103)
  %848 = load ptr, ptr %845, align 8, !tbaa !5
  %849 = getelementptr inbounds i8, ptr %848, i64 24
  %850 = load ptr, ptr %849, align 8
  %851 = invoke noundef zeroext i1 %850(ptr noundef nonnull align 8 dereferenceable(49) %845, ptr noundef nonnull align 8 dereferenceable(205) %846, ptr noundef nonnull align 8 dereferenceable(205) %847)
          to label %852 unwind label %939

852:                                              ; preds = %843
  br i1 %851, label %853, label %980

853:                                              ; preds = %852
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %106) #5
  %854 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %855 unwind label %941

855:                                              ; preds = %853
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.25") align 8 %106, ptr noundef nonnull align 8 dereferenceable(864) %854)
          to label %856 unwind label %941

856:                                              ; preds = %855
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %107) #5
  %857 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %106)
  invoke void @_ZNK10SimTKIpopt14IteratesVector16MakeNewContainerEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.45") align 8 %107, ptr noundef nonnull align 8 dereferenceable(280) %857)
          to label %858 unwind label %943

858:                                              ; preds = %856
  %859 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %107)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %108) #5
  %860 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %106)
  invoke void @_ZNK10SimTKIpopt14IteratesVector1xEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %108, ptr noundef nonnull align 8 dereferenceable(280) %860)
          to label %861 unwind label %947

861:                                              ; preds = %858
  %862 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %108)
  invoke void @_ZN10SimTKIpopt14IteratesVector5Set_xERKNS_6VectorE(ptr noundef nonnull align 8 dereferenceable(280) %859, ptr noundef nonnull align 8 dereferenceable(205) %862)
          to label %863 unwind label %949

863:                                              ; preds = %861
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %108) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %108) #5
  %864 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %107)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %109) #5
  %865 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %106)
  invoke void @_ZNK10SimTKIpopt14IteratesVector1sEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %109, ptr noundef nonnull align 8 dereferenceable(280) %865)
          to label %866 unwind label %952

866:                                              ; preds = %863
  %867 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %109)
  invoke void @_ZN10SimTKIpopt14IteratesVector5Set_sERKNS_6VectorE(ptr noundef nonnull align 8 dereferenceable(280) %864, ptr noundef nonnull align 8 dereferenceable(205) %867)
          to label %868 unwind label %954

868:                                              ; preds = %866
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %109) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %109) #5
  %869 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %107)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %110) #5
  %870 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %106)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_LEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %110, ptr noundef nonnull align 8 dereferenceable(280) %870)
          to label %871 unwind label %957

871:                                              ; preds = %868
  %872 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %110)
  invoke void @_ZN10SimTKIpopt14IteratesVector7Set_z_LERKNS_6VectorE(ptr noundef nonnull align 8 dereferenceable(280) %869, ptr noundef nonnull align 8 dereferenceable(205) %872)
          to label %873 unwind label %959

873:                                              ; preds = %871
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %110) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %110) #5
  %874 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %107)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %111) #5
  %875 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %106)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_UEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %111, ptr noundef nonnull align 8 dereferenceable(280) %875)
          to label %876 unwind label %962

876:                                              ; preds = %873
  %877 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %111)
  invoke void @_ZN10SimTKIpopt14IteratesVector7Set_z_UERKNS_6VectorE(ptr noundef nonnull align 8 dereferenceable(280) %874, ptr noundef nonnull align 8 dereferenceable(205) %877)
          to label %878 unwind label %964

878:                                              ; preds = %876
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %111) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %111) #5
  %879 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %107)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %112) #5
  %880 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %106)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_LEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %112, ptr noundef nonnull align 8 dereferenceable(280) %880)
          to label %881 unwind label %967

881:                                              ; preds = %878
  %882 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %112)
  invoke void @_ZN10SimTKIpopt14IteratesVector7Set_v_LERKNS_6VectorE(ptr noundef nonnull align 8 dereferenceable(280) %879, ptr noundef nonnull align 8 dereferenceable(205) %882)
          to label %883 unwind label %969

883:                                              ; preds = %881
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %112) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %112) #5
  %884 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %107)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %113) #5
  %885 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %106)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_UEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8 %113, ptr noundef nonnull align 8 dereferenceable(280) %885)
          to label %886 unwind label %972

886:                                              ; preds = %883
  %887 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %113)
  invoke void @_ZN10SimTKIpopt14IteratesVector7Set_v_UERKNS_6VectorE(ptr noundef nonnull align 8 dereferenceable(280) %884, ptr noundef nonnull align 8 dereferenceable(205) %887)
          to label %888 unwind label %974

888:                                              ; preds = %886
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %113) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %113) #5
  %889 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %107)
  %890 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %100)
  invoke void @_ZN10SimTKIpopt14IteratesVector7Set_y_cERKNS_6VectorE(ptr noundef nonnull align 8 dereferenceable(280) %889, ptr noundef nonnull align 8 dereferenceable(205) %890)
          to label %891 unwind label %945

891:                                              ; preds = %888
  %892 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %107)
  %893 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %103)
  invoke void @_ZN10SimTKIpopt14IteratesVector7Set_y_dERKNS_6VectorE(ptr noundef nonnull align 8 dereferenceable(280) %892, ptr noundef nonnull align 8 dereferenceable(205) %893)
          to label %894 unwind label %945

894:                                              ; preds = %891
  %895 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %896 unwind label %945

896:                                              ; preds = %894
  invoke void @_ZN10SimTKIpopt9IpoptData9set_trialERNS_8SmartPtrINS_14IteratesVectorEEE(ptr noundef nonnull align 8 dereferenceable(864) %895, ptr noundef nonnull align 8 dereferenceable(8) %107)
          to label %897 unwind label %945

897:                                              ; preds = %896
  %898 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %899 unwind label %945

899:                                              ; preds = %897
  invoke void @_ZN10SimTKIpopt9IpoptData16AcceptTrialPointEv(ptr noundef nonnull align 8 dereferenceable(864) %898)
          to label %900 unwind label %945

900:                                              ; preds = %899
  call void @_ZN10SimTKIpopt8SmartPtrINS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %107) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %107) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %106) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %106) #5
  br label %983

901:                                              ; preds = %804
  %902 = landingpad { ptr, i32 }
          cleanup
  br label %905

903:                                              ; preds = %805
  %904 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %94) #5
  br label %905

905:                                              ; preds = %903, %901
  %.pn235 = phi { ptr, i32 } [ %904, %903 ], [ %902, %901 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %95) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %95) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %94) #5
  br label %989

906:                                              ; preds = %808, %806
  %907 = landingpad { ptr, i32 }
          cleanup
  br label %922

908:                                              ; preds = %809
  %909 = landingpad { ptr, i32 }
          cleanup
  br label %921

910:                                              ; preds = %811
  %911 = landingpad { ptr, i32 }
          cleanup
  br label %920

912:                                              ; preds = %816, %814
  %913 = landingpad { ptr, i32 }
          cleanup
  br label %919

914:                                              ; preds = %817
  %915 = landingpad { ptr, i32 }
          cleanup
  br label %918

916:                                              ; preds = %819
  %917 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %98) #5
  br label %918

918:                                              ; preds = %916, %914
  %.pn237 = phi { ptr, i32 } [ %917, %916 ], [ %915, %914 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %99) #5
  br label %919

919:                                              ; preds = %918, %912
  %.pn237.pn = phi { ptr, i32 } [ %.pn237, %918 ], [ %913, %912 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %99) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %98) #5
  br label %920

920:                                              ; preds = %919, %910
  %.pn237.pn.pn = phi { ptr, i32 } [ %.pn237.pn, %919 ], [ %911, %910 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %96) #5
  br label %921

921:                                              ; preds = %920, %908
  %.pn237.pn.pn.pn = phi { ptr, i32 } [ %.pn237.pn.pn, %920 ], [ %909, %908 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %97) #5
  br label %922

922:                                              ; preds = %921, %906
  %.pn237.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn237.pn.pn.pn, %921 ], [ %907, %906 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %97) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %96) #5
  br label %989

923:                                              ; preds = %827, %825
  %924 = landingpad { ptr, i32 }
          cleanup
  br label %930

925:                                              ; preds = %828
  %926 = landingpad { ptr, i32 }
          cleanup
  br label %929

927:                                              ; preds = %833, %830
  %928 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %101) #5
  br label %929

929:                                              ; preds = %927, %925
  %.pn243 = phi { ptr, i32 } [ %928, %927 ], [ %926, %925 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %102) #5
  br label %930

930:                                              ; preds = %929, %923
  %.pn243.pn = phi { ptr, i32 } [ %.pn243, %929 ], [ %924, %923 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %102) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %101) #5
  br label %986

931:                                              ; preds = %836, %834
  %932 = landingpad { ptr, i32 }
          cleanup
  br label %938

933:                                              ; preds = %837
  %934 = landingpad { ptr, i32 }
          cleanup
  br label %937

935:                                              ; preds = %842, %839
  %936 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %104) #5
  br label %937

937:                                              ; preds = %935, %933
  %.pn246 = phi { ptr, i32 } [ %936, %935 ], [ %934, %933 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %105) #5
  br label %938

938:                                              ; preds = %937, %931
  %.pn246.pn = phi { ptr, i32 } [ %.pn246, %937 ], [ %932, %931 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %105) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %104) #5
  br label %985

939:                                              ; preds = %982, %980, %843
  %940 = landingpad { ptr, i32 }
          cleanup
  br label %984

941:                                              ; preds = %855, %853
  %942 = landingpad { ptr, i32 }
          cleanup
  br label %979

943:                                              ; preds = %856
  %944 = landingpad { ptr, i32 }
          cleanup
  br label %978

945:                                              ; preds = %899, %897, %896, %894, %891, %888
  %946 = landingpad { ptr, i32 }
          cleanup
  br label %977

947:                                              ; preds = %858
  %948 = landingpad { ptr, i32 }
          cleanup
  br label %951

949:                                              ; preds = %861
  %950 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %108) #5
  br label %951

951:                                              ; preds = %949, %947
  %.pn249 = phi { ptr, i32 } [ %950, %949 ], [ %948, %947 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %108) #5
  br label %977

952:                                              ; preds = %863
  %953 = landingpad { ptr, i32 }
          cleanup
  br label %956

954:                                              ; preds = %866
  %955 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %109) #5
  br label %956

956:                                              ; preds = %954, %952
  %.pn251 = phi { ptr, i32 } [ %955, %954 ], [ %953, %952 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %109) #5
  br label %977

957:                                              ; preds = %868
  %958 = landingpad { ptr, i32 }
          cleanup
  br label %961

959:                                              ; preds = %871
  %960 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %110) #5
  br label %961

961:                                              ; preds = %959, %957
  %.pn253 = phi { ptr, i32 } [ %960, %959 ], [ %958, %957 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %110) #5
  br label %977

962:                                              ; preds = %873
  %963 = landingpad { ptr, i32 }
          cleanup
  br label %966

964:                                              ; preds = %876
  %965 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %111) #5
  br label %966

966:                                              ; preds = %964, %962
  %.pn255 = phi { ptr, i32 } [ %965, %964 ], [ %963, %962 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %111) #5
  br label %977

967:                                              ; preds = %878
  %968 = landingpad { ptr, i32 }
          cleanup
  br label %971

969:                                              ; preds = %881
  %970 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %112) #5
  br label %971

971:                                              ; preds = %969, %967
  %.pn257 = phi { ptr, i32 } [ %970, %969 ], [ %968, %967 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %112) #5
  br label %977

972:                                              ; preds = %883
  %973 = landingpad { ptr, i32 }
          cleanup
  br label %976

974:                                              ; preds = %886
  %975 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %113) #5
  br label %976

976:                                              ; preds = %974, %972
  %.pn259 = phi { ptr, i32 } [ %975, %974 ], [ %973, %972 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %113) #5
  br label %977

977:                                              ; preds = %976, %971, %966, %961, %956, %951, %945
  %.pn261 = phi { ptr, i32 } [ %946, %945 ], [ %.pn259, %976 ], [ %.pn257, %971 ], [ %.pn255, %966 ], [ %.pn253, %961 ], [ %.pn251, %956 ], [ %.pn249, %951 ]
  call void @_ZN10SimTKIpopt8SmartPtrINS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %107) #5
  br label %978

978:                                              ; preds = %977, %943
  %.pn261.pn = phi { ptr, i32 } [ %.pn261, %977 ], [ %944, %943 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %107) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %106) #5
  br label %979

979:                                              ; preds = %978, %941
  %.pn261.pn.pn = phi { ptr, i32 } [ %.pn261.pn, %978 ], [ %942, %941 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %106) #5
  br label %984

980:                                              ; preds = %852
  %981 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5JnlstEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %982 unwind label %939

982:                                              ; preds = %980
  invoke void (ptr, i32, i32, ptr, ...) @_ZNK10SimTKIpopt10Journalist6PrintfENS_13EJournalLevelENS_16EJournalCategoryEPKcz(ptr noundef nonnull align 8 dereferenceable(40) %981, i32 noundef 5, i32 noundef 2, ptr noundef nonnull @.str.62)
          to label %983 unwind label %939

983:                                              ; preds = %982, %900
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %103) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %103) #5
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %100) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %100) #5
  br label %987

984:                                              ; preds = %979, %939
  %.pn261.pn.pn.pn = phi { ptr, i32 } [ %.pn261.pn.pn, %979 ], [ %940, %939 ]
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %103) #5
  br label %985

985:                                              ; preds = %984, %938
  %.pn261.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn261.pn.pn.pn, %984 ], [ %.pn246.pn, %938 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %103) #5
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %100) #5
  br label %986

986:                                              ; preds = %985, %930
  %.pn261.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn261.pn.pn.pn.pn, %985 ], [ %.pn243.pn, %930 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %100) #5
  br label %989

987:                                              ; preds = %.thread, %822, %983, %786, %779
  call void @_ZN10SimTKIpopt8SmartPtrINS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %86) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %86) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %81) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %81) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %76) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %76) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %71) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %71) #5
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %66) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %66) #5
  br label %988

988:                                              ; preds = %987, %120
  ret void

989:                                              ; preds = %986, %922, %905, %778, %735, %729
  %.pn261.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn261.pn.pn.pn.pn.pn, %986 ], [ %.pn237.pn.pn.pn.pn, %922 ], [ %.pn235, %905 ], [ %730, %729 ], [ %.pn229.pn.pn.pn.pn, %778 ], [ %.pn227, %735 ]
  call void @_ZN10SimTKIpopt8SmartPtrINS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %86) #5
  br label %990

990:                                              ; preds = %989, %728
  %.pn261.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn261.pn.pn.pn.pn.pn.pn, %989 ], [ %.pn225, %728 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %86) #5
  br label %991

991:                                              ; preds = %990, %702, %701
  %.pn261.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn261.pn.pn.pn.pn.pn.pn.pn, %990 ], [ %703, %702 ], [ %.pn220.pn.pn.pn, %701 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %81) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %81) #5
  br label %992

992:                                              ; preds = %991, %665, %664
  %.pn261.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn261.pn.pn.pn.pn.pn.pn.pn.pn, %991 ], [ %666, %665 ], [ %.pn215.pn.pn.pn, %664 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %76) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %76) #5
  br label %993

993:                                              ; preds = %992, %628, %627
  %.pn261.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn261.pn.pn.pn.pn.pn.pn.pn.pn.pn, %992 ], [ %629, %628 ], [ %.pn210.pn.pn.pn, %627 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %71) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %71) #5
  br label %994

994:                                              ; preds = %993, %591, %590
  %.pn261.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn261.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %993 ], [ %592, %591 ], [ %.pn205.pn.pn.pn, %590 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %66) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %66) #5
  br label %995

995:                                              ; preds = %994, %555, %221, %210, %199, %188
  %.pn261.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn261.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %994 ], [ %.pn192.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %555 ], [ %.pn143.pn.pn, %221 ], [ %.pn139.pn.pn, %210 ], [ %.pn135.pn.pn, %199 ], [ %.pn.pn.pn, %188 ]
  resume { ptr, i32 } %.pn261.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn
}

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind noalias writable sret(%"class.SimTKIpopt::SmartPtr.25") align 8, ptr noundef nonnull align 8 dereferenceable(864)) local_unnamed_addr #4 align 2

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

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

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

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

; 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 #2 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 #1 align 2

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

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 #3

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

declare noundef i32 @_ZN10SimTKIpopt25IpoptCalculatedQuantities19AdjustedTrialSlacksEv(ptr noundef nonnull align 8 dereferenceable(2025)) local_unnamed_addr #3

declare void @_ZN10SimTKIpopt25IpoptCalculatedQuantities24ResetAdjustedTrialSlacksEv(ptr noundef nonnull align 8 dereferenceable(2025)) local_unnamed_addr #3

declare noundef zeroext i1 @_ZNK10SimTKIpopt10Journalist13ProduceOutputENS_13EJournalLevelENS_16EJournalCategoryE(ptr noundef nonnull align 8 dereferenceable(40), i32 noundef, i32 noundef) local_unnamed_addr #3

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6MatrixEEptEv(ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #1 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 #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZNK10SimTKIpopt9IpoptData5trialEv(ptr dead_on_unwind noalias writable sret(%"class.SimTKIpopt::SmartPtr.25") align 8, ptr noundef nonnull align 8 dereferenceable(864)) local_unnamed_addr #4 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNK10SimTKIpopt14IteratesVector1xEv(ptr dead_on_unwind noalias writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8, ptr noundef nonnull align 8 dereferenceable(280)) local_unnamed_addr #2 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 #1 align 2

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN10SimTKIpopt6Vector4AxpyEdRKS0_(ptr noundef nonnull align 8 dereferenceable(205), double noundef, ptr noundef nonnull align 8 dereferenceable(205)) local_unnamed_addr #4 align 2

declare void @_ZN10SimTKIpopt25IpoptCalculatedQuantities15trial_slack_x_LEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8, ptr noundef nonnull align 8 dereferenceable(2025)) local_unnamed_addr #3

declare void @_ZN10SimTKIpopt25IpoptCalculatedQuantities15trial_slack_x_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8, ptr noundef nonnull align 8 dereferenceable(2025)) local_unnamed_addr #3

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

declare void @_ZN10SimTKIpopt25IpoptCalculatedQuantities15trial_slack_s_LEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8, ptr noundef nonnull align 8 dereferenceable(2025)) local_unnamed_addr #3

declare void @_ZN10SimTKIpopt25IpoptCalculatedQuantities15trial_slack_s_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8, ptr noundef nonnull align 8 dereferenceable(2025)) local_unnamed_addr #3

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

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef double @_ZN10SimTKIpopt14IpoptAlgorithm24correct_bound_multiplierERKNS_6VectorES3_S3_RNS_8SmartPtrIS2_EE(ptr noundef nonnull align 8 dereferenceable(152), 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(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.56") align 8, ptr noundef nonnull align 8 dereferenceable(280)) local_unnamed_addr #2 align 2

declare void @_ZN10SimTKIpopt25IpoptCalculatedQuantities15trial_compl_x_LEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8, ptr noundef nonnull align 8 dereferenceable(2025)) local_unnamed_addr #3

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

declare void @_ZN10SimTKIpopt25IpoptCalculatedQuantities15trial_compl_x_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8, ptr noundef nonnull align 8 dereferenceable(2025)) local_unnamed_addr #3

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

declare void @_ZN10SimTKIpopt25IpoptCalculatedQuantities15trial_compl_s_LEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8, ptr noundef nonnull align 8 dereferenceable(2025)) local_unnamed_addr #3

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

declare void @_ZN10SimTKIpopt25IpoptCalculatedQuantities15trial_compl_s_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.56") align 8, ptr noundef nonnull align 8 dereferenceable(2025)) local_unnamed_addr #3

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN10SimTKIpopt14IteratesVector14Set_bound_multERKNS_6VectorES3_S3_S3_(ptr noundef nonnull align 8 dereferenceable(280), 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 #2 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN10SimTKIpopt9IpoptData9set_trialERNS_8SmartPtrINS_14IteratesVectorEEE(ptr noundef nonnull align 8 dereferenceable(864), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #4 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 #2 align 2

declare void @_ZN10SimTKIpopt9IpoptData16AcceptTrialPointEv(ptr noundef nonnull align 8 dereferenceable(864)) local_unnamed_addr #3

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef i32 @_ZNK10SimTKIpopt6Vector3DimEv(ptr noundef nonnull align 8 dereferenceable(205)) local_unnamed_addr #4 align 2

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

declare noundef double @_ZN10SimTKIpopt25IpoptCalculatedQuantities25curr_constraint_violationEv(ptr noundef nonnull align 8 dereferenceable(2025)) local_unnamed_addr #3

declare noundef double @_ZN10SimTKIpopt25IpoptCalculatedQuantities23curr_dual_infeasibilityENS_9ENormTypeE(ptr noundef nonnull align 8 dereferenceable(2025), i32 noundef) local_unnamed_addr #3

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

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

attributes #0 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { inlinehint mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { 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 = !{!"vtable pointer", !7, i64 0}
!7 = !{!"Simple C++ TBAA"}
!8 = !{!9, !19, i64 136}
!9 = !{!"_ZTSN10SimTKIpopt14IpoptAlgorithmE", !10, i64 0, !20, i64 56, !21, i64 64, !22, i64 72, !23, i64 80, !24, i64 88, !25, i64 96, !26, i64 104, !27, i64 112, !19, i64 120, !28, i64 128, !19, i64 136, !28, i64 144}
!10 = !{!"_ZTSN10SimTKIpopt23AlgorithmStrategyObjectE", !11, i64 0, !14, i64 16, !16, i64 24, !17, i64 32, !18, i64 40, !19, i64 48}
!11 = !{!"_ZTSN10SimTKIpopt16ReferencedObjectE", !12, i64 8}
!12 = !{!"int", !13, i64 0}
!13 = !{!"omnipotent char", !7, i64 0}
!14 = !{!"_ZTSN10SimTKIpopt8SmartPtrIKNS_10JournalistEEE", !15, i64 0}
!15 = !{!"any pointer", !13, i64 0}
!16 = !{!"_ZTSN10SimTKIpopt8SmartPtrINS_8IpoptNLPEEE", !15, i64 0}
!17 = !{!"_ZTSN10SimTKIpopt8SmartPtrINS_9IpoptDataEEE", !15, i64 0}
!18 = !{!"_ZTSN10SimTKIpopt8SmartPtrINS_25IpoptCalculatedQuantitiesEEE", !15, i64 0}
!19 = !{!"bool", !13, i64 0}
!20 = !{!"_ZTSN10SimTKIpopt8SmartPtrINS_14PDSystemSolverEEE", !15, i64 0}
!21 = !{!"_ZTSN10SimTKIpopt8SmartPtrINS_10LineSearchEEE", !15, i64 0}
!22 = !{!"_ZTSN10SimTKIpopt8SmartPtrINS_8MuUpdateEEE", !15, i64 0}
!23 = !{!"_ZTSN10SimTKIpopt8SmartPtrINS_16ConvergenceCheckEEE", !15, i64 0}
!24 = !{!"_ZTSN10SimTKIpopt8SmartPtrINS_18IterateInitializerEEE", !15, i64 0}
!25 = !{!"_ZTSN10SimTKIpopt8SmartPtrINS_15IterationOutputEEE", !15, i64 0}
!26 = !{!"_ZTSN10SimTKIpopt8SmartPtrINS_14HessianUpdaterEEE", !15, i64 0}
!27 = !{!"_ZTSN10SimTKIpopt8SmartPtrINS_22EqMultiplierCalculatorEEE", !15, i64 0}
!28 = !{!"double", !13, i64 0}
!29 = !{i8 0, i8 2}
!30 = !{}
!31 = !{!9, !28, i64 144}


; Effective O3 passes: EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,InferFunctionAttrsPass,InstCombinePass,JumpThreadingPass,ReassociatePass,SROAPass,SimplifyCFGPass,TailCallElimPass