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

; 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.12" = type { ptr }
%"class.SimTKIpopt::SmartPtr.32" = type { ptr }
%"class.SimTKIpopt::SmartPtr.33" = type { ptr }
%"class.SimTKIpopt::SmartPtr.11" = type { ptr }
%"class.SimTKIpopt::SmartPtr.50" = 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.14" = type { i8 }
%"class.SimTKIpopt::QualityFunctionMuOracle" = type { %"class.SimTKIpopt::MuOracle.base", %"class.SimTKIpopt::SmartPtr.10", double, double, i32, i32, i32, double, double, i32, %"class.SimTKIpopt::SmartPtr.11", %"class.SimTKIpopt::SmartPtr.11", %"class.SimTKIpopt::SmartPtr.11", %"class.SimTKIpopt::SmartPtr.11", %"class.SimTKIpopt::SmartPtr.11", %"class.SimTKIpopt::SmartPtr.11", %"class.SimTKIpopt::SmartPtr.11", %"class.SimTKIpopt::SmartPtr.11", %"class.SimTKIpopt::SmartPtr.11", %"class.SimTKIpopt::SmartPtr.11", %"class.SimTKIpopt::SmartPtr.11", %"class.SimTKIpopt::SmartPtr.11", %"class.SimTKIpopt::SmartPtr.11", %"class.SimTKIpopt::SmartPtr.11", %"class.SimTKIpopt::SmartPtr.11", %"class.SimTKIpopt::SmartPtr.11", i32, i8, i32, i32, i32, %"class.SimTKIpopt::SmartPtr.12", %"class.SimTKIpopt::SmartPtr.12", %"class.SimTKIpopt::SmartPtr.12", %"class.SimTKIpopt::SmartPtr.12", %"class.SimTKIpopt::SmartPtr.12", %"class.SimTKIpopt::SmartPtr.12", %"class.SimTKIpopt::SmartPtr.12", %"class.SimTKIpopt::SmartPtr.12", double, double, double, double, double, double, double, double, double, double, double, double }
%"class.SimTKIpopt::MuOracle.base" = type { %"class.SimTKIpopt::AlgorithmStrategyObject.base" }
%"class.SimTKIpopt::AlgorithmStrategyObject.base" = type <{ %"class.SimTKIpopt::ReferencedObject.base", [4 x i8], %"class.SimTKIpopt::SmartPtr.6", %"class.SimTKIpopt::SmartPtr.7", %"class.SimTKIpopt::SmartPtr.8", %"class.SimTKIpopt::SmartPtr.9", i8 }>
%"class.SimTKIpopt::ReferencedObject.base" = type <{ ptr, i32 }>
%"class.SimTKIpopt::SmartPtr.6" = type { ptr }
%"class.SimTKIpopt::SmartPtr.7" = type { ptr }
%"class.SimTKIpopt::SmartPtr.8" = type { ptr }
%"class.SimTKIpopt::SmartPtr.9" = type { ptr }
%"class.SimTKIpopt::SmartPtr.10" = type { ptr }

@.str.42 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [7 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 dso_local void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) 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 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 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
define dso_local noundef zeroext i1 @_ZN10SimTKIpopt23QualityFunctionMuOracle11CalculateMuEddRd(ptr noundef nonnull align 8 dereferenceable(432) %0, double noundef %1, double noundef %2, ptr noundef nonnull align 8 dereferenceable(8) %3) unnamed_addr #2 align 2 personality ptr @__gxx_personality_v0 {
  %5 = alloca i1, align 1
  %6 = alloca ptr, align 8
  %7 = alloca double, align 8
  %8 = alloca double, align 8
  %9 = alloca ptr, align 8
  %10 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %11 = alloca ptr, align 8
  %12 = alloca i32, align 4
  %13 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %14 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %15 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %16 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %17 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %18 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %19 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %20 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %21 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %22 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %23 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %24 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %25 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %26 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %27 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %28 = alloca %"class.SimTKIpopt::SmartPtr.32", align 8
  %29 = alloca %"class.SimTKIpopt::SmartPtr.33", align 8
  %30 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %31 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %32 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %33 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %34 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %35 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %36 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %37 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %38 = alloca %"class.SimTKIpopt::SmartPtr.32", align 8
  %39 = alloca %"class.SimTKIpopt::SmartPtr.33", align 8
  %40 = alloca i8, align 1
  %41 = alloca i8, align 1
  %42 = alloca i32, align 4
  %43 = alloca double, align 8
  %44 = alloca %"class.SimTKIpopt::SmartPtr.32", align 8
  %45 = alloca %"class.SimTKIpopt::SmartPtr.33", align 8
  %46 = alloca %"class.SimTKIpopt::SmartPtr.11", align 8
  %47 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %48 = alloca %"class.SimTKIpopt::SmartPtr.11", align 8
  %49 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %50 = alloca %"class.SimTKIpopt::SmartPtr.11", align 8
  %51 = alloca %"class.SimTKIpopt::SmartPtr.11", align 8
  %52 = alloca %"class.SimTKIpopt::SmartPtr.11", align 8
  %53 = alloca %"class.SimTKIpopt::SmartPtr.11", align 8
  %54 = alloca %"class.SimTKIpopt::SmartPtr.11", align 8
  %55 = alloca %"class.SimTKIpopt::SmartPtr.11", align 8
  %56 = alloca %"class.SimTKIpopt::SmartPtr.32", align 8
  %57 = alloca %"class.SimTKIpopt::SmartPtr.33", align 8
  %58 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %59 = alloca %"class.SimTKIpopt::SmartPtr.33", align 8
  %60 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %61 = alloca %"class.SimTKIpopt::SmartPtr.33", align 8
  %62 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %63 = alloca %"class.SimTKIpopt::SmartPtr.33", align 8
  %64 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %65 = alloca %"class.SimTKIpopt::SmartPtr.33", align 8
  %66 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %67 = alloca %"class.SimTKIpopt::SmartPtr.33", align 8
  %68 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %69 = alloca %"class.SimTKIpopt::SmartPtr.33", align 8
  %70 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %71 = alloca %"class.SimTKIpopt::SmartPtr.33", align 8
  %72 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %73 = alloca %"class.SimTKIpopt::SmartPtr.33", align 8
  %74 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %75 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %76 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %77 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %78 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %79 = alloca %"class.SimTKIpopt::SmartPtr.33", align 8
  %80 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %81 = alloca %"class.SimTKIpopt::SmartPtr.33", align 8
  %82 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %83 = alloca %"class.SimTKIpopt::SmartPtr.33", align 8
  %84 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %85 = alloca %"class.SimTKIpopt::SmartPtr.33", align 8
  %86 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %87 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %88 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %89 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %90 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %91 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %92 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %93 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %94 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %95 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %96 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %97 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %98 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %99 = alloca %"class.SimTKIpopt::SmartPtr.33", align 8
  %100 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %101 = alloca %"class.SimTKIpopt::SmartPtr.33", align 8
  %102 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %103 = alloca %"class.SimTKIpopt::SmartPtr.33", align 8
  %104 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %105 = alloca %"class.SimTKIpopt::SmartPtr.33", align 8
  %106 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %107 = alloca %"class.SimTKIpopt::SmartPtr.33", align 8
  %108 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %109 = alloca %"class.SimTKIpopt::SmartPtr.33", align 8
  %110 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %111 = alloca %"class.SimTKIpopt::SmartPtr.33", align 8
  %112 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %113 = alloca %"class.SimTKIpopt::SmartPtr.33", align 8
  %114 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %115 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %116 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %117 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %118 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %119 = alloca %"class.SimTKIpopt::SmartPtr.33", align 8
  %120 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %121 = alloca %"class.SimTKIpopt::SmartPtr.33", align 8
  %122 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %123 = alloca %"class.SimTKIpopt::SmartPtr.33", align 8
  %124 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %125 = alloca %"class.SimTKIpopt::SmartPtr.33", align 8
  %126 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %127 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %128 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %129 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %130 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %131 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %132 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %133 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %134 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %135 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %136 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %137 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %138 = alloca %"class.SimTKIpopt::SmartPtr.11", align 8
  %139 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %140 = alloca %"class.SimTKIpopt::SmartPtr.11", align 8
  %141 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %142 = alloca %"class.SimTKIpopt::SmartPtr.11", align 8
  %143 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %144 = alloca %"class.SimTKIpopt::SmartPtr.11", align 8
  %145 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %146 = alloca %"class.SimTKIpopt::SmartPtr.50", align 8
  %147 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %148 = alloca %"class.SimTKIpopt::SmartPtr.50", align 8
  %149 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %150 = alloca %"class.SimTKIpopt::SmartPtr.50", align 8
  %151 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %152 = alloca %"class.SimTKIpopt::SmartPtr.50", align 8
  %153 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %154 = alloca %"class.SimTKIpopt::SmartPtr.11", align 8
  %155 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %156 = alloca %"class.SimTKIpopt::SmartPtr.11", align 8
  %157 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %158 = alloca %"class.SimTKIpopt::SmartPtr.11", align 8
  %159 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %160 = alloca %"class.SimTKIpopt::SmartPtr.11", align 8
  %161 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %162 = alloca %"class.SimTKIpopt::SmartPtr.50", align 8
  %163 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %164 = alloca %"class.SimTKIpopt::SmartPtr.50", align 8
  %165 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %166 = alloca %"class.SimTKIpopt::SmartPtr.50", align 8
  %167 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %168 = alloca %"class.SimTKIpopt::SmartPtr.50", align 8
  %169 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %170 = alloca double, align 8
  %171 = alloca double, align 8
  %172 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %173 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %174 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %175 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %176 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %177 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %178 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %179 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %180 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %181 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %182 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %183 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %184 = alloca double, align 8
  %185 = alloca double, align 8
  %186 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %187 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %188 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %189 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %190 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %191 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %192 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %193 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %194 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %195 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %196 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %197 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %198 = alloca double, align 8
  %199 = alloca double, align 8
  %200 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %201 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %202 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %203 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %204 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %205 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %206 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %207 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %208 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %209 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %210 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %211 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %212 = alloca double, align 8
  %213 = alloca double, align 8
  %214 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %215 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %216 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %217 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %218 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %219 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %220 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %221 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %222 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %223 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %224 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %225 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %226 = alloca double, align 8
  %227 = alloca %"class.SimTKIpopt::SmartPtr.32", align 8
  %228 = alloca %"class.SimTKIpopt::SmartPtr.33", align 8
  %229 = alloca %"class.SimTKIpopt::SmartPtr.33", align 8
  %230 = alloca i32, align 4
  %231 = alloca [40 x i8], align 16
  %232 = alloca %"class.std::__cxx11::basic_string", align 8
  %233 = alloca %"class.std::allocator.14", align 1
  %234 = alloca %"class.std::__cxx11::basic_string", align 8
  %235 = alloca %"class.std::allocator.14", align 1
  store ptr %0, ptr %6, align 8, !tbaa !5
  store double %1, ptr %7, align 8, !tbaa !9
  store double %2, ptr %8, align 8, !tbaa !9
  store ptr %3, ptr %9, align 8, !tbaa !5
  %236 = load ptr, ptr %6, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %10) #7
  %237 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
  %238 = load ptr, ptr %237, align 8, !tbaa !11
  %239 = getelementptr inbounds ptr, ptr %238, i64 12
  %240 = load ptr, ptr %239, align 8
  call void %240(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %10, ptr noundef nonnull align 8 dereferenceable(24) %237)
  %241 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %10)
          to label %242 unwind label %509

242:                                              ; preds = %4
  %243 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector7MakeNewEv(ptr noundef nonnull align 8 dereferenceable(205) %241)
          to label %244 unwind label %509

244:                                              ; preds = %242
  %245 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 10
  %246 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %245, ptr noundef %243)
          to label %247 unwind label %509

247:                                              ; preds = %244
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %10) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %10) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %13) #7
  %248 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
  %249 = load ptr, ptr %248, align 8, !tbaa !11
  %250 = getelementptr inbounds ptr, ptr %249, i64 14
  %251 = load ptr, ptr %250, align 8
  call void %251(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %13, ptr noundef nonnull align 8 dereferenceable(24) %248)
  %252 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %13)
          to label %253 unwind label %513

253:                                              ; preds = %247
  %254 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector7MakeNewEv(ptr noundef nonnull align 8 dereferenceable(205) %252)
          to label %255 unwind label %513

255:                                              ; preds = %253
  %256 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 11
  %257 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %256, ptr noundef %254)
          to label %258 unwind label %513

258:                                              ; preds = %255
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %13) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %13) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %14) #7
  %259 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
  %260 = load ptr, ptr %259, align 8, !tbaa !11
  %261 = getelementptr inbounds ptr, ptr %260, i64 16
  %262 = load ptr, ptr %261, align 8
  call void %262(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %14, ptr noundef nonnull align 8 dereferenceable(24) %259)
  %263 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %14)
          to label %264 unwind label %517

264:                                              ; preds = %258
  %265 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector7MakeNewEv(ptr noundef nonnull align 8 dereferenceable(205) %263)
          to label %266 unwind label %517

266:                                              ; preds = %264
  %267 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 12
  %268 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %267, ptr noundef %265)
          to label %269 unwind label %517

269:                                              ; preds = %266
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %14) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %14) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %15) #7
  %270 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
  %271 = load ptr, ptr %270, align 8, !tbaa !11
  %272 = getelementptr inbounds ptr, ptr %271, i64 18
  %273 = load ptr, ptr %272, align 8
  call void %273(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %15, ptr noundef nonnull align 8 dereferenceable(24) %270)
  %274 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %15)
          to label %275 unwind label %521

275:                                              ; preds = %269
  %276 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector7MakeNewEv(ptr noundef nonnull align 8 dereferenceable(205) %274)
          to label %277 unwind label %521

277:                                              ; preds = %275
  %278 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 13
  %279 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %278, ptr noundef %276)
          to label %280 unwind label %521

280:                                              ; preds = %277
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %15) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %15) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %16) #7
  %281 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
  %282 = load ptr, ptr %281, align 8, !tbaa !11
  %283 = getelementptr inbounds ptr, ptr %282, i64 12
  %284 = load ptr, ptr %283, align 8
  call void %284(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %16, ptr noundef nonnull align 8 dereferenceable(24) %281)
  %285 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %16)
          to label %286 unwind label %525

286:                                              ; preds = %280
  %287 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector7MakeNewEv(ptr noundef nonnull align 8 dereferenceable(205) %285)
          to label %288 unwind label %525

288:                                              ; preds = %286
  %289 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 14
  %290 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %289, ptr noundef %287)
          to label %291 unwind label %525

291:                                              ; preds = %288
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %16) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %16) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %17) #7
  %292 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
  %293 = load ptr, ptr %292, align 8, !tbaa !11
  %294 = getelementptr inbounds ptr, ptr %293, i64 14
  %295 = load ptr, ptr %294, align 8
  call void %295(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %17, ptr noundef nonnull align 8 dereferenceable(24) %292)
  %296 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %17)
          to label %297 unwind label %529

297:                                              ; preds = %291
  %298 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector7MakeNewEv(ptr noundef nonnull align 8 dereferenceable(205) %296)
          to label %299 unwind label %529

299:                                              ; preds = %297
  %300 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 15
  %301 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %300, ptr noundef %298)
          to label %302 unwind label %529

302:                                              ; preds = %299
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %17) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %17) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %18) #7
  %303 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
  %304 = load ptr, ptr %303, align 8, !tbaa !11
  %305 = getelementptr inbounds ptr, ptr %304, i64 16
  %306 = load ptr, ptr %305, align 8
  call void %306(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %18, ptr noundef nonnull align 8 dereferenceable(24) %303)
  %307 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %18)
          to label %308 unwind label %533

308:                                              ; preds = %302
  %309 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector7MakeNewEv(ptr noundef nonnull align 8 dereferenceable(205) %307)
          to label %310 unwind label %533

310:                                              ; preds = %308
  %311 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 16
  %312 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %311, ptr noundef %309)
          to label %313 unwind label %533

313:                                              ; preds = %310
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %18) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %18) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %19) #7
  %314 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
  %315 = load ptr, ptr %314, align 8, !tbaa !11
  %316 = getelementptr inbounds ptr, ptr %315, i64 18
  %317 = load ptr, ptr %316, align 8
  call void %317(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %19, ptr noundef nonnull align 8 dereferenceable(24) %314)
  %318 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %19)
          to label %319 unwind label %537

319:                                              ; preds = %313
  %320 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector7MakeNewEv(ptr noundef nonnull align 8 dereferenceable(205) %318)
          to label %321 unwind label %537

321:                                              ; preds = %319
  %322 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 17
  %323 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %322, ptr noundef %320)
          to label %324 unwind label %537

324:                                              ; preds = %321
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %19) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %20) #7
  %325 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
  %326 = load ptr, ptr %325, align 8, !tbaa !11
  %327 = getelementptr inbounds ptr, ptr %326, i64 12
  %328 = load ptr, ptr %327, align 8
  call void %328(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %20, ptr noundef nonnull align 8 dereferenceable(24) %325)
  %329 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %20)
          to label %330 unwind label %541

330:                                              ; preds = %324
  %331 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector7MakeNewEv(ptr noundef nonnull align 8 dereferenceable(205) %329)
          to label %332 unwind label %541

332:                                              ; preds = %330
  %333 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 18
  %334 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %333, ptr noundef %331)
          to label %335 unwind label %541

335:                                              ; preds = %332
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %20) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %20) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %21) #7
  %336 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
  %337 = load ptr, ptr %336, align 8, !tbaa !11
  %338 = getelementptr inbounds ptr, ptr %337, i64 14
  %339 = load ptr, ptr %338, align 8
  call void %339(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %21, ptr noundef nonnull align 8 dereferenceable(24) %336)
  %340 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %21)
          to label %341 unwind label %545

341:                                              ; preds = %335
  %342 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector7MakeNewEv(ptr noundef nonnull align 8 dereferenceable(205) %340)
          to label %343 unwind label %545

343:                                              ; preds = %341
  %344 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 19
  %345 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %344, ptr noundef %342)
          to label %346 unwind label %545

346:                                              ; preds = %343
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %21) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %22) #7
  %347 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
  %348 = load ptr, ptr %347, align 8, !tbaa !11
  %349 = getelementptr inbounds ptr, ptr %348, i64 16
  %350 = load ptr, ptr %349, align 8
  call void %350(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %22, ptr noundef nonnull align 8 dereferenceable(24) %347)
  %351 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %22)
          to label %352 unwind label %549

352:                                              ; preds = %346
  %353 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector7MakeNewEv(ptr noundef nonnull align 8 dereferenceable(205) %351)
          to label %354 unwind label %549

354:                                              ; preds = %352
  %355 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 20
  %356 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %355, ptr noundef %353)
          to label %357 unwind label %549

357:                                              ; preds = %354
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %22) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %23) #7
  %358 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
  %359 = load ptr, ptr %358, align 8, !tbaa !11
  %360 = getelementptr inbounds ptr, ptr %359, i64 18
  %361 = load ptr, ptr %360, align 8
  call void %361(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %23, ptr noundef nonnull align 8 dereferenceable(24) %358)
  %362 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %23)
          to label %363 unwind label %553

363:                                              ; preds = %357
  %364 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector7MakeNewEv(ptr noundef nonnull align 8 dereferenceable(205) %362)
          to label %365 unwind label %553

365:                                              ; preds = %363
  %366 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 21
  %367 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %366, ptr noundef %364)
          to label %368 unwind label %553

368:                                              ; preds = %365
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %23) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %23) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %24) #7
  %369 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
  %370 = load ptr, ptr %369, align 8, !tbaa !11
  %371 = getelementptr inbounds ptr, ptr %370, i64 12
  %372 = load ptr, ptr %371, align 8
  call void %372(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %24, ptr noundef nonnull align 8 dereferenceable(24) %369)
  %373 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %24)
          to label %374 unwind label %557

374:                                              ; preds = %368
  %375 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector7MakeNewEv(ptr noundef nonnull align 8 dereferenceable(205) %373)
          to label %376 unwind label %557

376:                                              ; preds = %374
  %377 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 22
  %378 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %377, ptr noundef %375)
          to label %379 unwind label %557

379:                                              ; preds = %376
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %24) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %25) #7
  %380 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
  %381 = load ptr, ptr %380, align 8, !tbaa !11
  %382 = getelementptr inbounds ptr, ptr %381, i64 14
  %383 = load ptr, ptr %382, align 8
  call void %383(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %25, ptr noundef nonnull align 8 dereferenceable(24) %380)
  %384 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %25)
          to label %385 unwind label %561

385:                                              ; preds = %379
  %386 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector7MakeNewEv(ptr noundef nonnull align 8 dereferenceable(205) %384)
          to label %387 unwind label %561

387:                                              ; preds = %385
  %388 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 23
  %389 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %388, ptr noundef %386)
          to label %390 unwind label %561

390:                                              ; preds = %387
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %25) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %26) #7
  %391 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
  %392 = load ptr, ptr %391, align 8, !tbaa !11
  %393 = getelementptr inbounds ptr, ptr %392, i64 16
  %394 = load ptr, ptr %393, align 8
  call void %394(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %26, ptr noundef nonnull align 8 dereferenceable(24) %391)
  %395 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %26)
          to label %396 unwind label %565

396:                                              ; preds = %390
  %397 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector7MakeNewEv(ptr noundef nonnull align 8 dereferenceable(205) %395)
          to label %398 unwind label %565

398:                                              ; preds = %396
  %399 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 24
  %400 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %399, ptr noundef %397)
          to label %401 unwind label %565

401:                                              ; preds = %398
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %26) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %26) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %27) #7
  %402 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
  %403 = load ptr, ptr %402, align 8, !tbaa !11
  %404 = getelementptr inbounds ptr, ptr %403, i64 18
  %405 = load ptr, ptr %404, align 8
  call void %405(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %27, ptr noundef nonnull align 8 dereferenceable(24) %402)
  %406 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %27)
          to label %407 unwind label %569

407:                                              ; preds = %401
  %408 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector7MakeNewEv(ptr noundef nonnull align 8 dereferenceable(205) %406)
          to label %409 unwind label %569

409:                                              ; preds = %407
  %410 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 25
  %411 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %410, ptr noundef %408)
          to label %412 unwind label %569

412:                                              ; preds = %409
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %27) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #7
  %413 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5JnlstEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
  call void (ptr, i32, i32, ptr, ...) @_ZNK10SimTKIpopt10Journalist6PrintfENS_13EJournalLevelENS_16EJournalCategoryEPKcz(ptr noundef nonnull align 8 dereferenceable(40) %413, i32 noundef 5, i32 noundef 4, ptr noundef @.str.42)
  call void @llvm.lifetime.start.p0(i64 8, ptr %28) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %29) #7
  %414 = call noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
  call void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.33") align 8 %29, ptr noundef nonnull align 8 dereferenceable(864) %414)
  %415 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %29)
          to label %416 unwind label %573

416:                                              ; preds = %412
  invoke void @_ZNK10SimTKIpopt14IteratesVector21MakeNewIteratesVectorEb(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.32") align 8 %28, ptr noundef nonnull align 8 dereferenceable(280) %415, i1 noundef zeroext false)
          to label %417 unwind label %573

417:                                              ; preds = %416
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %29) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %29) #7
  %418 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %28)
          to label %419 unwind label %577

419:                                              ; preds = %417
  call void @llvm.lifetime.start.p0(i64 8, ptr %30) #7
  %420 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %421 unwind label %581

421:                                              ; preds = %419
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities15curr_grad_lag_xEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %30, ptr noundef nonnull align 8 dereferenceable(2025) %420)
          to label %422 unwind label %581

422:                                              ; preds = %421
  %423 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %30)
          to label %424 unwind label %585

424:                                              ; preds = %422
  invoke void @_ZN10SimTKIpopt14IteratesVector5Set_xERKNS_6VectorE(ptr noundef nonnull align 8 dereferenceable(280) %418, ptr noundef nonnull align 8 dereferenceable(205) %423)
          to label %425 unwind label %585

425:                                              ; preds = %424
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %30) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #7
  %426 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %28)
          to label %427 unwind label %577

427:                                              ; preds = %425
  call void @llvm.lifetime.start.p0(i64 8, ptr %31) #7
  %428 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %429 unwind label %590

429:                                              ; preds = %427
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities15curr_grad_lag_sEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %31, ptr noundef nonnull align 8 dereferenceable(2025) %428)
          to label %430 unwind label %590

430:                                              ; preds = %429
  %431 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %31)
          to label %432 unwind label %594

432:                                              ; preds = %430
  invoke void @_ZN10SimTKIpopt14IteratesVector5Set_sERKNS_6VectorE(ptr noundef nonnull align 8 dereferenceable(280) %426, ptr noundef nonnull align 8 dereferenceable(205) %431)
          to label %433 unwind label %594

433:                                              ; preds = %432
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %31) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #7
  %434 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %28)
          to label %435 unwind label %577

435:                                              ; preds = %433
  call void @llvm.lifetime.start.p0(i64 8, ptr %32) #7
  %436 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %437 unwind label %599

437:                                              ; preds = %435
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities6curr_cEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %32, ptr noundef nonnull align 8 dereferenceable(2025) %436)
          to label %438 unwind label %599

438:                                              ; preds = %437
  %439 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %32)
          to label %440 unwind label %603

440:                                              ; preds = %438
  invoke void @_ZN10SimTKIpopt14IteratesVector7Set_y_cERKNS_6VectorE(ptr noundef nonnull align 8 dereferenceable(280) %434, ptr noundef nonnull align 8 dereferenceable(205) %439)
          to label %441 unwind label %603

441:                                              ; preds = %440
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %32) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #7
  %442 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %28)
          to label %443 unwind label %577

443:                                              ; preds = %441
  call void @llvm.lifetime.start.p0(i64 8, ptr %33) #7
  %444 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %445 unwind label %608

445:                                              ; preds = %443
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_d_minus_sEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %33, ptr noundef nonnull align 8 dereferenceable(2025) %444)
          to label %446 unwind label %608

446:                                              ; preds = %445
  %447 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %33)
          to label %448 unwind label %612

448:                                              ; preds = %446
  invoke void @_ZN10SimTKIpopt14IteratesVector7Set_y_dERKNS_6VectorE(ptr noundef nonnull align 8 dereferenceable(280) %442, ptr noundef nonnull align 8 dereferenceable(205) %447)
          to label %449 unwind label %612

449:                                              ; preds = %448
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %33) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %33) #7
  %450 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %28)
          to label %451 unwind label %577

451:                                              ; preds = %449
  call void @llvm.lifetime.start.p0(i64 8, ptr %34) #7
  %452 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %453 unwind label %617

453:                                              ; preds = %451
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_compl_x_LEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %34, ptr noundef nonnull align 8 dereferenceable(2025) %452)
          to label %454 unwind label %617

454:                                              ; preds = %453
  %455 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %34)
          to label %456 unwind label %621

456:                                              ; preds = %454
  invoke void @_ZN10SimTKIpopt14IteratesVector7Set_z_LERKNS_6VectorE(ptr noundef nonnull align 8 dereferenceable(280) %450, ptr noundef nonnull align 8 dereferenceable(205) %455)
          to label %457 unwind label %621

457:                                              ; preds = %456
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %34) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %34) #7
  %458 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %28)
          to label %459 unwind label %577

459:                                              ; preds = %457
  call void @llvm.lifetime.start.p0(i64 8, ptr %35) #7
  %460 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %461 unwind label %626

461:                                              ; preds = %459
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_compl_x_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %35, ptr noundef nonnull align 8 dereferenceable(2025) %460)
          to label %462 unwind label %626

462:                                              ; preds = %461
  %463 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %35)
          to label %464 unwind label %630

464:                                              ; preds = %462
  invoke void @_ZN10SimTKIpopt14IteratesVector7Set_z_UERKNS_6VectorE(ptr noundef nonnull align 8 dereferenceable(280) %458, ptr noundef nonnull align 8 dereferenceable(205) %463)
          to label %465 unwind label %630

465:                                              ; preds = %464
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %35) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %35) #7
  %466 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %28)
          to label %467 unwind label %577

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

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

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

472:                                              ; preds = %470
  invoke void @_ZN10SimTKIpopt14IteratesVector7Set_v_LERKNS_6VectorE(ptr noundef nonnull align 8 dereferenceable(280) %466, ptr noundef nonnull align 8 dereferenceable(205) %471)
          to label %473 unwind label %639

473:                                              ; preds = %472
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %36) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #7
  %474 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %28)
          to label %475 unwind label %577

475:                                              ; preds = %473
  call void @llvm.lifetime.start.p0(i64 8, ptr %37) #7
  %476 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %477 unwind label %644

477:                                              ; preds = %475
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_compl_s_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %37, ptr noundef nonnull align 8 dereferenceable(2025) %476)
          to label %478 unwind label %644

478:                                              ; preds = %477
  %479 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %37)
          to label %480 unwind label %648

480:                                              ; preds = %478
  invoke void @_ZN10SimTKIpopt14IteratesVector7Set_v_UERKNS_6VectorE(ptr noundef nonnull align 8 dereferenceable(280) %474, ptr noundef nonnull align 8 dereferenceable(205) %479)
          to label %481 unwind label %648

481:                                              ; preds = %480
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %37) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %38) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %39) #7
  %482 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %483 unwind label %653

483:                                              ; preds = %481
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.33") align 8 %39, ptr noundef nonnull align 8 dereferenceable(864) %482)
          to label %484 unwind label %653

484:                                              ; preds = %483
  %485 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %39)
          to label %486 unwind label %657

486:                                              ; preds = %484
  invoke void @_ZNK10SimTKIpopt14IteratesVector21MakeNewIteratesVectorEb(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.32") align 8 %38, ptr noundef nonnull align 8 dereferenceable(280) %485, i1 noundef zeroext true)
          to label %487 unwind label %657

487:                                              ; preds = %486
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %39) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %39) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %40) #7
  store i8 1, ptr %40, align 1, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 1, ptr %41) #7
  %488 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 1
  %489 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14PDSystemSolverEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %488)
          to label %490 unwind label %662

490:                                              ; preds = %487
  %491 = invoke noundef nonnull align 8 dereferenceable(280) ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %28)
          to label %492 unwind label %662

492:                                              ; preds = %490
  %493 = invoke noundef nonnull align 8 dereferenceable(280) ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %38)
          to label %494 unwind label %662

494:                                              ; preds = %492
  %495 = load i8, ptr %40, align 1, !tbaa !13, !range !15, !noundef !16
  %496 = trunc i8 %495 to i1
  %497 = load ptr, ptr %489, align 8, !tbaa !11
  %498 = getelementptr inbounds ptr, ptr %497, i64 3
  %499 = load ptr, ptr %498, align 8
  %500 = invoke noundef zeroext i1 %499(ptr noundef nonnull align 8 dereferenceable(49) %489, double noundef -1.000000e+00, double noundef 0.000000e+00, ptr noundef nonnull align 8 dereferenceable(280) %491, ptr noundef nonnull align 8 dereferenceable(280) %493, i1 noundef zeroext %496, i1 noundef zeroext false)
          to label %501 unwind label %662

501:                                              ; preds = %494
  %502 = zext i1 %500 to i8
  store i8 %502, ptr %41, align 1, !tbaa !13
  %503 = load i8, ptr %41, align 1, !tbaa !13, !range !15, !noundef !16
  %504 = trunc i8 %503 to i1
  br i1 %504, label %666, label %505

505:                                              ; preds = %501
  %506 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5JnlstEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %507 unwind label %662

507:                                              ; preds = %505
  invoke void (ptr, i32, i32, ptr, ...) @_ZNK10SimTKIpopt10Journalist6PrintfENS_13EJournalLevelENS_16EJournalCategoryEPKcz(ptr noundef nonnull align 8 dereferenceable(40) %506, i32 noundef 5, i32 noundef 4, ptr noundef @.str.43)
          to label %508 unwind label %662

508:                                              ; preds = %507
  store i1 false, ptr %5, align 1
  store i32 1, ptr %42, align 4
  br label %3569

509:                                              ; preds = %244, %242, %4
  %510 = landingpad { ptr, i32 }
          cleanup
  %511 = extractvalue { ptr, i32 } %510, 0
  store ptr %511, ptr %11, align 8
  %512 = extractvalue { ptr, i32 } %510, 1
  store i32 %512, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %10) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %10) #7
  br label %3575

513:                                              ; preds = %255, %253, %247
  %514 = landingpad { ptr, i32 }
          cleanup
  %515 = extractvalue { ptr, i32 } %514, 0
  store ptr %515, ptr %11, align 8
  %516 = extractvalue { ptr, i32 } %514, 1
  store i32 %516, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %13) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %13) #7
  br label %3575

517:                                              ; preds = %266, %264, %258
  %518 = landingpad { ptr, i32 }
          cleanup
  %519 = extractvalue { ptr, i32 } %518, 0
  store ptr %519, ptr %11, align 8
  %520 = extractvalue { ptr, i32 } %518, 1
  store i32 %520, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %14) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %14) #7
  br label %3575

521:                                              ; preds = %277, %275, %269
  %522 = landingpad { ptr, i32 }
          cleanup
  %523 = extractvalue { ptr, i32 } %522, 0
  store ptr %523, ptr %11, align 8
  %524 = extractvalue { ptr, i32 } %522, 1
  store i32 %524, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %15) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %15) #7
  br label %3575

525:                                              ; preds = %288, %286, %280
  %526 = landingpad { ptr, i32 }
          cleanup
  %527 = extractvalue { ptr, i32 } %526, 0
  store ptr %527, ptr %11, align 8
  %528 = extractvalue { ptr, i32 } %526, 1
  store i32 %528, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %16) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %16) #7
  br label %3575

529:                                              ; preds = %299, %297, %291
  %530 = landingpad { ptr, i32 }
          cleanup
  %531 = extractvalue { ptr, i32 } %530, 0
  store ptr %531, ptr %11, align 8
  %532 = extractvalue { ptr, i32 } %530, 1
  store i32 %532, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %17) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %17) #7
  br label %3575

533:                                              ; preds = %310, %308, %302
  %534 = landingpad { ptr, i32 }
          cleanup
  %535 = extractvalue { ptr, i32 } %534, 0
  store ptr %535, ptr %11, align 8
  %536 = extractvalue { ptr, i32 } %534, 1
  store i32 %536, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %18) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %18) #7
  br label %3575

537:                                              ; preds = %321, %319, %313
  %538 = landingpad { ptr, i32 }
          cleanup
  %539 = extractvalue { ptr, i32 } %538, 0
  store ptr %539, ptr %11, align 8
  %540 = extractvalue { ptr, i32 } %538, 1
  store i32 %540, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %19) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #7
  br label %3575

541:                                              ; preds = %332, %330, %324
  %542 = landingpad { ptr, i32 }
          cleanup
  %543 = extractvalue { ptr, i32 } %542, 0
  store ptr %543, ptr %11, align 8
  %544 = extractvalue { ptr, i32 } %542, 1
  store i32 %544, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %20) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %20) #7
  br label %3575

545:                                              ; preds = %343, %341, %335
  %546 = landingpad { ptr, i32 }
          cleanup
  %547 = extractvalue { ptr, i32 } %546, 0
  store ptr %547, ptr %11, align 8
  %548 = extractvalue { ptr, i32 } %546, 1
  store i32 %548, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %21) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #7
  br label %3575

549:                                              ; preds = %354, %352, %346
  %550 = landingpad { ptr, i32 }
          cleanup
  %551 = extractvalue { ptr, i32 } %550, 0
  store ptr %551, ptr %11, align 8
  %552 = extractvalue { ptr, i32 } %550, 1
  store i32 %552, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %22) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #7
  br label %3575

553:                                              ; preds = %365, %363, %357
  %554 = landingpad { ptr, i32 }
          cleanup
  %555 = extractvalue { ptr, i32 } %554, 0
  store ptr %555, ptr %11, align 8
  %556 = extractvalue { ptr, i32 } %554, 1
  store i32 %556, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %23) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %23) #7
  br label %3575

557:                                              ; preds = %376, %374, %368
  %558 = landingpad { ptr, i32 }
          cleanup
  %559 = extractvalue { ptr, i32 } %558, 0
  store ptr %559, ptr %11, align 8
  %560 = extractvalue { ptr, i32 } %558, 1
  store i32 %560, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %24) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #7
  br label %3575

561:                                              ; preds = %387, %385, %379
  %562 = landingpad { ptr, i32 }
          cleanup
  %563 = extractvalue { ptr, i32 } %562, 0
  store ptr %563, ptr %11, align 8
  %564 = extractvalue { ptr, i32 } %562, 1
  store i32 %564, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %25) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #7
  br label %3575

565:                                              ; preds = %398, %396, %390
  %566 = landingpad { ptr, i32 }
          cleanup
  %567 = extractvalue { ptr, i32 } %566, 0
  store ptr %567, ptr %11, align 8
  %568 = extractvalue { ptr, i32 } %566, 1
  store i32 %568, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %26) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %26) #7
  br label %3575

569:                                              ; preds = %409, %407, %401
  %570 = landingpad { ptr, i32 }
          cleanup
  %571 = extractvalue { ptr, i32 } %570, 0
  store ptr %571, ptr %11, align 8
  %572 = extractvalue { ptr, i32 } %570, 1
  store i32 %572, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %27) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #7
  br label %3575

573:                                              ; preds = %416, %412
  %574 = landingpad { ptr, i32 }
          cleanup
  %575 = extractvalue { ptr, i32 } %574, 0
  store ptr %575, ptr %11, align 8
  %576 = extractvalue { ptr, i32 } %574, 1
  store i32 %576, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %29) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %29) #7
  br label %3574

577:                                              ; preds = %473, %465, %457, %449, %441, %433, %425, %417
  %578 = landingpad { ptr, i32 }
          cleanup
  %579 = extractvalue { ptr, i32 } %578, 0
  store ptr %579, ptr %11, align 8
  %580 = extractvalue { ptr, i32 } %578, 1
  store i32 %580, ptr %12, align 4
  br label %3573

581:                                              ; preds = %421, %419
  %582 = landingpad { ptr, i32 }
          cleanup
  %583 = extractvalue { ptr, i32 } %582, 0
  store ptr %583, ptr %11, align 8
  %584 = extractvalue { ptr, i32 } %582, 1
  store i32 %584, ptr %12, align 4
  br label %589

585:                                              ; preds = %424, %422
  %586 = landingpad { ptr, i32 }
          cleanup
  %587 = extractvalue { ptr, i32 } %586, 0
  store ptr %587, ptr %11, align 8
  %588 = extractvalue { ptr, i32 } %586, 1
  store i32 %588, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %30) #7
  br label %589

589:                                              ; preds = %585, %581
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #7
  br label %3573

590:                                              ; preds = %429, %427
  %591 = landingpad { ptr, i32 }
          cleanup
  %592 = extractvalue { ptr, i32 } %591, 0
  store ptr %592, ptr %11, align 8
  %593 = extractvalue { ptr, i32 } %591, 1
  store i32 %593, ptr %12, align 4
  br label %598

594:                                              ; preds = %432, %430
  %595 = landingpad { ptr, i32 }
          cleanup
  %596 = extractvalue { ptr, i32 } %595, 0
  store ptr %596, ptr %11, align 8
  %597 = extractvalue { ptr, i32 } %595, 1
  store i32 %597, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %31) #7
  br label %598

598:                                              ; preds = %594, %590
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #7
  br label %3573

599:                                              ; preds = %437, %435
  %600 = landingpad { ptr, i32 }
          cleanup
  %601 = extractvalue { ptr, i32 } %600, 0
  store ptr %601, ptr %11, align 8
  %602 = extractvalue { ptr, i32 } %600, 1
  store i32 %602, ptr %12, align 4
  br label %607

603:                                              ; preds = %440, %438
  %604 = landingpad { ptr, i32 }
          cleanup
  %605 = extractvalue { ptr, i32 } %604, 0
  store ptr %605, ptr %11, align 8
  %606 = extractvalue { ptr, i32 } %604, 1
  store i32 %606, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %32) #7
  br label %607

607:                                              ; preds = %603, %599
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #7
  br label %3573

608:                                              ; preds = %445, %443
  %609 = landingpad { ptr, i32 }
          cleanup
  %610 = extractvalue { ptr, i32 } %609, 0
  store ptr %610, ptr %11, align 8
  %611 = extractvalue { ptr, i32 } %609, 1
  store i32 %611, ptr %12, align 4
  br label %616

612:                                              ; preds = %448, %446
  %613 = landingpad { ptr, i32 }
          cleanup
  %614 = extractvalue { ptr, i32 } %613, 0
  store ptr %614, ptr %11, align 8
  %615 = extractvalue { ptr, i32 } %613, 1
  store i32 %615, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %33) #7
  br label %616

616:                                              ; preds = %612, %608
  call void @llvm.lifetime.end.p0(i64 8, ptr %33) #7
  br label %3573

617:                                              ; preds = %453, %451
  %618 = landingpad { ptr, i32 }
          cleanup
  %619 = extractvalue { ptr, i32 } %618, 0
  store ptr %619, ptr %11, align 8
  %620 = extractvalue { ptr, i32 } %618, 1
  store i32 %620, ptr %12, align 4
  br label %625

621:                                              ; preds = %456, %454
  %622 = landingpad { ptr, i32 }
          cleanup
  %623 = extractvalue { ptr, i32 } %622, 0
  store ptr %623, ptr %11, align 8
  %624 = extractvalue { ptr, i32 } %622, 1
  store i32 %624, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %34) #7
  br label %625

625:                                              ; preds = %621, %617
  call void @llvm.lifetime.end.p0(i64 8, ptr %34) #7
  br label %3573

626:                                              ; preds = %461, %459
  %627 = landingpad { ptr, i32 }
          cleanup
  %628 = extractvalue { ptr, i32 } %627, 0
  store ptr %628, ptr %11, align 8
  %629 = extractvalue { ptr, i32 } %627, 1
  store i32 %629, ptr %12, align 4
  br label %634

630:                                              ; preds = %464, %462
  %631 = landingpad { ptr, i32 }
          cleanup
  %632 = extractvalue { ptr, i32 } %631, 0
  store ptr %632, ptr %11, align 8
  %633 = extractvalue { ptr, i32 } %631, 1
  store i32 %633, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %35) #7
  br label %634

634:                                              ; preds = %630, %626
  call void @llvm.lifetime.end.p0(i64 8, ptr %35) #7
  br label %3573

635:                                              ; preds = %469, %467
  %636 = landingpad { ptr, i32 }
          cleanup
  %637 = extractvalue { ptr, i32 } %636, 0
  store ptr %637, ptr %11, align 8
  %638 = extractvalue { ptr, i32 } %636, 1
  store i32 %638, ptr %12, align 4
  br label %643

639:                                              ; preds = %472, %470
  %640 = landingpad { ptr, i32 }
          cleanup
  %641 = extractvalue { ptr, i32 } %640, 0
  store ptr %641, ptr %11, align 8
  %642 = extractvalue { ptr, i32 } %640, 1
  store i32 %642, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %36) #7
  br label %643

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

644:                                              ; preds = %477, %475
  %645 = landingpad { ptr, i32 }
          cleanup
  %646 = extractvalue { ptr, i32 } %645, 0
  store ptr %646, ptr %11, align 8
  %647 = extractvalue { ptr, i32 } %645, 1
  store i32 %647, ptr %12, align 4
  br label %652

648:                                              ; preds = %480, %478
  %649 = landingpad { ptr, i32 }
          cleanup
  %650 = extractvalue { ptr, i32 } %649, 0
  store ptr %650, ptr %11, align 8
  %651 = extractvalue { ptr, i32 } %649, 1
  store i32 %651, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %37) #7
  br label %652

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

653:                                              ; preds = %483, %481
  %654 = landingpad { ptr, i32 }
          cleanup
  %655 = extractvalue { ptr, i32 } %654, 0
  store ptr %655, ptr %11, align 8
  %656 = extractvalue { ptr, i32 } %654, 1
  store i32 %656, ptr %12, align 4
  br label %661

657:                                              ; preds = %486, %484
  %658 = landingpad { ptr, i32 }
          cleanup
  %659 = extractvalue { ptr, i32 } %658, 0
  store ptr %659, ptr %11, align 8
  %660 = extractvalue { ptr, i32 } %658, 1
  store i32 %660, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %39) #7
  br label %661

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

662:                                              ; preds = %507, %505, %494, %492, %490, %487
  %663 = landingpad { ptr, i32 }
          cleanup
  %664 = extractvalue { ptr, i32 } %663, 0
  store ptr %664, ptr %11, align 8
  %665 = extractvalue { ptr, i32 } %663, 1
  store i32 %665, ptr %12, align 4
  br label %3571

666:                                              ; preds = %501
  call void @llvm.lifetime.start.p0(i64 8, ptr %43) #7
  %667 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %668 unwind label %773

668:                                              ; preds = %666
  %669 = invoke noundef double @_ZN10SimTKIpopt25IpoptCalculatedQuantities15curr_avrg_complEv(ptr noundef nonnull align 8 dereferenceable(2025) %667)
          to label %670 unwind label %773

670:                                              ; preds = %668
  store double %669, ptr %43, align 8, !tbaa !9
  %671 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5JnlstEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %672 unwind label %773

672:                                              ; preds = %670
  invoke void (ptr, i32, i32, ptr, ...) @_ZNK10SimTKIpopt10Journalist6PrintfENS_13EJournalLevelENS_16EJournalCategoryEPKcz(ptr noundef nonnull align 8 dereferenceable(40) %671, i32 noundef 5, i32 noundef 4, ptr noundef @.str.44)
          to label %673 unwind label %773

673:                                              ; preds = %672
  call void @llvm.lifetime.start.p0(i64 8, ptr %44) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %45) #7
  %674 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %675 unwind label %777

675:                                              ; preds = %673
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.33") align 8 %45, ptr noundef nonnull align 8 dereferenceable(864) %674)
          to label %676 unwind label %777

676:                                              ; preds = %675
  %677 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %45)
          to label %678 unwind label %781

678:                                              ; preds = %676
  invoke void @_ZNK10SimTKIpopt14IteratesVector21MakeNewIteratesVectorEb(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.32") align 8 %44, ptr noundef nonnull align 8 dereferenceable(280) %677, i1 noundef zeroext true)
          to label %679 unwind label %781

679:                                              ; preds = %678
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %45) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %46) #7
  %680 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %44)
          to label %681 unwind label %786

681:                                              ; preds = %679
  invoke void @_ZN10SimTKIpopt14IteratesVector10x_NonConstEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.11") align 8 %46, ptr noundef nonnull align 8 dereferenceable(280) %680)
          to label %682 unwind label %786

682:                                              ; preds = %681
  %683 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %46)
          to label %684 unwind label %790

684:                                              ; preds = %682
  %685 = load double, ptr %43, align 8, !tbaa !9
  %686 = fneg double %685
  call void @llvm.lifetime.start.p0(i64 8, ptr %47) #7
  %687 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %688 unwind label %794

688:                                              ; preds = %684
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities26grad_kappa_times_damping_xEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %47, ptr noundef nonnull align 8 dereferenceable(2025) %687)
          to label %689 unwind label %794

689:                                              ; preds = %688
  %690 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %47)
          to label %691 unwind label %798

691:                                              ; preds = %689
  invoke void @_ZN10SimTKIpopt6Vector12AddOneVectorEdRKS0_d(ptr noundef nonnull align 8 dereferenceable(205) %683, double noundef %686, ptr noundef nonnull align 8 dereferenceable(205) %690, double noundef 0.000000e+00)
          to label %692 unwind label %798

692:                                              ; preds = %691
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %47) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %47) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %46) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %48) #7
  %693 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %44)
          to label %694 unwind label %805

694:                                              ; preds = %692
  invoke void @_ZN10SimTKIpopt14IteratesVector10s_NonConstEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.11") align 8 %48, ptr noundef nonnull align 8 dereferenceable(280) %693)
          to label %695 unwind label %805

695:                                              ; preds = %694
  %696 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %48)
          to label %697 unwind label %809

697:                                              ; preds = %695
  %698 = load double, ptr %43, align 8, !tbaa !9
  %699 = fneg double %698
  call void @llvm.lifetime.start.p0(i64 8, ptr %49) #7
  %700 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %701 unwind label %813

701:                                              ; preds = %697
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities26grad_kappa_times_damping_sEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %49, ptr noundef nonnull align 8 dereferenceable(2025) %700)
          to label %702 unwind label %813

702:                                              ; preds = %701
  %703 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %49)
          to label %704 unwind label %817

704:                                              ; preds = %702
  invoke void @_ZN10SimTKIpopt6Vector12AddOneVectorEdRKS0_d(ptr noundef nonnull align 8 dereferenceable(205) %696, double noundef %699, ptr noundef nonnull align 8 dereferenceable(205) %703, double noundef 0.000000e+00)
          to label %705 unwind label %817

705:                                              ; preds = %704
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %49) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %49) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %48) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %48) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %50) #7
  %706 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %44)
          to label %707 unwind label %824

707:                                              ; preds = %705
  invoke void @_ZN10SimTKIpopt14IteratesVector12y_c_NonConstEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.11") align 8 %50, ptr noundef nonnull align 8 dereferenceable(280) %706)
          to label %708 unwind label %824

708:                                              ; preds = %707
  %709 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %50)
          to label %710 unwind label %828

710:                                              ; preds = %708
  invoke void @_ZN10SimTKIpopt6Vector3SetEd(ptr noundef nonnull align 8 dereferenceable(205) %709, double noundef 0.000000e+00)
          to label %711 unwind label %828

711:                                              ; preds = %710
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %50) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %50) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %51) #7
  %712 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %44)
          to label %713 unwind label %833

713:                                              ; preds = %711
  invoke void @_ZN10SimTKIpopt14IteratesVector12y_d_NonConstEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.11") align 8 %51, ptr noundef nonnull align 8 dereferenceable(280) %712)
          to label %714 unwind label %833

714:                                              ; preds = %713
  %715 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %51)
          to label %716 unwind label %837

716:                                              ; preds = %714
  invoke void @_ZN10SimTKIpopt6Vector3SetEd(ptr noundef nonnull align 8 dereferenceable(205) %715, double noundef 0.000000e+00)
          to label %717 unwind label %837

717:                                              ; preds = %716
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %51) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %51) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %52) #7
  %718 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %44)
          to label %719 unwind label %842

719:                                              ; preds = %717
  invoke void @_ZN10SimTKIpopt14IteratesVector12z_L_NonConstEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.11") align 8 %52, ptr noundef nonnull align 8 dereferenceable(280) %718)
          to label %720 unwind label %842

720:                                              ; preds = %719
  %721 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %52)
          to label %722 unwind label %846

722:                                              ; preds = %720
  %723 = load double, ptr %43, align 8, !tbaa !9
  invoke void @_ZN10SimTKIpopt6Vector3SetEd(ptr noundef nonnull align 8 dereferenceable(205) %721, double noundef %723)
          to label %724 unwind label %846

724:                                              ; preds = %722
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %52) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %52) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %53) #7
  %725 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %44)
          to label %726 unwind label %851

726:                                              ; preds = %724
  invoke void @_ZN10SimTKIpopt14IteratesVector12z_U_NonConstEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.11") align 8 %53, ptr noundef nonnull align 8 dereferenceable(280) %725)
          to label %727 unwind label %851

727:                                              ; preds = %726
  %728 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %53)
          to label %729 unwind label %855

729:                                              ; preds = %727
  %730 = load double, ptr %43, align 8, !tbaa !9
  invoke void @_ZN10SimTKIpopt6Vector3SetEd(ptr noundef nonnull align 8 dereferenceable(205) %728, double noundef %730)
          to label %731 unwind label %855

731:                                              ; preds = %729
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %53) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %53) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %54) #7
  %732 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %44)
          to label %733 unwind label %860

733:                                              ; preds = %731
  invoke void @_ZN10SimTKIpopt14IteratesVector12v_L_NonConstEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.11") align 8 %54, ptr noundef nonnull align 8 dereferenceable(280) %732)
          to label %734 unwind label %860

734:                                              ; preds = %733
  %735 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %54)
          to label %736 unwind label %864

736:                                              ; preds = %734
  %737 = load double, ptr %43, align 8, !tbaa !9
  invoke void @_ZN10SimTKIpopt6Vector3SetEd(ptr noundef nonnull align 8 dereferenceable(205) %735, double noundef %737)
          to label %738 unwind label %864

738:                                              ; preds = %736
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %54) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %54) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %55) #7
  %739 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %44)
          to label %740 unwind label %869

740:                                              ; preds = %738
  invoke void @_ZN10SimTKIpopt14IteratesVector12v_U_NonConstEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.11") align 8 %55, ptr noundef nonnull align 8 dereferenceable(280) %739)
          to label %741 unwind label %869

741:                                              ; preds = %740
  %742 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %55)
          to label %743 unwind label %873

743:                                              ; preds = %741
  %744 = load double, ptr %43, align 8, !tbaa !9
  invoke void @_ZN10SimTKIpopt6Vector3SetEd(ptr noundef nonnull align 8 dereferenceable(205) %742, double noundef %744)
          to label %745 unwind label %873

745:                                              ; preds = %743
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %55) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %55) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %56) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %57) #7
  %746 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %747 unwind label %878

747:                                              ; preds = %745
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.33") align 8 %57, ptr noundef nonnull align 8 dereferenceable(864) %746)
          to label %748 unwind label %878

748:                                              ; preds = %747
  %749 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %57)
          to label %750 unwind label %882

750:                                              ; preds = %748
  invoke void @_ZNK10SimTKIpopt14IteratesVector21MakeNewIteratesVectorEb(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.32") align 8 %56, ptr noundef nonnull align 8 dereferenceable(280) %749, i1 noundef zeroext true)
          to label %751 unwind label %882

751:                                              ; preds = %750
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %57) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %57) #7
  store i8 1, ptr %40, align 1, !tbaa !13
  %752 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 1
  %753 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14PDSystemSolverEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %752)
          to label %754 unwind label %887

754:                                              ; preds = %751
  %755 = invoke noundef nonnull align 8 dereferenceable(280) ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %44)
          to label %756 unwind label %887

756:                                              ; preds = %754
  %757 = invoke noundef nonnull align 8 dereferenceable(280) ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %56)
          to label %758 unwind label %887

758:                                              ; preds = %756
  %759 = load i8, ptr %40, align 1, !tbaa !13, !range !15, !noundef !16
  %760 = trunc i8 %759 to i1
  %761 = load ptr, ptr %753, align 8, !tbaa !11
  %762 = getelementptr inbounds ptr, ptr %761, i64 3
  %763 = load ptr, ptr %762, align 8
  %764 = invoke noundef zeroext i1 %763(ptr noundef nonnull align 8 dereferenceable(49) %753, double noundef 1.000000e+00, double noundef 0.000000e+00, ptr noundef nonnull align 8 dereferenceable(280) %755, ptr noundef nonnull align 8 dereferenceable(280) %757, i1 noundef zeroext %760, i1 noundef zeroext false)
          to label %765 unwind label %887

765:                                              ; preds = %758
  %766 = zext i1 %764 to i8
  store i8 %766, ptr %41, align 1, !tbaa !13
  %767 = load i8, ptr %41, align 1, !tbaa !13, !range !15, !noundef !16
  %768 = trunc i8 %767 to i1
  br i1 %768, label %891, label %769

769:                                              ; preds = %765
  %770 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5JnlstEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %771 unwind label %887

771:                                              ; preds = %769
  invoke void (ptr, i32, i32, ptr, ...) @_ZNK10SimTKIpopt10Journalist6PrintfENS_13EJournalLevelENS_16EJournalCategoryEPKcz(ptr noundef nonnull align 8 dereferenceable(40) %770, i32 noundef 5, i32 noundef 4, ptr noundef @.str.45)
          to label %772 unwind label %887

772:                                              ; preds = %771
  store i1 false, ptr %5, align 1
  store i32 1, ptr %42, align 4
  br label %3563

773:                                              ; preds = %672, %670, %668, %666
  %774 = landingpad { ptr, i32 }
          cleanup
  %775 = extractvalue { ptr, i32 } %774, 0
  store ptr %775, ptr %11, align 8
  %776 = extractvalue { ptr, i32 } %774, 1
  store i32 %776, ptr %12, align 4
  br label %3568

777:                                              ; preds = %675, %673
  %778 = landingpad { ptr, i32 }
          cleanup
  %779 = extractvalue { ptr, i32 } %778, 0
  store ptr %779, ptr %11, align 8
  %780 = extractvalue { ptr, i32 } %778, 1
  store i32 %780, ptr %12, align 4
  br label %785

781:                                              ; preds = %678, %676
  %782 = landingpad { ptr, i32 }
          cleanup
  %783 = extractvalue { ptr, i32 } %782, 0
  store ptr %783, ptr %11, align 8
  %784 = extractvalue { ptr, i32 } %782, 1
  store i32 %784, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %45) #7
  br label %785

785:                                              ; preds = %781, %777
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #7
  br label %3567

786:                                              ; preds = %681, %679
  %787 = landingpad { ptr, i32 }
          cleanup
  %788 = extractvalue { ptr, i32 } %787, 0
  store ptr %788, ptr %11, align 8
  %789 = extractvalue { ptr, i32 } %787, 1
  store i32 %789, ptr %12, align 4
  br label %804

790:                                              ; preds = %682
  %791 = landingpad { ptr, i32 }
          cleanup
  %792 = extractvalue { ptr, i32 } %791, 0
  store ptr %792, ptr %11, align 8
  %793 = extractvalue { ptr, i32 } %791, 1
  store i32 %793, ptr %12, align 4
  br label %803

794:                                              ; preds = %688, %684
  %795 = landingpad { ptr, i32 }
          cleanup
  %796 = extractvalue { ptr, i32 } %795, 0
  store ptr %796, ptr %11, align 8
  %797 = extractvalue { ptr, i32 } %795, 1
  store i32 %797, ptr %12, align 4
  br label %802

798:                                              ; preds = %691, %689
  %799 = landingpad { ptr, i32 }
          cleanup
  %800 = extractvalue { ptr, i32 } %799, 0
  store ptr %800, ptr %11, align 8
  %801 = extractvalue { ptr, i32 } %799, 1
  store i32 %801, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %47) #7
  br label %802

802:                                              ; preds = %798, %794
  call void @llvm.lifetime.end.p0(i64 8, ptr %47) #7
  br label %803

803:                                              ; preds = %802, %790
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %46) #7
  br label %804

804:                                              ; preds = %803, %786
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #7
  br label %3566

805:                                              ; preds = %694, %692
  %806 = landingpad { ptr, i32 }
          cleanup
  %807 = extractvalue { ptr, i32 } %806, 0
  store ptr %807, ptr %11, align 8
  %808 = extractvalue { ptr, i32 } %806, 1
  store i32 %808, ptr %12, align 4
  br label %823

809:                                              ; preds = %695
  %810 = landingpad { ptr, i32 }
          cleanup
  %811 = extractvalue { ptr, i32 } %810, 0
  store ptr %811, ptr %11, align 8
  %812 = extractvalue { ptr, i32 } %810, 1
  store i32 %812, ptr %12, align 4
  br label %822

813:                                              ; preds = %701, %697
  %814 = landingpad { ptr, i32 }
          cleanup
  %815 = extractvalue { ptr, i32 } %814, 0
  store ptr %815, ptr %11, align 8
  %816 = extractvalue { ptr, i32 } %814, 1
  store i32 %816, ptr %12, align 4
  br label %821

817:                                              ; preds = %704, %702
  %818 = landingpad { ptr, i32 }
          cleanup
  %819 = extractvalue { ptr, i32 } %818, 0
  store ptr %819, ptr %11, align 8
  %820 = extractvalue { ptr, i32 } %818, 1
  store i32 %820, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %49) #7
  br label %821

821:                                              ; preds = %817, %813
  call void @llvm.lifetime.end.p0(i64 8, ptr %49) #7
  br label %822

822:                                              ; preds = %821, %809
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %48) #7
  br label %823

823:                                              ; preds = %822, %805
  call void @llvm.lifetime.end.p0(i64 8, ptr %48) #7
  br label %3566

824:                                              ; preds = %707, %705
  %825 = landingpad { ptr, i32 }
          cleanup
  %826 = extractvalue { ptr, i32 } %825, 0
  store ptr %826, ptr %11, align 8
  %827 = extractvalue { ptr, i32 } %825, 1
  store i32 %827, ptr %12, align 4
  br label %832

828:                                              ; preds = %710, %708
  %829 = landingpad { ptr, i32 }
          cleanup
  %830 = extractvalue { ptr, i32 } %829, 0
  store ptr %830, ptr %11, align 8
  %831 = extractvalue { ptr, i32 } %829, 1
  store i32 %831, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %50) #7
  br label %832

832:                                              ; preds = %828, %824
  call void @llvm.lifetime.end.p0(i64 8, ptr %50) #7
  br label %3566

833:                                              ; preds = %713, %711
  %834 = landingpad { ptr, i32 }
          cleanup
  %835 = extractvalue { ptr, i32 } %834, 0
  store ptr %835, ptr %11, align 8
  %836 = extractvalue { ptr, i32 } %834, 1
  store i32 %836, ptr %12, align 4
  br label %841

837:                                              ; preds = %716, %714
  %838 = landingpad { ptr, i32 }
          cleanup
  %839 = extractvalue { ptr, i32 } %838, 0
  store ptr %839, ptr %11, align 8
  %840 = extractvalue { ptr, i32 } %838, 1
  store i32 %840, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %51) #7
  br label %841

841:                                              ; preds = %837, %833
  call void @llvm.lifetime.end.p0(i64 8, ptr %51) #7
  br label %3566

842:                                              ; preds = %719, %717
  %843 = landingpad { ptr, i32 }
          cleanup
  %844 = extractvalue { ptr, i32 } %843, 0
  store ptr %844, ptr %11, align 8
  %845 = extractvalue { ptr, i32 } %843, 1
  store i32 %845, ptr %12, align 4
  br label %850

846:                                              ; preds = %722, %720
  %847 = landingpad { ptr, i32 }
          cleanup
  %848 = extractvalue { ptr, i32 } %847, 0
  store ptr %848, ptr %11, align 8
  %849 = extractvalue { ptr, i32 } %847, 1
  store i32 %849, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %52) #7
  br label %850

850:                                              ; preds = %846, %842
  call void @llvm.lifetime.end.p0(i64 8, ptr %52) #7
  br label %3566

851:                                              ; preds = %726, %724
  %852 = landingpad { ptr, i32 }
          cleanup
  %853 = extractvalue { ptr, i32 } %852, 0
  store ptr %853, ptr %11, align 8
  %854 = extractvalue { ptr, i32 } %852, 1
  store i32 %854, ptr %12, align 4
  br label %859

855:                                              ; preds = %729, %727
  %856 = landingpad { ptr, i32 }
          cleanup
  %857 = extractvalue { ptr, i32 } %856, 0
  store ptr %857, ptr %11, align 8
  %858 = extractvalue { ptr, i32 } %856, 1
  store i32 %858, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %53) #7
  br label %859

859:                                              ; preds = %855, %851
  call void @llvm.lifetime.end.p0(i64 8, ptr %53) #7
  br label %3566

860:                                              ; preds = %733, %731
  %861 = landingpad { ptr, i32 }
          cleanup
  %862 = extractvalue { ptr, i32 } %861, 0
  store ptr %862, ptr %11, align 8
  %863 = extractvalue { ptr, i32 } %861, 1
  store i32 %863, ptr %12, align 4
  br label %868

864:                                              ; preds = %736, %734
  %865 = landingpad { ptr, i32 }
          cleanup
  %866 = extractvalue { ptr, i32 } %865, 0
  store ptr %866, ptr %11, align 8
  %867 = extractvalue { ptr, i32 } %865, 1
  store i32 %867, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %54) #7
  br label %868

868:                                              ; preds = %864, %860
  call void @llvm.lifetime.end.p0(i64 8, ptr %54) #7
  br label %3566

869:                                              ; preds = %740, %738
  %870 = landingpad { ptr, i32 }
          cleanup
  %871 = extractvalue { ptr, i32 } %870, 0
  store ptr %871, ptr %11, align 8
  %872 = extractvalue { ptr, i32 } %870, 1
  store i32 %872, ptr %12, align 4
  br label %877

873:                                              ; preds = %743, %741
  %874 = landingpad { ptr, i32 }
          cleanup
  %875 = extractvalue { ptr, i32 } %874, 0
  store ptr %875, ptr %11, align 8
  %876 = extractvalue { ptr, i32 } %874, 1
  store i32 %876, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %55) #7
  br label %877

877:                                              ; preds = %873, %869
  call void @llvm.lifetime.end.p0(i64 8, ptr %55) #7
  br label %3566

878:                                              ; preds = %747, %745
  %879 = landingpad { ptr, i32 }
          cleanup
  %880 = extractvalue { ptr, i32 } %879, 0
  store ptr %880, ptr %11, align 8
  %881 = extractvalue { ptr, i32 } %879, 1
  store i32 %881, ptr %12, align 4
  br label %886

882:                                              ; preds = %750, %748
  %883 = landingpad { ptr, i32 }
          cleanup
  %884 = extractvalue { ptr, i32 } %883, 0
  store ptr %884, ptr %11, align 8
  %885 = extractvalue { ptr, i32 } %883, 1
  store i32 %885, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %57) #7
  br label %886

886:                                              ; preds = %882, %878
  call void @llvm.lifetime.end.p0(i64 8, ptr %57) #7
  br label %3565

887:                                              ; preds = %2075, %2073, %2071, %2069, %1765, %1763, %1761, %1759, %1486, %1484, %1482, %1480, %1176, %1174, %1172, %1170, %897, %895, %893, %891, %771, %769, %758, %756, %754, %751
  %888 = landingpad { ptr, i32 }
          cleanup
  %889 = extractvalue { ptr, i32 } %888, 0
  store ptr %889, ptr %11, align 8
  %890 = extractvalue { ptr, i32 } %888, 1
  store i32 %890, ptr %12, align 4
  br label %3564

891:                                              ; preds = %765
  %892 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %893 unwind label %887

893:                                              ; preds = %891
  %894 = invoke noundef nonnull align 8 dereferenceable(664) ptr @_ZN10SimTKIpopt9IpoptData11TimingStatsEv(ptr noundef nonnull align 8 dereferenceable(864) %892)
          to label %895 unwind label %887

895:                                              ; preds = %893
  %896 = invoke noundef nonnull align 8 dereferenceable(18) ptr @_ZN10SimTKIpopt16TimingStatistics21QualityFunctionSearchEv(ptr noundef nonnull align 8 dereferenceable(664) %894)
          to label %897 unwind label %887

897:                                              ; preds = %895
  invoke void @_ZN10SimTKIpopt9TimedTask5StartEv(ptr noundef nonnull align 8 dereferenceable(18) %896)
          to label %898 unwind label %887

898:                                              ; preds = %897
  %899 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 27
  %900 = load i8, ptr %899, align 4, !tbaa !17, !range !15, !noundef !16
  %901 = trunc i8 %900 to i1
  br i1 %901, label %1109, label %902

902:                                              ; preds = %898
  call void @llvm.lifetime.start.p0(i64 8, ptr %58) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %59) #7
  %903 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %904 unwind label %992

904:                                              ; preds = %902
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.33") align 8 %59, ptr noundef nonnull align 8 dereferenceable(864) %903)
          to label %905 unwind label %992

905:                                              ; preds = %904
  %906 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %59)
          to label %907 unwind label %996

907:                                              ; preds = %905
  invoke void @_ZNK10SimTKIpopt14IteratesVector1xEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %58, ptr noundef nonnull align 8 dereferenceable(280) %906)
          to label %908 unwind label %996

908:                                              ; preds = %907
  %909 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %58)
          to label %910 unwind label %1000

910:                                              ; preds = %908
  %911 = invoke noundef i32 @_ZNK10SimTKIpopt6Vector3DimEv(ptr noundef nonnull align 8 dereferenceable(205) %909)
          to label %912 unwind label %1000

912:                                              ; preds = %910
  call void @llvm.lifetime.start.p0(i64 8, ptr %60) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %61) #7
  %913 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %914 unwind label %1004

914:                                              ; preds = %912
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.33") align 8 %61, ptr noundef nonnull align 8 dereferenceable(864) %913)
          to label %915 unwind label %1004

915:                                              ; preds = %914
  %916 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %61)
          to label %917 unwind label %1008

917:                                              ; preds = %915
  invoke void @_ZNK10SimTKIpopt14IteratesVector1sEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %60, ptr noundef nonnull align 8 dereferenceable(280) %916)
          to label %918 unwind label %1008

918:                                              ; preds = %917
  %919 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %60)
          to label %920 unwind label %1012

920:                                              ; preds = %918
  %921 = invoke noundef i32 @_ZNK10SimTKIpopt6Vector3DimEv(ptr noundef nonnull align 8 dereferenceable(205) %919)
          to label %922 unwind label %1012

922:                                              ; preds = %920
  %923 = add nsw i32 %911, %921
  %924 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 28
  store i32 %923, ptr %924, align 8, !tbaa !33
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %60) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %61) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %61) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %60) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %58) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %59) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %59) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %58) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %62) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %63) #7
  %925 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %926 unwind label %1021

926:                                              ; preds = %922
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.33") align 8 %63, ptr noundef nonnull align 8 dereferenceable(864) %925)
          to label %927 unwind label %1021

927:                                              ; preds = %926
  %928 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %63)
          to label %929 unwind label %1025

929:                                              ; preds = %927
  invoke void @_ZNK10SimTKIpopt14IteratesVector3y_cEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %62, ptr noundef nonnull align 8 dereferenceable(280) %928)
          to label %930 unwind label %1025

930:                                              ; preds = %929
  %931 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %62)
          to label %932 unwind label %1029

932:                                              ; preds = %930
  %933 = invoke noundef i32 @_ZNK10SimTKIpopt6Vector3DimEv(ptr noundef nonnull align 8 dereferenceable(205) %931)
          to label %934 unwind label %1029

934:                                              ; preds = %932
  call void @llvm.lifetime.start.p0(i64 8, ptr %64) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %65) #7
  %935 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %936 unwind label %1033

936:                                              ; preds = %934
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.33") align 8 %65, ptr noundef nonnull align 8 dereferenceable(864) %935)
          to label %937 unwind label %1033

937:                                              ; preds = %936
  %938 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %65)
          to label %939 unwind label %1037

939:                                              ; preds = %937
  invoke void @_ZNK10SimTKIpopt14IteratesVector3y_dEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %64, ptr noundef nonnull align 8 dereferenceable(280) %938)
          to label %940 unwind label %1037

940:                                              ; preds = %939
  %941 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %64)
          to label %942 unwind label %1041

942:                                              ; preds = %940
  %943 = invoke noundef i32 @_ZNK10SimTKIpopt6Vector3DimEv(ptr noundef nonnull align 8 dereferenceable(205) %941)
          to label %944 unwind label %1041

944:                                              ; preds = %942
  %945 = add nsw i32 %933, %943
  %946 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 29
  store i32 %945, ptr %946, align 4, !tbaa !34
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %64) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %65) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %65) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %64) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %62) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %63) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %63) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %62) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %66) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %67) #7
  %947 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %948 unwind label %1050

948:                                              ; preds = %944
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.33") align 8 %67, ptr noundef nonnull align 8 dereferenceable(864) %947)
          to label %949 unwind label %1050

949:                                              ; preds = %948
  %950 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %67)
          to label %951 unwind label %1054

951:                                              ; preds = %949
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_LEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %66, ptr noundef nonnull align 8 dereferenceable(280) %950)
          to label %952 unwind label %1054

952:                                              ; preds = %951
  %953 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %66)
          to label %954 unwind label %1058

954:                                              ; preds = %952
  %955 = invoke noundef i32 @_ZNK10SimTKIpopt6Vector3DimEv(ptr noundef nonnull align 8 dereferenceable(205) %953)
          to label %956 unwind label %1058

956:                                              ; preds = %954
  call void @llvm.lifetime.start.p0(i64 8, ptr %68) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %69) #7
  %957 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %958 unwind label %1062

958:                                              ; preds = %956
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.33") align 8 %69, ptr noundef nonnull align 8 dereferenceable(864) %957)
          to label %959 unwind label %1062

959:                                              ; preds = %958
  %960 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %69)
          to label %961 unwind label %1066

961:                                              ; preds = %959
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %68, ptr noundef nonnull align 8 dereferenceable(280) %960)
          to label %962 unwind label %1066

962:                                              ; preds = %961
  %963 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %68)
          to label %964 unwind label %1070

964:                                              ; preds = %962
  %965 = invoke noundef i32 @_ZNK10SimTKIpopt6Vector3DimEv(ptr noundef nonnull align 8 dereferenceable(205) %963)
          to label %966 unwind label %1070

966:                                              ; preds = %964
  %967 = add nsw i32 %955, %965
  call void @llvm.lifetime.start.p0(i64 8, ptr %70) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %71) #7
  %968 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %969 unwind label %1074

969:                                              ; preds = %966
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.33") align 8 %71, ptr noundef nonnull align 8 dereferenceable(864) %968)
          to label %970 unwind label %1074

970:                                              ; preds = %969
  %971 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %71)
          to label %972 unwind label %1078

972:                                              ; preds = %970
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_LEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %70, ptr noundef nonnull align 8 dereferenceable(280) %971)
          to label %973 unwind label %1078

973:                                              ; preds = %972
  %974 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %70)
          to label %975 unwind label %1082

975:                                              ; preds = %973
  %976 = invoke noundef i32 @_ZNK10SimTKIpopt6Vector3DimEv(ptr noundef nonnull align 8 dereferenceable(205) %974)
          to label %977 unwind label %1082

977:                                              ; preds = %975
  %978 = add nsw i32 %967, %976
  call void @llvm.lifetime.start.p0(i64 8, ptr %72) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %73) #7
  %979 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %980 unwind label %1086

980:                                              ; preds = %977
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.33") align 8 %73, ptr noundef nonnull align 8 dereferenceable(864) %979)
          to label %981 unwind label %1086

981:                                              ; preds = %980
  %982 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %73)
          to label %983 unwind label %1090

983:                                              ; preds = %981
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %72, ptr noundef nonnull align 8 dereferenceable(280) %982)
          to label %984 unwind label %1090

984:                                              ; preds = %983
  %985 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %72)
          to label %986 unwind label %1094

986:                                              ; preds = %984
  %987 = invoke noundef i32 @_ZNK10SimTKIpopt6Vector3DimEv(ptr noundef nonnull align 8 dereferenceable(205) %985)
          to label %988 unwind label %1094

988:                                              ; preds = %986
  %989 = add nsw i32 %978, %987
  %990 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 30
  store i32 %989, ptr %990, align 8, !tbaa !35
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %72) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %73) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %73) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %72) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %70) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %71) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %71) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %70) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %68) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %69) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %69) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %68) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %66) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %67) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %67) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %66) #7
  %991 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 27
  store i8 1, ptr %991, align 4, !tbaa !17
  br label %1109

992:                                              ; preds = %904, %902
  %993 = landingpad { ptr, i32 }
          cleanup
  %994 = extractvalue { ptr, i32 } %993, 0
  store ptr %994, ptr %11, align 8
  %995 = extractvalue { ptr, i32 } %993, 1
  store i32 %995, ptr %12, align 4
  br label %1020

996:                                              ; preds = %907, %905
  %997 = landingpad { ptr, i32 }
          cleanup
  %998 = extractvalue { ptr, i32 } %997, 0
  store ptr %998, ptr %11, align 8
  %999 = extractvalue { ptr, i32 } %997, 1
  store i32 %999, ptr %12, align 4
  br label %1019

1000:                                             ; preds = %910, %908
  %1001 = landingpad { ptr, i32 }
          cleanup
  %1002 = extractvalue { ptr, i32 } %1001, 0
  store ptr %1002, ptr %11, align 8
  %1003 = extractvalue { ptr, i32 } %1001, 1
  store i32 %1003, ptr %12, align 4
  br label %1018

1004:                                             ; preds = %914, %912
  %1005 = landingpad { ptr, i32 }
          cleanup
  %1006 = extractvalue { ptr, i32 } %1005, 0
  store ptr %1006, ptr %11, align 8
  %1007 = extractvalue { ptr, i32 } %1005, 1
  store i32 %1007, ptr %12, align 4
  br label %1017

1008:                                             ; preds = %917, %915
  %1009 = landingpad { ptr, i32 }
          cleanup
  %1010 = extractvalue { ptr, i32 } %1009, 0
  store ptr %1010, ptr %11, align 8
  %1011 = extractvalue { ptr, i32 } %1009, 1
  store i32 %1011, ptr %12, align 4
  br label %1016

1012:                                             ; preds = %920, %918
  %1013 = landingpad { ptr, i32 }
          cleanup
  %1014 = extractvalue { ptr, i32 } %1013, 0
  store ptr %1014, ptr %11, align 8
  %1015 = extractvalue { ptr, i32 } %1013, 1
  store i32 %1015, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %60) #7
  br label %1016

1016:                                             ; preds = %1012, %1008
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %61) #7
  br label %1017

1017:                                             ; preds = %1016, %1004
  call void @llvm.lifetime.end.p0(i64 8, ptr %61) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %60) #7
  br label %1018

1018:                                             ; preds = %1017, %1000
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %58) #7
  br label %1019

1019:                                             ; preds = %1018, %996
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %59) #7
  br label %1020

1020:                                             ; preds = %1019, %992
  call void @llvm.lifetime.end.p0(i64 8, ptr %59) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %58) #7
  br label %3564

1021:                                             ; preds = %926, %922
  %1022 = landingpad { ptr, i32 }
          cleanup
  %1023 = extractvalue { ptr, i32 } %1022, 0
  store ptr %1023, ptr %11, align 8
  %1024 = extractvalue { ptr, i32 } %1022, 1
  store i32 %1024, ptr %12, align 4
  br label %1049

1025:                                             ; preds = %929, %927
  %1026 = landingpad { ptr, i32 }
          cleanup
  %1027 = extractvalue { ptr, i32 } %1026, 0
  store ptr %1027, ptr %11, align 8
  %1028 = extractvalue { ptr, i32 } %1026, 1
  store i32 %1028, ptr %12, align 4
  br label %1048

1029:                                             ; preds = %932, %930
  %1030 = landingpad { ptr, i32 }
          cleanup
  %1031 = extractvalue { ptr, i32 } %1030, 0
  store ptr %1031, ptr %11, align 8
  %1032 = extractvalue { ptr, i32 } %1030, 1
  store i32 %1032, ptr %12, align 4
  br label %1047

1033:                                             ; preds = %936, %934
  %1034 = landingpad { ptr, i32 }
          cleanup
  %1035 = extractvalue { ptr, i32 } %1034, 0
  store ptr %1035, ptr %11, align 8
  %1036 = extractvalue { ptr, i32 } %1034, 1
  store i32 %1036, ptr %12, align 4
  br label %1046

1037:                                             ; preds = %939, %937
  %1038 = landingpad { ptr, i32 }
          cleanup
  %1039 = extractvalue { ptr, i32 } %1038, 0
  store ptr %1039, ptr %11, align 8
  %1040 = extractvalue { ptr, i32 } %1038, 1
  store i32 %1040, ptr %12, align 4
  br label %1045

1041:                                             ; preds = %942, %940
  %1042 = landingpad { ptr, i32 }
          cleanup
  %1043 = extractvalue { ptr, i32 } %1042, 0
  store ptr %1043, ptr %11, align 8
  %1044 = extractvalue { ptr, i32 } %1042, 1
  store i32 %1044, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %64) #7
  br label %1045

1045:                                             ; preds = %1041, %1037
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %65) #7
  br label %1046

1046:                                             ; preds = %1045, %1033
  call void @llvm.lifetime.end.p0(i64 8, ptr %65) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %64) #7
  br label %1047

1047:                                             ; preds = %1046, %1029
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %62) #7
  br label %1048

1048:                                             ; preds = %1047, %1025
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %63) #7
  br label %1049

1049:                                             ; preds = %1048, %1021
  call void @llvm.lifetime.end.p0(i64 8, ptr %63) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %62) #7
  br label %3564

1050:                                             ; preds = %948, %944
  %1051 = landingpad { ptr, i32 }
          cleanup
  %1052 = extractvalue { ptr, i32 } %1051, 0
  store ptr %1052, ptr %11, align 8
  %1053 = extractvalue { ptr, i32 } %1051, 1
  store i32 %1053, ptr %12, align 4
  br label %1108

1054:                                             ; preds = %951, %949
  %1055 = landingpad { ptr, i32 }
          cleanup
  %1056 = extractvalue { ptr, i32 } %1055, 0
  store ptr %1056, ptr %11, align 8
  %1057 = extractvalue { ptr, i32 } %1055, 1
  store i32 %1057, ptr %12, align 4
  br label %1107

1058:                                             ; preds = %954, %952
  %1059 = landingpad { ptr, i32 }
          cleanup
  %1060 = extractvalue { ptr, i32 } %1059, 0
  store ptr %1060, ptr %11, align 8
  %1061 = extractvalue { ptr, i32 } %1059, 1
  store i32 %1061, ptr %12, align 4
  br label %1106

1062:                                             ; preds = %958, %956
  %1063 = landingpad { ptr, i32 }
          cleanup
  %1064 = extractvalue { ptr, i32 } %1063, 0
  store ptr %1064, ptr %11, align 8
  %1065 = extractvalue { ptr, i32 } %1063, 1
  store i32 %1065, ptr %12, align 4
  br label %1105

1066:                                             ; preds = %961, %959
  %1067 = landingpad { ptr, i32 }
          cleanup
  %1068 = extractvalue { ptr, i32 } %1067, 0
  store ptr %1068, ptr %11, align 8
  %1069 = extractvalue { ptr, i32 } %1067, 1
  store i32 %1069, ptr %12, align 4
  br label %1104

1070:                                             ; preds = %964, %962
  %1071 = landingpad { ptr, i32 }
          cleanup
  %1072 = extractvalue { ptr, i32 } %1071, 0
  store ptr %1072, ptr %11, align 8
  %1073 = extractvalue { ptr, i32 } %1071, 1
  store i32 %1073, ptr %12, align 4
  br label %1103

1074:                                             ; preds = %969, %966
  %1075 = landingpad { ptr, i32 }
          cleanup
  %1076 = extractvalue { ptr, i32 } %1075, 0
  store ptr %1076, ptr %11, align 8
  %1077 = extractvalue { ptr, i32 } %1075, 1
  store i32 %1077, ptr %12, align 4
  br label %1102

1078:                                             ; preds = %972, %970
  %1079 = landingpad { ptr, i32 }
          cleanup
  %1080 = extractvalue { ptr, i32 } %1079, 0
  store ptr %1080, ptr %11, align 8
  %1081 = extractvalue { ptr, i32 } %1079, 1
  store i32 %1081, ptr %12, align 4
  br label %1101

1082:                                             ; preds = %975, %973
  %1083 = landingpad { ptr, i32 }
          cleanup
  %1084 = extractvalue { ptr, i32 } %1083, 0
  store ptr %1084, ptr %11, align 8
  %1085 = extractvalue { ptr, i32 } %1083, 1
  store i32 %1085, ptr %12, align 4
  br label %1100

1086:                                             ; preds = %980, %977
  %1087 = landingpad { ptr, i32 }
          cleanup
  %1088 = extractvalue { ptr, i32 } %1087, 0
  store ptr %1088, ptr %11, align 8
  %1089 = extractvalue { ptr, i32 } %1087, 1
  store i32 %1089, ptr %12, align 4
  br label %1099

1090:                                             ; preds = %983, %981
  %1091 = landingpad { ptr, i32 }
          cleanup
  %1092 = extractvalue { ptr, i32 } %1091, 0
  store ptr %1092, ptr %11, align 8
  %1093 = extractvalue { ptr, i32 } %1091, 1
  store i32 %1093, ptr %12, align 4
  br label %1098

1094:                                             ; preds = %986, %984
  %1095 = landingpad { ptr, i32 }
          cleanup
  %1096 = extractvalue { ptr, i32 } %1095, 0
  store ptr %1096, ptr %11, align 8
  %1097 = extractvalue { ptr, i32 } %1095, 1
  store i32 %1097, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %72) #7
  br label %1098

1098:                                             ; preds = %1094, %1090
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %73) #7
  br label %1099

1099:                                             ; preds = %1098, %1086
  call void @llvm.lifetime.end.p0(i64 8, ptr %73) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %72) #7
  br label %1100

1100:                                             ; preds = %1099, %1082
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %70) #7
  br label %1101

1101:                                             ; preds = %1100, %1078
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %71) #7
  br label %1102

1102:                                             ; preds = %1101, %1074
  call void @llvm.lifetime.end.p0(i64 8, ptr %71) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %70) #7
  br label %1103

1103:                                             ; preds = %1102, %1070
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %68) #7
  br label %1104

1104:                                             ; preds = %1103, %1066
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %69) #7
  br label %1105

1105:                                             ; preds = %1104, %1062
  call void @llvm.lifetime.end.p0(i64 8, ptr %69) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %68) #7
  br label %1106

1106:                                             ; preds = %1105, %1058
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %66) #7
  br label %1107

1107:                                             ; preds = %1106, %1054
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %67) #7
  br label %1108

1108:                                             ; preds = %1107, %1050
  call void @llvm.lifetime.end.p0(i64 8, ptr %67) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %66) #7
  br label %3564

1109:                                             ; preds = %988, %898
  %1110 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 26
  store i32 0, ptr %1110, align 8, !tbaa !36
  call void @llvm.lifetime.start.p0(i64 8, ptr %74) #7
  %1111 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %1112 unwind label %1180

1112:                                             ; preds = %1109
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_slack_x_LEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %74, ptr noundef nonnull align 8 dereferenceable(2025) %1111)
          to label %1113 unwind label %1180

1113:                                             ; preds = %1112
  %1114 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 31
  %1115 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %1114, ptr noundef nonnull align 8 dereferenceable(8) %74)
          to label %1116 unwind label %1184

1116:                                             ; preds = %1113
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %74) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %74) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %75) #7
  %1117 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %1118 unwind label %1189

1118:                                             ; preds = %1116
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_slack_x_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %75, ptr noundef nonnull align 8 dereferenceable(2025) %1117)
          to label %1119 unwind label %1189

1119:                                             ; preds = %1118
  %1120 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 32
  %1121 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %1120, ptr noundef nonnull align 8 dereferenceable(8) %75)
          to label %1122 unwind label %1193

1122:                                             ; preds = %1119
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %75) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %75) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %76) #7
  %1123 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %1124 unwind label %1198

1124:                                             ; preds = %1122
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_slack_s_LEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %76, ptr noundef nonnull align 8 dereferenceable(2025) %1123)
          to label %1125 unwind label %1198

1125:                                             ; preds = %1124
  %1126 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 33
  %1127 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %1126, ptr noundef nonnull align 8 dereferenceable(8) %76)
          to label %1128 unwind label %1202

1128:                                             ; preds = %1125
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %76) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %76) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %77) #7
  %1129 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %1130 unwind label %1207

1130:                                             ; preds = %1128
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_slack_s_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %77, ptr noundef nonnull align 8 dereferenceable(2025) %1129)
          to label %1131 unwind label %1207

1131:                                             ; preds = %1130
  %1132 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 34
  %1133 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %1132, ptr noundef nonnull align 8 dereferenceable(8) %77)
          to label %1134 unwind label %1211

1134:                                             ; preds = %1131
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %77) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %77) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %78) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %79) #7
  %1135 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %1136 unwind label %1216

1136:                                             ; preds = %1134
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.33") align 8 %79, ptr noundef nonnull align 8 dereferenceable(864) %1135)
          to label %1137 unwind label %1216

1137:                                             ; preds = %1136
  %1138 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %79)
          to label %1139 unwind label %1220

1139:                                             ; preds = %1137
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_LEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %78, ptr noundef nonnull align 8 dereferenceable(280) %1138)
          to label %1140 unwind label %1220

1140:                                             ; preds = %1139
  %1141 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 35
  %1142 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %1141, ptr noundef nonnull align 8 dereferenceable(8) %78)
          to label %1143 unwind label %1224

1143:                                             ; preds = %1140
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %78) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %79) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %79) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %78) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %80) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %81) #7
  %1144 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %1145 unwind label %1230

1145:                                             ; preds = %1143
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.33") align 8 %81, ptr noundef nonnull align 8 dereferenceable(864) %1144)
          to label %1146 unwind label %1230

1146:                                             ; preds = %1145
  %1147 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %81)
          to label %1148 unwind label %1234

1148:                                             ; preds = %1146
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %80, ptr noundef nonnull align 8 dereferenceable(280) %1147)
          to label %1149 unwind label %1234

1149:                                             ; preds = %1148
  %1150 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 36
  %1151 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %1150, ptr noundef nonnull align 8 dereferenceable(8) %80)
          to label %1152 unwind label %1238

1152:                                             ; preds = %1149
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %80) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %81) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %81) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %80) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %82) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %83) #7
  %1153 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %1154 unwind label %1244

1154:                                             ; preds = %1152
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.33") align 8 %83, ptr noundef nonnull align 8 dereferenceable(864) %1153)
          to label %1155 unwind label %1244

1155:                                             ; preds = %1154
  %1156 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %83)
          to label %1157 unwind label %1248

1157:                                             ; preds = %1155
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_LEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %82, ptr noundef nonnull align 8 dereferenceable(280) %1156)
          to label %1158 unwind label %1248

1158:                                             ; preds = %1157
  %1159 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 37
  %1160 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %1159, ptr noundef nonnull align 8 dereferenceable(8) %82)
          to label %1161 unwind label %1252

1161:                                             ; preds = %1158
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %82) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %83) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %83) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %82) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %84) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %85) #7
  %1162 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %1163 unwind label %1258

1163:                                             ; preds = %1161
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.33") align 8 %85, ptr noundef nonnull align 8 dereferenceable(864) %1162)
          to label %1164 unwind label %1258

1164:                                             ; preds = %1163
  %1165 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %85)
          to label %1166 unwind label %1262

1166:                                             ; preds = %1164
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %84, ptr noundef nonnull align 8 dereferenceable(280) %1165)
          to label %1167 unwind label %1262

1167:                                             ; preds = %1166
  %1168 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 38
  %1169 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %1168, ptr noundef nonnull align 8 dereferenceable(8) %84)
          to label %1170 unwind label %1266

1170:                                             ; preds = %1167
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %84) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %85) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %85) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %84) #7
  %1171 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %1172 unwind label %887

1172:                                             ; preds = %1170
  %1173 = invoke noundef nonnull align 8 dereferenceable(664) ptr @_ZN10SimTKIpopt9IpoptData11TimingStatsEv(ptr noundef nonnull align 8 dereferenceable(864) %1171)
          to label %1174 unwind label %887

1174:                                             ; preds = %1172
  %1175 = invoke noundef nonnull align 8 dereferenceable(18) ptr @_ZN10SimTKIpopt16TimingStatistics5Task5Ev(ptr noundef nonnull align 8 dereferenceable(664) %1173)
          to label %1176 unwind label %887

1176:                                             ; preds = %1174
  invoke void @_ZN10SimTKIpopt9TimedTask5StartEv(ptr noundef nonnull align 8 dereferenceable(18) %1175)
          to label %1177 unwind label %887

1177:                                             ; preds = %1176
  %1178 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 4
  %1179 = load i32, ptr %1178, align 8, !tbaa !37
  switch i32 %1179, label %1479 [
    i32 0, label %1272
    i32 1, label %1341
    i32 3, label %1341
    i32 2, label %1410
  ]

1180:                                             ; preds = %1112, %1109
  %1181 = landingpad { ptr, i32 }
          cleanup
  %1182 = extractvalue { ptr, i32 } %1181, 0
  store ptr %1182, ptr %11, align 8
  %1183 = extractvalue { ptr, i32 } %1181, 1
  store i32 %1183, ptr %12, align 4
  br label %1188

1184:                                             ; preds = %1113
  %1185 = landingpad { ptr, i32 }
          cleanup
  %1186 = extractvalue { ptr, i32 } %1185, 0
  store ptr %1186, ptr %11, align 8
  %1187 = extractvalue { ptr, i32 } %1185, 1
  store i32 %1187, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %74) #7
  br label %1188

1188:                                             ; preds = %1184, %1180
  call void @llvm.lifetime.end.p0(i64 8, ptr %74) #7
  br label %3564

1189:                                             ; preds = %1118, %1116
  %1190 = landingpad { ptr, i32 }
          cleanup
  %1191 = extractvalue { ptr, i32 } %1190, 0
  store ptr %1191, ptr %11, align 8
  %1192 = extractvalue { ptr, i32 } %1190, 1
  store i32 %1192, ptr %12, align 4
  br label %1197

1193:                                             ; preds = %1119
  %1194 = landingpad { ptr, i32 }
          cleanup
  %1195 = extractvalue { ptr, i32 } %1194, 0
  store ptr %1195, ptr %11, align 8
  %1196 = extractvalue { ptr, i32 } %1194, 1
  store i32 %1196, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %75) #7
  br label %1197

1197:                                             ; preds = %1193, %1189
  call void @llvm.lifetime.end.p0(i64 8, ptr %75) #7
  br label %3564

1198:                                             ; preds = %1124, %1122
  %1199 = landingpad { ptr, i32 }
          cleanup
  %1200 = extractvalue { ptr, i32 } %1199, 0
  store ptr %1200, ptr %11, align 8
  %1201 = extractvalue { ptr, i32 } %1199, 1
  store i32 %1201, ptr %12, align 4
  br label %1206

1202:                                             ; preds = %1125
  %1203 = landingpad { ptr, i32 }
          cleanup
  %1204 = extractvalue { ptr, i32 } %1203, 0
  store ptr %1204, ptr %11, align 8
  %1205 = extractvalue { ptr, i32 } %1203, 1
  store i32 %1205, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %76) #7
  br label %1206

1206:                                             ; preds = %1202, %1198
  call void @llvm.lifetime.end.p0(i64 8, ptr %76) #7
  br label %3564

1207:                                             ; preds = %1130, %1128
  %1208 = landingpad { ptr, i32 }
          cleanup
  %1209 = extractvalue { ptr, i32 } %1208, 0
  store ptr %1209, ptr %11, align 8
  %1210 = extractvalue { ptr, i32 } %1208, 1
  store i32 %1210, ptr %12, align 4
  br label %1215

1211:                                             ; preds = %1131
  %1212 = landingpad { ptr, i32 }
          cleanup
  %1213 = extractvalue { ptr, i32 } %1212, 0
  store ptr %1213, ptr %11, align 8
  %1214 = extractvalue { ptr, i32 } %1212, 1
  store i32 %1214, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %77) #7
  br label %1215

1215:                                             ; preds = %1211, %1207
  call void @llvm.lifetime.end.p0(i64 8, ptr %77) #7
  br label %3564

1216:                                             ; preds = %1136, %1134
  %1217 = landingpad { ptr, i32 }
          cleanup
  %1218 = extractvalue { ptr, i32 } %1217, 0
  store ptr %1218, ptr %11, align 8
  %1219 = extractvalue { ptr, i32 } %1217, 1
  store i32 %1219, ptr %12, align 4
  br label %1229

1220:                                             ; preds = %1139, %1137
  %1221 = landingpad { ptr, i32 }
          cleanup
  %1222 = extractvalue { ptr, i32 } %1221, 0
  store ptr %1222, ptr %11, align 8
  %1223 = extractvalue { ptr, i32 } %1221, 1
  store i32 %1223, ptr %12, align 4
  br label %1228

1224:                                             ; preds = %1140
  %1225 = landingpad { ptr, i32 }
          cleanup
  %1226 = extractvalue { ptr, i32 } %1225, 0
  store ptr %1226, ptr %11, align 8
  %1227 = extractvalue { ptr, i32 } %1225, 1
  store i32 %1227, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %78) #7
  br label %1228

1228:                                             ; preds = %1224, %1220
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %79) #7
  br label %1229

1229:                                             ; preds = %1228, %1216
  call void @llvm.lifetime.end.p0(i64 8, ptr %79) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %78) #7
  br label %3564

1230:                                             ; preds = %1145, %1143
  %1231 = landingpad { ptr, i32 }
          cleanup
  %1232 = extractvalue { ptr, i32 } %1231, 0
  store ptr %1232, ptr %11, align 8
  %1233 = extractvalue { ptr, i32 } %1231, 1
  store i32 %1233, ptr %12, align 4
  br label %1243

1234:                                             ; preds = %1148, %1146
  %1235 = landingpad { ptr, i32 }
          cleanup
  %1236 = extractvalue { ptr, i32 } %1235, 0
  store ptr %1236, ptr %11, align 8
  %1237 = extractvalue { ptr, i32 } %1235, 1
  store i32 %1237, ptr %12, align 4
  br label %1242

1238:                                             ; preds = %1149
  %1239 = landingpad { ptr, i32 }
          cleanup
  %1240 = extractvalue { ptr, i32 } %1239, 0
  store ptr %1240, ptr %11, align 8
  %1241 = extractvalue { ptr, i32 } %1239, 1
  store i32 %1241, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %80) #7
  br label %1242

1242:                                             ; preds = %1238, %1234
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %81) #7
  br label %1243

1243:                                             ; preds = %1242, %1230
  call void @llvm.lifetime.end.p0(i64 8, ptr %81) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %80) #7
  br label %3564

1244:                                             ; preds = %1154, %1152
  %1245 = landingpad { ptr, i32 }
          cleanup
  %1246 = extractvalue { ptr, i32 } %1245, 0
  store ptr %1246, ptr %11, align 8
  %1247 = extractvalue { ptr, i32 } %1245, 1
  store i32 %1247, ptr %12, align 4
  br label %1257

1248:                                             ; preds = %1157, %1155
  %1249 = landingpad { ptr, i32 }
          cleanup
  %1250 = extractvalue { ptr, i32 } %1249, 0
  store ptr %1250, ptr %11, align 8
  %1251 = extractvalue { ptr, i32 } %1249, 1
  store i32 %1251, ptr %12, align 4
  br label %1256

1252:                                             ; preds = %1158
  %1253 = landingpad { ptr, i32 }
          cleanup
  %1254 = extractvalue { ptr, i32 } %1253, 0
  store ptr %1254, ptr %11, align 8
  %1255 = extractvalue { ptr, i32 } %1253, 1
  store i32 %1255, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %82) #7
  br label %1256

1256:                                             ; preds = %1252, %1248
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %83) #7
  br label %1257

1257:                                             ; preds = %1256, %1244
  call void @llvm.lifetime.end.p0(i64 8, ptr %83) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %82) #7
  br label %3564

1258:                                             ; preds = %1163, %1161
  %1259 = landingpad { ptr, i32 }
          cleanup
  %1260 = extractvalue { ptr, i32 } %1259, 0
  store ptr %1260, ptr %11, align 8
  %1261 = extractvalue { ptr, i32 } %1259, 1
  store i32 %1261, ptr %12, align 4
  br label %1271

1262:                                             ; preds = %1166, %1164
  %1263 = landingpad { ptr, i32 }
          cleanup
  %1264 = extractvalue { ptr, i32 } %1263, 0
  store ptr %1264, ptr %11, align 8
  %1265 = extractvalue { ptr, i32 } %1263, 1
  store i32 %1265, ptr %12, align 4
  br label %1270

1266:                                             ; preds = %1167
  %1267 = landingpad { ptr, i32 }
          cleanup
  %1268 = extractvalue { ptr, i32 } %1267, 0
  store ptr %1268, ptr %11, align 8
  %1269 = extractvalue { ptr, i32 } %1267, 1
  store i32 %1269, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %84) #7
  br label %1270

1270:                                             ; preds = %1266, %1262
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %85) #7
  br label %1271

1271:                                             ; preds = %1270, %1258
  call void @llvm.lifetime.end.p0(i64 8, ptr %85) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %84) #7
  br label %3564

1272:                                             ; preds = %1177
  call void @llvm.lifetime.start.p0(i64 8, ptr %86) #7
  %1273 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %1274 unwind label %1305

1274:                                             ; preds = %1272
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities15curr_grad_lag_xEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %86, ptr noundef nonnull align 8 dereferenceable(2025) %1273)
          to label %1275 unwind label %1305

1275:                                             ; preds = %1274
  %1276 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %86)
          to label %1277 unwind label %1309

1277:                                             ; preds = %1275
  %1278 = invoke noundef double @_ZNK10SimTKIpopt6Vector4AsumEv(ptr noundef nonnull align 8 dereferenceable(205) %1276)
          to label %1279 unwind label %1309

1279:                                             ; preds = %1277
  %1280 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 39
  store double %1278, ptr %1280, align 8, !tbaa !38
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %86) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %86) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %87) #7
  %1281 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %1282 unwind label %1314

1282:                                             ; preds = %1279
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities15curr_grad_lag_sEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %87, ptr noundef nonnull align 8 dereferenceable(2025) %1281)
          to label %1283 unwind label %1314

1283:                                             ; preds = %1282
  %1284 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %87)
          to label %1285 unwind label %1318

1285:                                             ; preds = %1283
  %1286 = invoke noundef double @_ZNK10SimTKIpopt6Vector4AsumEv(ptr noundef nonnull align 8 dereferenceable(205) %1284)
          to label %1287 unwind label %1318

1287:                                             ; preds = %1285
  %1288 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 40
  store double %1286, ptr %1288, align 8, !tbaa !39
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %87) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %87) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %88) #7
  %1289 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %1290 unwind label %1323

1290:                                             ; preds = %1287
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities6curr_cEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %88, ptr noundef nonnull align 8 dereferenceable(2025) %1289)
          to label %1291 unwind label %1323

1291:                                             ; preds = %1290
  %1292 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %88)
          to label %1293 unwind label %1327

1293:                                             ; preds = %1291
  %1294 = invoke noundef double @_ZNK10SimTKIpopt6Vector4AsumEv(ptr noundef nonnull align 8 dereferenceable(205) %1292)
          to label %1295 unwind label %1327

1295:                                             ; preds = %1293
  %1296 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 41
  store double %1294, ptr %1296, align 8, !tbaa !40
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %88) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %88) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %89) #7
  %1297 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %1298 unwind label %1332

1298:                                             ; preds = %1295
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_d_minus_sEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %89, ptr noundef nonnull align 8 dereferenceable(2025) %1297)
          to label %1299 unwind label %1332

1299:                                             ; preds = %1298
  %1300 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %89)
          to label %1301 unwind label %1336

1301:                                             ; preds = %1299
  %1302 = invoke noundef double @_ZNK10SimTKIpopt6Vector4AsumEv(ptr noundef nonnull align 8 dereferenceable(205) %1300)
          to label %1303 unwind label %1336

1303:                                             ; preds = %1301
  %1304 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 42
  store double %1302, ptr %1304, align 8, !tbaa !41
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %89) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %89) #7
  br label %1480

1305:                                             ; preds = %1274, %1272
  %1306 = landingpad { ptr, i32 }
          cleanup
  %1307 = extractvalue { ptr, i32 } %1306, 0
  store ptr %1307, ptr %11, align 8
  %1308 = extractvalue { ptr, i32 } %1306, 1
  store i32 %1308, ptr %12, align 4
  br label %1313

1309:                                             ; preds = %1277, %1275
  %1310 = landingpad { ptr, i32 }
          cleanup
  %1311 = extractvalue { ptr, i32 } %1310, 0
  store ptr %1311, ptr %11, align 8
  %1312 = extractvalue { ptr, i32 } %1310, 1
  store i32 %1312, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %86) #7
  br label %1313

1313:                                             ; preds = %1309, %1305
  call void @llvm.lifetime.end.p0(i64 8, ptr %86) #7
  br label %3564

1314:                                             ; preds = %1282, %1279
  %1315 = landingpad { ptr, i32 }
          cleanup
  %1316 = extractvalue { ptr, i32 } %1315, 0
  store ptr %1316, ptr %11, align 8
  %1317 = extractvalue { ptr, i32 } %1315, 1
  store i32 %1317, ptr %12, align 4
  br label %1322

1318:                                             ; preds = %1285, %1283
  %1319 = landingpad { ptr, i32 }
          cleanup
  %1320 = extractvalue { ptr, i32 } %1319, 0
  store ptr %1320, ptr %11, align 8
  %1321 = extractvalue { ptr, i32 } %1319, 1
  store i32 %1321, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %87) #7
  br label %1322

1322:                                             ; preds = %1318, %1314
  call void @llvm.lifetime.end.p0(i64 8, ptr %87) #7
  br label %3564

1323:                                             ; preds = %1290, %1287
  %1324 = landingpad { ptr, i32 }
          cleanup
  %1325 = extractvalue { ptr, i32 } %1324, 0
  store ptr %1325, ptr %11, align 8
  %1326 = extractvalue { ptr, i32 } %1324, 1
  store i32 %1326, ptr %12, align 4
  br label %1331

1327:                                             ; preds = %1293, %1291
  %1328 = landingpad { ptr, i32 }
          cleanup
  %1329 = extractvalue { ptr, i32 } %1328, 0
  store ptr %1329, ptr %11, align 8
  %1330 = extractvalue { ptr, i32 } %1328, 1
  store i32 %1330, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %88) #7
  br label %1331

1331:                                             ; preds = %1327, %1323
  call void @llvm.lifetime.end.p0(i64 8, ptr %88) #7
  br label %3564

1332:                                             ; preds = %1298, %1295
  %1333 = landingpad { ptr, i32 }
          cleanup
  %1334 = extractvalue { ptr, i32 } %1333, 0
  store ptr %1334, ptr %11, align 8
  %1335 = extractvalue { ptr, i32 } %1333, 1
  store i32 %1335, ptr %12, align 4
  br label %1340

1336:                                             ; preds = %1301, %1299
  %1337 = landingpad { ptr, i32 }
          cleanup
  %1338 = extractvalue { ptr, i32 } %1337, 0
  store ptr %1338, ptr %11, align 8
  %1339 = extractvalue { ptr, i32 } %1337, 1
  store i32 %1339, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %89) #7
  br label %1340

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

1341:                                             ; preds = %1177, %1177
  call void @llvm.lifetime.start.p0(i64 8, ptr %90) #7
  %1342 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %1343 unwind label %1374

1343:                                             ; preds = %1341
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities15curr_grad_lag_xEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %90, ptr noundef nonnull align 8 dereferenceable(2025) %1342)
          to label %1344 unwind label %1374

1344:                                             ; preds = %1343
  %1345 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %90)
          to label %1346 unwind label %1378

1346:                                             ; preds = %1344
  %1347 = invoke noundef double @_ZNK10SimTKIpopt6Vector4Nrm2Ev(ptr noundef nonnull align 8 dereferenceable(205) %1345)
          to label %1348 unwind label %1378

1348:                                             ; preds = %1346
  %1349 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 43
  store double %1347, ptr %1349, align 8, !tbaa !42
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %90) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %90) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %91) #7
  %1350 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %1351 unwind label %1383

1351:                                             ; preds = %1348
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities15curr_grad_lag_sEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %91, ptr noundef nonnull align 8 dereferenceable(2025) %1350)
          to label %1352 unwind label %1383

1352:                                             ; preds = %1351
  %1353 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %91)
          to label %1354 unwind label %1387

1354:                                             ; preds = %1352
  %1355 = invoke noundef double @_ZNK10SimTKIpopt6Vector4Nrm2Ev(ptr noundef nonnull align 8 dereferenceable(205) %1353)
          to label %1356 unwind label %1387

1356:                                             ; preds = %1354
  %1357 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 44
  store double %1355, ptr %1357, align 8, !tbaa !43
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %91) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %91) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %92) #7
  %1358 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %1359 unwind label %1392

1359:                                             ; preds = %1356
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities6curr_cEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %92, ptr noundef nonnull align 8 dereferenceable(2025) %1358)
          to label %1360 unwind label %1392

1360:                                             ; preds = %1359
  %1361 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %92)
          to label %1362 unwind label %1396

1362:                                             ; preds = %1360
  %1363 = invoke noundef double @_ZNK10SimTKIpopt6Vector4Nrm2Ev(ptr noundef nonnull align 8 dereferenceable(205) %1361)
          to label %1364 unwind label %1396

1364:                                             ; preds = %1362
  %1365 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 45
  store double %1363, ptr %1365, align 8, !tbaa !44
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %92) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %92) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %93) #7
  %1366 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %1367 unwind label %1401

1367:                                             ; preds = %1364
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_d_minus_sEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %93, ptr noundef nonnull align 8 dereferenceable(2025) %1366)
          to label %1368 unwind label %1401

1368:                                             ; preds = %1367
  %1369 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %93)
          to label %1370 unwind label %1405

1370:                                             ; preds = %1368
  %1371 = invoke noundef double @_ZNK10SimTKIpopt6Vector4Nrm2Ev(ptr noundef nonnull align 8 dereferenceable(205) %1369)
          to label %1372 unwind label %1405

1372:                                             ; preds = %1370
  %1373 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 46
  store double %1371, ptr %1373, align 8, !tbaa !45
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %93) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %93) #7
  br label %1480

1374:                                             ; preds = %1343, %1341
  %1375 = landingpad { ptr, i32 }
          cleanup
  %1376 = extractvalue { ptr, i32 } %1375, 0
  store ptr %1376, ptr %11, align 8
  %1377 = extractvalue { ptr, i32 } %1375, 1
  store i32 %1377, ptr %12, align 4
  br label %1382

1378:                                             ; preds = %1346, %1344
  %1379 = landingpad { ptr, i32 }
          cleanup
  %1380 = extractvalue { ptr, i32 } %1379, 0
  store ptr %1380, ptr %11, align 8
  %1381 = extractvalue { ptr, i32 } %1379, 1
  store i32 %1381, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %90) #7
  br label %1382

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

1383:                                             ; preds = %1351, %1348
  %1384 = landingpad { ptr, i32 }
          cleanup
  %1385 = extractvalue { ptr, i32 } %1384, 0
  store ptr %1385, ptr %11, align 8
  %1386 = extractvalue { ptr, i32 } %1384, 1
  store i32 %1386, ptr %12, align 4
  br label %1391

1387:                                             ; preds = %1354, %1352
  %1388 = landingpad { ptr, i32 }
          cleanup
  %1389 = extractvalue { ptr, i32 } %1388, 0
  store ptr %1389, ptr %11, align 8
  %1390 = extractvalue { ptr, i32 } %1388, 1
  store i32 %1390, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %91) #7
  br label %1391

1391:                                             ; preds = %1387, %1383
  call void @llvm.lifetime.end.p0(i64 8, ptr %91) #7
  br label %3564

1392:                                             ; preds = %1359, %1356
  %1393 = landingpad { ptr, i32 }
          cleanup
  %1394 = extractvalue { ptr, i32 } %1393, 0
  store ptr %1394, ptr %11, align 8
  %1395 = extractvalue { ptr, i32 } %1393, 1
  store i32 %1395, ptr %12, align 4
  br label %1400

1396:                                             ; preds = %1362, %1360
  %1397 = landingpad { ptr, i32 }
          cleanup
  %1398 = extractvalue { ptr, i32 } %1397, 0
  store ptr %1398, ptr %11, align 8
  %1399 = extractvalue { ptr, i32 } %1397, 1
  store i32 %1399, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %92) #7
  br label %1400

1400:                                             ; preds = %1396, %1392
  call void @llvm.lifetime.end.p0(i64 8, ptr %92) #7
  br label %3564

1401:                                             ; preds = %1367, %1364
  %1402 = landingpad { ptr, i32 }
          cleanup
  %1403 = extractvalue { ptr, i32 } %1402, 0
  store ptr %1403, ptr %11, align 8
  %1404 = extractvalue { ptr, i32 } %1402, 1
  store i32 %1404, ptr %12, align 4
  br label %1409

1405:                                             ; preds = %1370, %1368
  %1406 = landingpad { ptr, i32 }
          cleanup
  %1407 = extractvalue { ptr, i32 } %1406, 0
  store ptr %1407, ptr %11, align 8
  %1408 = extractvalue { ptr, i32 } %1406, 1
  store i32 %1408, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %93) #7
  br label %1409

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

1410:                                             ; preds = %1177
  call void @llvm.lifetime.start.p0(i64 8, ptr %94) #7
  %1411 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %1412 unwind label %1443

1412:                                             ; preds = %1410
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities15curr_grad_lag_xEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %94, ptr noundef nonnull align 8 dereferenceable(2025) %1411)
          to label %1413 unwind label %1443

1413:                                             ; preds = %1412
  %1414 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %94)
          to label %1415 unwind label %1447

1415:                                             ; preds = %1413
  %1416 = invoke noundef double @_ZNK10SimTKIpopt6Vector4AmaxEv(ptr noundef nonnull align 8 dereferenceable(205) %1414)
          to label %1417 unwind label %1447

1417:                                             ; preds = %1415
  %1418 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 47
  store double %1416, ptr %1418, align 8, !tbaa !46
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %94) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %94) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %95) #7
  %1419 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %1420 unwind label %1452

1420:                                             ; preds = %1417
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities15curr_grad_lag_sEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %95, ptr noundef nonnull align 8 dereferenceable(2025) %1419)
          to label %1421 unwind label %1452

1421:                                             ; preds = %1420
  %1422 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %95)
          to label %1423 unwind label %1456

1423:                                             ; preds = %1421
  %1424 = invoke noundef double @_ZNK10SimTKIpopt6Vector4AmaxEv(ptr noundef nonnull align 8 dereferenceable(205) %1422)
          to label %1425 unwind label %1456

1425:                                             ; preds = %1423
  %1426 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 48
  store double %1424, ptr %1426, align 8, !tbaa !47
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %95) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %95) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %96) #7
  %1427 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %1428 unwind label %1461

1428:                                             ; preds = %1425
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities6curr_cEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %96, ptr noundef nonnull align 8 dereferenceable(2025) %1427)
          to label %1429 unwind label %1461

1429:                                             ; preds = %1428
  %1430 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %96)
          to label %1431 unwind label %1465

1431:                                             ; preds = %1429
  %1432 = invoke noundef double @_ZNK10SimTKIpopt6Vector4AmaxEv(ptr noundef nonnull align 8 dereferenceable(205) %1430)
          to label %1433 unwind label %1465

1433:                                             ; preds = %1431
  %1434 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 49
  store double %1432, ptr %1434, align 8, !tbaa !48
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %96) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %96) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %97) #7
  %1435 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %1436 unwind label %1470

1436:                                             ; preds = %1433
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_d_minus_sEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %97, ptr noundef nonnull align 8 dereferenceable(2025) %1435)
          to label %1437 unwind label %1470

1437:                                             ; preds = %1436
  %1438 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %97)
          to label %1439 unwind label %1474

1439:                                             ; preds = %1437
  %1440 = invoke noundef double @_ZNK10SimTKIpopt6Vector4AmaxEv(ptr noundef nonnull align 8 dereferenceable(205) %1438)
          to label %1441 unwind label %1474

1441:                                             ; preds = %1439
  %1442 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 50
  store double %1440, ptr %1442, align 8, !tbaa !49
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %97) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %97) #7
  br label %1480

1443:                                             ; preds = %1412, %1410
  %1444 = landingpad { ptr, i32 }
          cleanup
  %1445 = extractvalue { ptr, i32 } %1444, 0
  store ptr %1445, ptr %11, align 8
  %1446 = extractvalue { ptr, i32 } %1444, 1
  store i32 %1446, ptr %12, align 4
  br label %1451

1447:                                             ; preds = %1415, %1413
  %1448 = landingpad { ptr, i32 }
          cleanup
  %1449 = extractvalue { ptr, i32 } %1448, 0
  store ptr %1449, ptr %11, align 8
  %1450 = extractvalue { ptr, i32 } %1448, 1
  store i32 %1450, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %94) #7
  br label %1451

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

1452:                                             ; preds = %1420, %1417
  %1453 = landingpad { ptr, i32 }
          cleanup
  %1454 = extractvalue { ptr, i32 } %1453, 0
  store ptr %1454, ptr %11, align 8
  %1455 = extractvalue { ptr, i32 } %1453, 1
  store i32 %1455, ptr %12, align 4
  br label %1460

1456:                                             ; preds = %1423, %1421
  %1457 = landingpad { ptr, i32 }
          cleanup
  %1458 = extractvalue { ptr, i32 } %1457, 0
  store ptr %1458, ptr %11, align 8
  %1459 = extractvalue { ptr, i32 } %1457, 1
  store i32 %1459, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %95) #7
  br label %1460

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

1461:                                             ; preds = %1428, %1425
  %1462 = landingpad { ptr, i32 }
          cleanup
  %1463 = extractvalue { ptr, i32 } %1462, 0
  store ptr %1463, ptr %11, align 8
  %1464 = extractvalue { ptr, i32 } %1462, 1
  store i32 %1464, ptr %12, align 4
  br label %1469

1465:                                             ; preds = %1431, %1429
  %1466 = landingpad { ptr, i32 }
          cleanup
  %1467 = extractvalue { ptr, i32 } %1466, 0
  store ptr %1467, ptr %11, align 8
  %1468 = extractvalue { ptr, i32 } %1466, 1
  store i32 %1468, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %96) #7
  br label %1469

1469:                                             ; preds = %1465, %1461
  call void @llvm.lifetime.end.p0(i64 8, ptr %96) #7
  br label %3564

1470:                                             ; preds = %1436, %1433
  %1471 = landingpad { ptr, i32 }
          cleanup
  %1472 = extractvalue { ptr, i32 } %1471, 0
  store ptr %1472, ptr %11, align 8
  %1473 = extractvalue { ptr, i32 } %1471, 1
  store i32 %1473, ptr %12, align 4
  br label %1478

1474:                                             ; preds = %1439, %1437
  %1475 = landingpad { ptr, i32 }
          cleanup
  %1476 = extractvalue { ptr, i32 } %1475, 0
  store ptr %1476, ptr %11, align 8
  %1477 = extractvalue { ptr, i32 } %1475, 1
  store i32 %1477, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %97) #7
  br label %1478

1478:                                             ; preds = %1474, %1470
  call void @llvm.lifetime.end.p0(i64 8, ptr %97) #7
  br label %3564

1479:                                             ; preds = %1177
  br label %1480

1480:                                             ; preds = %1479, %1441, %1372, %1303
  %1481 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %1482 unwind label %887

1482:                                             ; preds = %1480
  %1483 = invoke noundef nonnull align 8 dereferenceable(664) ptr @_ZN10SimTKIpopt9IpoptData11TimingStatsEv(ptr noundef nonnull align 8 dereferenceable(864) %1481)
          to label %1484 unwind label %887

1484:                                             ; preds = %1482
  %1485 = invoke noundef nonnull align 8 dereferenceable(18) ptr @_ZN10SimTKIpopt16TimingStatistics5Task5Ev(ptr noundef nonnull align 8 dereferenceable(664) %1483)
          to label %1486 unwind label %887

1486:                                             ; preds = %1484
  invoke void @_ZN10SimTKIpopt9TimedTask3EndEv(ptr noundef nonnull align 8 dereferenceable(18) %1485)
          to label %1487 unwind label %887

1487:                                             ; preds = %1486
  %1488 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 27
  %1489 = load i8, ptr %1488, align 4, !tbaa !17, !range !15, !noundef !16
  %1490 = trunc i8 %1489 to i1
  br i1 %1490, label %1698, label %1491

1491:                                             ; preds = %1487
  call void @llvm.lifetime.start.p0(i64 8, ptr %98) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %99) #7
  %1492 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %1493 unwind label %1581

1493:                                             ; preds = %1491
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.33") align 8 %99, ptr noundef nonnull align 8 dereferenceable(864) %1492)
          to label %1494 unwind label %1581

1494:                                             ; preds = %1493
  %1495 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %99)
          to label %1496 unwind label %1585

1496:                                             ; preds = %1494
  invoke void @_ZNK10SimTKIpopt14IteratesVector1xEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %98, ptr noundef nonnull align 8 dereferenceable(280) %1495)
          to label %1497 unwind label %1585

1497:                                             ; preds = %1496
  %1498 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %98)
          to label %1499 unwind label %1589

1499:                                             ; preds = %1497
  %1500 = invoke noundef i32 @_ZNK10SimTKIpopt6Vector3DimEv(ptr noundef nonnull align 8 dereferenceable(205) %1498)
          to label %1501 unwind label %1589

1501:                                             ; preds = %1499
  call void @llvm.lifetime.start.p0(i64 8, ptr %100) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %101) #7
  %1502 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %1503 unwind label %1593

1503:                                             ; preds = %1501
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.33") align 8 %101, ptr noundef nonnull align 8 dereferenceable(864) %1502)
          to label %1504 unwind label %1593

1504:                                             ; preds = %1503
  %1505 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %101)
          to label %1506 unwind label %1597

1506:                                             ; preds = %1504
  invoke void @_ZNK10SimTKIpopt14IteratesVector1sEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %100, ptr noundef nonnull align 8 dereferenceable(280) %1505)
          to label %1507 unwind label %1597

1507:                                             ; preds = %1506
  %1508 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %100)
          to label %1509 unwind label %1601

1509:                                             ; preds = %1507
  %1510 = invoke noundef i32 @_ZNK10SimTKIpopt6Vector3DimEv(ptr noundef nonnull align 8 dereferenceable(205) %1508)
          to label %1511 unwind label %1601

1511:                                             ; preds = %1509
  %1512 = add nsw i32 %1500, %1510
  %1513 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 28
  store i32 %1512, ptr %1513, align 8, !tbaa !33
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %100) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %101) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %101) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %100) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %98) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %99) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %99) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %98) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %102) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %103) #7
  %1514 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %1515 unwind label %1610

1515:                                             ; preds = %1511
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.33") align 8 %103, ptr noundef nonnull align 8 dereferenceable(864) %1514)
          to label %1516 unwind label %1610

1516:                                             ; preds = %1515
  %1517 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %103)
          to label %1518 unwind label %1614

1518:                                             ; preds = %1516
  invoke void @_ZNK10SimTKIpopt14IteratesVector3y_cEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %102, ptr noundef nonnull align 8 dereferenceable(280) %1517)
          to label %1519 unwind label %1614

1519:                                             ; preds = %1518
  %1520 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %102)
          to label %1521 unwind label %1618

1521:                                             ; preds = %1519
  %1522 = invoke noundef i32 @_ZNK10SimTKIpopt6Vector3DimEv(ptr noundef nonnull align 8 dereferenceable(205) %1520)
          to label %1523 unwind label %1618

1523:                                             ; preds = %1521
  call void @llvm.lifetime.start.p0(i64 8, ptr %104) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %105) #7
  %1524 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %1525 unwind label %1622

1525:                                             ; preds = %1523
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.33") align 8 %105, ptr noundef nonnull align 8 dereferenceable(864) %1524)
          to label %1526 unwind label %1622

1526:                                             ; preds = %1525
  %1527 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %105)
          to label %1528 unwind label %1626

1528:                                             ; preds = %1526
  invoke void @_ZNK10SimTKIpopt14IteratesVector3y_dEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %104, ptr noundef nonnull align 8 dereferenceable(280) %1527)
          to label %1529 unwind label %1626

1529:                                             ; preds = %1528
  %1530 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %104)
          to label %1531 unwind label %1630

1531:                                             ; preds = %1529
  %1532 = invoke noundef i32 @_ZNK10SimTKIpopt6Vector3DimEv(ptr noundef nonnull align 8 dereferenceable(205) %1530)
          to label %1533 unwind label %1630

1533:                                             ; preds = %1531
  %1534 = add nsw i32 %1522, %1532
  %1535 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 29
  store i32 %1534, ptr %1535, align 4, !tbaa !34
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %104) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %105) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %105) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %104) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %102) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %103) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %103) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %102) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %106) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %107) #7
  %1536 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %1537 unwind label %1639

1537:                                             ; preds = %1533
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.33") align 8 %107, ptr noundef nonnull align 8 dereferenceable(864) %1536)
          to label %1538 unwind label %1639

1538:                                             ; preds = %1537
  %1539 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %107)
          to label %1540 unwind label %1643

1540:                                             ; preds = %1538
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_LEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %106, ptr noundef nonnull align 8 dereferenceable(280) %1539)
          to label %1541 unwind label %1643

1541:                                             ; preds = %1540
  %1542 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %106)
          to label %1543 unwind label %1647

1543:                                             ; preds = %1541
  %1544 = invoke noundef i32 @_ZNK10SimTKIpopt6Vector3DimEv(ptr noundef nonnull align 8 dereferenceable(205) %1542)
          to label %1545 unwind label %1647

1545:                                             ; preds = %1543
  call void @llvm.lifetime.start.p0(i64 8, ptr %108) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %109) #7
  %1546 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %1547 unwind label %1651

1547:                                             ; preds = %1545
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.33") align 8 %109, ptr noundef nonnull align 8 dereferenceable(864) %1546)
          to label %1548 unwind label %1651

1548:                                             ; preds = %1547
  %1549 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %109)
          to label %1550 unwind label %1655

1550:                                             ; preds = %1548
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %108, ptr noundef nonnull align 8 dereferenceable(280) %1549)
          to label %1551 unwind label %1655

1551:                                             ; preds = %1550
  %1552 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %108)
          to label %1553 unwind label %1659

1553:                                             ; preds = %1551
  %1554 = invoke noundef i32 @_ZNK10SimTKIpopt6Vector3DimEv(ptr noundef nonnull align 8 dereferenceable(205) %1552)
          to label %1555 unwind label %1659

1555:                                             ; preds = %1553
  %1556 = add nsw i32 %1544, %1554
  call void @llvm.lifetime.start.p0(i64 8, ptr %110) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %111) #7
  %1557 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %1558 unwind label %1663

1558:                                             ; preds = %1555
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.33") align 8 %111, ptr noundef nonnull align 8 dereferenceable(864) %1557)
          to label %1559 unwind label %1663

1559:                                             ; preds = %1558
  %1560 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %111)
          to label %1561 unwind label %1667

1561:                                             ; preds = %1559
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_LEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %110, ptr noundef nonnull align 8 dereferenceable(280) %1560)
          to label %1562 unwind label %1667

1562:                                             ; preds = %1561
  %1563 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %110)
          to label %1564 unwind label %1671

1564:                                             ; preds = %1562
  %1565 = invoke noundef i32 @_ZNK10SimTKIpopt6Vector3DimEv(ptr noundef nonnull align 8 dereferenceable(205) %1563)
          to label %1566 unwind label %1671

1566:                                             ; preds = %1564
  %1567 = add nsw i32 %1556, %1565
  call void @llvm.lifetime.start.p0(i64 8, ptr %112) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %113) #7
  %1568 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %1569 unwind label %1675

1569:                                             ; preds = %1566
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.33") align 8 %113, ptr noundef nonnull align 8 dereferenceable(864) %1568)
          to label %1570 unwind label %1675

1570:                                             ; preds = %1569
  %1571 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %113)
          to label %1572 unwind label %1679

1572:                                             ; preds = %1570
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %112, ptr noundef nonnull align 8 dereferenceable(280) %1571)
          to label %1573 unwind label %1679

1573:                                             ; preds = %1572
  %1574 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %112)
          to label %1575 unwind label %1683

1575:                                             ; preds = %1573
  %1576 = invoke noundef i32 @_ZNK10SimTKIpopt6Vector3DimEv(ptr noundef nonnull align 8 dereferenceable(205) %1574)
          to label %1577 unwind label %1683

1577:                                             ; preds = %1575
  %1578 = add nsw i32 %1567, %1576
  %1579 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 30
  store i32 %1578, ptr %1579, align 8, !tbaa !35
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %112) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %113) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %113) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %112) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %110) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %111) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %111) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %110) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %108) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %109) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %109) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %108) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %106) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %107) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %107) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %106) #7
  %1580 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 27
  store i8 1, ptr %1580, align 4, !tbaa !17
  br label %1698

1581:                                             ; preds = %1493, %1491
  %1582 = landingpad { ptr, i32 }
          cleanup
  %1583 = extractvalue { ptr, i32 } %1582, 0
  store ptr %1583, ptr %11, align 8
  %1584 = extractvalue { ptr, i32 } %1582, 1
  store i32 %1584, ptr %12, align 4
  br label %1609

1585:                                             ; preds = %1496, %1494
  %1586 = landingpad { ptr, i32 }
          cleanup
  %1587 = extractvalue { ptr, i32 } %1586, 0
  store ptr %1587, ptr %11, align 8
  %1588 = extractvalue { ptr, i32 } %1586, 1
  store i32 %1588, ptr %12, align 4
  br label %1608

1589:                                             ; preds = %1499, %1497
  %1590 = landingpad { ptr, i32 }
          cleanup
  %1591 = extractvalue { ptr, i32 } %1590, 0
  store ptr %1591, ptr %11, align 8
  %1592 = extractvalue { ptr, i32 } %1590, 1
  store i32 %1592, ptr %12, align 4
  br label %1607

1593:                                             ; preds = %1503, %1501
  %1594 = landingpad { ptr, i32 }
          cleanup
  %1595 = extractvalue { ptr, i32 } %1594, 0
  store ptr %1595, ptr %11, align 8
  %1596 = extractvalue { ptr, i32 } %1594, 1
  store i32 %1596, ptr %12, align 4
  br label %1606

1597:                                             ; preds = %1506, %1504
  %1598 = landingpad { ptr, i32 }
          cleanup
  %1599 = extractvalue { ptr, i32 } %1598, 0
  store ptr %1599, ptr %11, align 8
  %1600 = extractvalue { ptr, i32 } %1598, 1
  store i32 %1600, ptr %12, align 4
  br label %1605

1601:                                             ; preds = %1509, %1507
  %1602 = landingpad { ptr, i32 }
          cleanup
  %1603 = extractvalue { ptr, i32 } %1602, 0
  store ptr %1603, ptr %11, align 8
  %1604 = extractvalue { ptr, i32 } %1602, 1
  store i32 %1604, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %100) #7
  br label %1605

1605:                                             ; preds = %1601, %1597
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %101) #7
  br label %1606

1606:                                             ; preds = %1605, %1593
  call void @llvm.lifetime.end.p0(i64 8, ptr %101) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %100) #7
  br label %1607

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

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

1609:                                             ; preds = %1608, %1581
  call void @llvm.lifetime.end.p0(i64 8, ptr %99) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %98) #7
  br label %3564

1610:                                             ; preds = %1515, %1511
  %1611 = landingpad { ptr, i32 }
          cleanup
  %1612 = extractvalue { ptr, i32 } %1611, 0
  store ptr %1612, ptr %11, align 8
  %1613 = extractvalue { ptr, i32 } %1611, 1
  store i32 %1613, ptr %12, align 4
  br label %1638

1614:                                             ; preds = %1518, %1516
  %1615 = landingpad { ptr, i32 }
          cleanup
  %1616 = extractvalue { ptr, i32 } %1615, 0
  store ptr %1616, ptr %11, align 8
  %1617 = extractvalue { ptr, i32 } %1615, 1
  store i32 %1617, ptr %12, align 4
  br label %1637

1618:                                             ; preds = %1521, %1519
  %1619 = landingpad { ptr, i32 }
          cleanup
  %1620 = extractvalue { ptr, i32 } %1619, 0
  store ptr %1620, ptr %11, align 8
  %1621 = extractvalue { ptr, i32 } %1619, 1
  store i32 %1621, ptr %12, align 4
  br label %1636

1622:                                             ; preds = %1525, %1523
  %1623 = landingpad { ptr, i32 }
          cleanup
  %1624 = extractvalue { ptr, i32 } %1623, 0
  store ptr %1624, ptr %11, align 8
  %1625 = extractvalue { ptr, i32 } %1623, 1
  store i32 %1625, ptr %12, align 4
  br label %1635

1626:                                             ; preds = %1528, %1526
  %1627 = landingpad { ptr, i32 }
          cleanup
  %1628 = extractvalue { ptr, i32 } %1627, 0
  store ptr %1628, ptr %11, align 8
  %1629 = extractvalue { ptr, i32 } %1627, 1
  store i32 %1629, ptr %12, align 4
  br label %1634

1630:                                             ; preds = %1531, %1529
  %1631 = landingpad { ptr, i32 }
          cleanup
  %1632 = extractvalue { ptr, i32 } %1631, 0
  store ptr %1632, ptr %11, align 8
  %1633 = extractvalue { ptr, i32 } %1631, 1
  store i32 %1633, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %104) #7
  br label %1634

1634:                                             ; preds = %1630, %1626
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %105) #7
  br label %1635

1635:                                             ; preds = %1634, %1622
  call void @llvm.lifetime.end.p0(i64 8, ptr %105) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %104) #7
  br label %1636

1636:                                             ; preds = %1635, %1618
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %102) #7
  br label %1637

1637:                                             ; preds = %1636, %1614
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %103) #7
  br label %1638

1638:                                             ; preds = %1637, %1610
  call void @llvm.lifetime.end.p0(i64 8, ptr %103) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %102) #7
  br label %3564

1639:                                             ; preds = %1537, %1533
  %1640 = landingpad { ptr, i32 }
          cleanup
  %1641 = extractvalue { ptr, i32 } %1640, 0
  store ptr %1641, ptr %11, align 8
  %1642 = extractvalue { ptr, i32 } %1640, 1
  store i32 %1642, ptr %12, align 4
  br label %1697

1643:                                             ; preds = %1540, %1538
  %1644 = landingpad { ptr, i32 }
          cleanup
  %1645 = extractvalue { ptr, i32 } %1644, 0
  store ptr %1645, ptr %11, align 8
  %1646 = extractvalue { ptr, i32 } %1644, 1
  store i32 %1646, ptr %12, align 4
  br label %1696

1647:                                             ; preds = %1543, %1541
  %1648 = landingpad { ptr, i32 }
          cleanup
  %1649 = extractvalue { ptr, i32 } %1648, 0
  store ptr %1649, ptr %11, align 8
  %1650 = extractvalue { ptr, i32 } %1648, 1
  store i32 %1650, ptr %12, align 4
  br label %1695

1651:                                             ; preds = %1547, %1545
  %1652 = landingpad { ptr, i32 }
          cleanup
  %1653 = extractvalue { ptr, i32 } %1652, 0
  store ptr %1653, ptr %11, align 8
  %1654 = extractvalue { ptr, i32 } %1652, 1
  store i32 %1654, ptr %12, align 4
  br label %1694

1655:                                             ; preds = %1550, %1548
  %1656 = landingpad { ptr, i32 }
          cleanup
  %1657 = extractvalue { ptr, i32 } %1656, 0
  store ptr %1657, ptr %11, align 8
  %1658 = extractvalue { ptr, i32 } %1656, 1
  store i32 %1658, ptr %12, align 4
  br label %1693

1659:                                             ; preds = %1553, %1551
  %1660 = landingpad { ptr, i32 }
          cleanup
  %1661 = extractvalue { ptr, i32 } %1660, 0
  store ptr %1661, ptr %11, align 8
  %1662 = extractvalue { ptr, i32 } %1660, 1
  store i32 %1662, ptr %12, align 4
  br label %1692

1663:                                             ; preds = %1558, %1555
  %1664 = landingpad { ptr, i32 }
          cleanup
  %1665 = extractvalue { ptr, i32 } %1664, 0
  store ptr %1665, ptr %11, align 8
  %1666 = extractvalue { ptr, i32 } %1664, 1
  store i32 %1666, ptr %12, align 4
  br label %1691

1667:                                             ; preds = %1561, %1559
  %1668 = landingpad { ptr, i32 }
          cleanup
  %1669 = extractvalue { ptr, i32 } %1668, 0
  store ptr %1669, ptr %11, align 8
  %1670 = extractvalue { ptr, i32 } %1668, 1
  store i32 %1670, ptr %12, align 4
  br label %1690

1671:                                             ; preds = %1564, %1562
  %1672 = landingpad { ptr, i32 }
          cleanup
  %1673 = extractvalue { ptr, i32 } %1672, 0
  store ptr %1673, ptr %11, align 8
  %1674 = extractvalue { ptr, i32 } %1672, 1
  store i32 %1674, ptr %12, align 4
  br label %1689

1675:                                             ; preds = %1569, %1566
  %1676 = landingpad { ptr, i32 }
          cleanup
  %1677 = extractvalue { ptr, i32 } %1676, 0
  store ptr %1677, ptr %11, align 8
  %1678 = extractvalue { ptr, i32 } %1676, 1
  store i32 %1678, ptr %12, align 4
  br label %1688

1679:                                             ; preds = %1572, %1570
  %1680 = landingpad { ptr, i32 }
          cleanup
  %1681 = extractvalue { ptr, i32 } %1680, 0
  store ptr %1681, ptr %11, align 8
  %1682 = extractvalue { ptr, i32 } %1680, 1
  store i32 %1682, ptr %12, align 4
  br label %1687

1683:                                             ; preds = %1575, %1573
  %1684 = landingpad { ptr, i32 }
          cleanup
  %1685 = extractvalue { ptr, i32 } %1684, 0
  store ptr %1685, ptr %11, align 8
  %1686 = extractvalue { ptr, i32 } %1684, 1
  store i32 %1686, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %112) #7
  br label %1687

1687:                                             ; preds = %1683, %1679
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %113) #7
  br label %1688

1688:                                             ; preds = %1687, %1675
  call void @llvm.lifetime.end.p0(i64 8, ptr %113) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %112) #7
  br label %1689

1689:                                             ; preds = %1688, %1671
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %110) #7
  br label %1690

1690:                                             ; preds = %1689, %1667
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %111) #7
  br label %1691

1691:                                             ; preds = %1690, %1663
  call void @llvm.lifetime.end.p0(i64 8, ptr %111) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %110) #7
  br label %1692

1692:                                             ; preds = %1691, %1659
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %108) #7
  br label %1693

1693:                                             ; preds = %1692, %1655
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %109) #7
  br label %1694

1694:                                             ; preds = %1693, %1651
  call void @llvm.lifetime.end.p0(i64 8, ptr %109) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %108) #7
  br label %1695

1695:                                             ; preds = %1694, %1647
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %106) #7
  br label %1696

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

1697:                                             ; preds = %1696, %1639
  call void @llvm.lifetime.end.p0(i64 8, ptr %107) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %106) #7
  br label %3564

1698:                                             ; preds = %1577, %1487
  %1699 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 26
  store i32 0, ptr %1699, align 8, !tbaa !36
  call void @llvm.lifetime.start.p0(i64 8, ptr %114) #7
  %1700 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %1701 unwind label %1769

1701:                                             ; preds = %1698
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_slack_x_LEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %114, ptr noundef nonnull align 8 dereferenceable(2025) %1700)
          to label %1702 unwind label %1769

1702:                                             ; preds = %1701
  %1703 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 31
  %1704 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %1703, ptr noundef nonnull align 8 dereferenceable(8) %114)
          to label %1705 unwind label %1773

1705:                                             ; preds = %1702
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %114) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %114) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %115) #7
  %1706 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %1707 unwind label %1778

1707:                                             ; preds = %1705
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_slack_x_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %115, ptr noundef nonnull align 8 dereferenceable(2025) %1706)
          to label %1708 unwind label %1778

1708:                                             ; preds = %1707
  %1709 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 32
  %1710 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %1709, ptr noundef nonnull align 8 dereferenceable(8) %115)
          to label %1711 unwind label %1782

1711:                                             ; preds = %1708
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %115) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %115) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %116) #7
  %1712 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %1713 unwind label %1787

1713:                                             ; preds = %1711
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_slack_s_LEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %116, ptr noundef nonnull align 8 dereferenceable(2025) %1712)
          to label %1714 unwind label %1787

1714:                                             ; preds = %1713
  %1715 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 33
  %1716 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %1715, ptr noundef nonnull align 8 dereferenceable(8) %116)
          to label %1717 unwind label %1791

1717:                                             ; preds = %1714
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %116) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %116) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %117) #7
  %1718 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %1719 unwind label %1796

1719:                                             ; preds = %1717
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_slack_s_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %117, ptr noundef nonnull align 8 dereferenceable(2025) %1718)
          to label %1720 unwind label %1796

1720:                                             ; preds = %1719
  %1721 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 34
  %1722 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %1721, ptr noundef nonnull align 8 dereferenceable(8) %117)
          to label %1723 unwind label %1800

1723:                                             ; preds = %1720
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %117) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %117) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %118) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %119) #7
  %1724 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %1725 unwind label %1805

1725:                                             ; preds = %1723
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.33") align 8 %119, ptr noundef nonnull align 8 dereferenceable(864) %1724)
          to label %1726 unwind label %1805

1726:                                             ; preds = %1725
  %1727 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %119)
          to label %1728 unwind label %1809

1728:                                             ; preds = %1726
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_LEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %118, ptr noundef nonnull align 8 dereferenceable(280) %1727)
          to label %1729 unwind label %1809

1729:                                             ; preds = %1728
  %1730 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 35
  %1731 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %1730, ptr noundef nonnull align 8 dereferenceable(8) %118)
          to label %1732 unwind label %1813

1732:                                             ; preds = %1729
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %118) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %119) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %119) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %118) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %120) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %121) #7
  %1733 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %1734 unwind label %1819

1734:                                             ; preds = %1732
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.33") align 8 %121, ptr noundef nonnull align 8 dereferenceable(864) %1733)
          to label %1735 unwind label %1819

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

1737:                                             ; preds = %1735
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %120, ptr noundef nonnull align 8 dereferenceable(280) %1736)
          to label %1738 unwind label %1823

1738:                                             ; preds = %1737
  %1739 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 36
  %1740 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %1739, ptr noundef nonnull align 8 dereferenceable(8) %120)
          to label %1741 unwind label %1827

1741:                                             ; preds = %1738
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %120) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %121) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %121) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %120) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %122) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %123) #7
  %1742 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %1743 unwind label %1833

1743:                                             ; preds = %1741
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.33") align 8 %123, ptr noundef nonnull align 8 dereferenceable(864) %1742)
          to label %1744 unwind label %1833

1744:                                             ; preds = %1743
  %1745 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %123)
          to label %1746 unwind label %1837

1746:                                             ; preds = %1744
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_LEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %122, ptr noundef nonnull align 8 dereferenceable(280) %1745)
          to label %1747 unwind label %1837

1747:                                             ; preds = %1746
  %1748 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 37
  %1749 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %1748, ptr noundef nonnull align 8 dereferenceable(8) %122)
          to label %1750 unwind label %1841

1750:                                             ; preds = %1747
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %122) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %123) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %123) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %122) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %124) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %125) #7
  %1751 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %1752 unwind label %1847

1752:                                             ; preds = %1750
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.33") align 8 %125, ptr noundef nonnull align 8 dereferenceable(864) %1751)
          to label %1753 unwind label %1847

1753:                                             ; preds = %1752
  %1754 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %125)
          to label %1755 unwind label %1851

1755:                                             ; preds = %1753
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %124, ptr noundef nonnull align 8 dereferenceable(280) %1754)
          to label %1756 unwind label %1851

1756:                                             ; preds = %1755
  %1757 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 38
  %1758 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %1757, ptr noundef nonnull align 8 dereferenceable(8) %124)
          to label %1759 unwind label %1855

1759:                                             ; preds = %1756
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %124) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %125) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %125) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %124) #7
  %1760 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %1761 unwind label %887

1761:                                             ; preds = %1759
  %1762 = invoke noundef nonnull align 8 dereferenceable(664) ptr @_ZN10SimTKIpopt9IpoptData11TimingStatsEv(ptr noundef nonnull align 8 dereferenceable(864) %1760)
          to label %1763 unwind label %887

1763:                                             ; preds = %1761
  %1764 = invoke noundef nonnull align 8 dereferenceable(18) ptr @_ZN10SimTKIpopt16TimingStatistics5Task5Ev(ptr noundef nonnull align 8 dereferenceable(664) %1762)
          to label %1765 unwind label %887

1765:                                             ; preds = %1763
  invoke void @_ZN10SimTKIpopt9TimedTask5StartEv(ptr noundef nonnull align 8 dereferenceable(18) %1764)
          to label %1766 unwind label %887

1766:                                             ; preds = %1765
  %1767 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 4
  %1768 = load i32, ptr %1767, align 8, !tbaa !37
  switch i32 %1768, label %2068 [
    i32 0, label %1861
    i32 1, label %1930
    i32 3, label %1930
    i32 2, label %1999
  ]

1769:                                             ; preds = %1701, %1698
  %1770 = landingpad { ptr, i32 }
          cleanup
  %1771 = extractvalue { ptr, i32 } %1770, 0
  store ptr %1771, ptr %11, align 8
  %1772 = extractvalue { ptr, i32 } %1770, 1
  store i32 %1772, ptr %12, align 4
  br label %1777

1773:                                             ; preds = %1702
  %1774 = landingpad { ptr, i32 }
          cleanup
  %1775 = extractvalue { ptr, i32 } %1774, 0
  store ptr %1775, ptr %11, align 8
  %1776 = extractvalue { ptr, i32 } %1774, 1
  store i32 %1776, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %114) #7
  br label %1777

1777:                                             ; preds = %1773, %1769
  call void @llvm.lifetime.end.p0(i64 8, ptr %114) #7
  br label %3564

1778:                                             ; preds = %1707, %1705
  %1779 = landingpad { ptr, i32 }
          cleanup
  %1780 = extractvalue { ptr, i32 } %1779, 0
  store ptr %1780, ptr %11, align 8
  %1781 = extractvalue { ptr, i32 } %1779, 1
  store i32 %1781, ptr %12, align 4
  br label %1786

1782:                                             ; preds = %1708
  %1783 = landingpad { ptr, i32 }
          cleanup
  %1784 = extractvalue { ptr, i32 } %1783, 0
  store ptr %1784, ptr %11, align 8
  %1785 = extractvalue { ptr, i32 } %1783, 1
  store i32 %1785, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %115) #7
  br label %1786

1786:                                             ; preds = %1782, %1778
  call void @llvm.lifetime.end.p0(i64 8, ptr %115) #7
  br label %3564

1787:                                             ; preds = %1713, %1711
  %1788 = landingpad { ptr, i32 }
          cleanup
  %1789 = extractvalue { ptr, i32 } %1788, 0
  store ptr %1789, ptr %11, align 8
  %1790 = extractvalue { ptr, i32 } %1788, 1
  store i32 %1790, ptr %12, align 4
  br label %1795

1791:                                             ; preds = %1714
  %1792 = landingpad { ptr, i32 }
          cleanup
  %1793 = extractvalue { ptr, i32 } %1792, 0
  store ptr %1793, ptr %11, align 8
  %1794 = extractvalue { ptr, i32 } %1792, 1
  store i32 %1794, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %116) #7
  br label %1795

1795:                                             ; preds = %1791, %1787
  call void @llvm.lifetime.end.p0(i64 8, ptr %116) #7
  br label %3564

1796:                                             ; preds = %1719, %1717
  %1797 = landingpad { ptr, i32 }
          cleanup
  %1798 = extractvalue { ptr, i32 } %1797, 0
  store ptr %1798, ptr %11, align 8
  %1799 = extractvalue { ptr, i32 } %1797, 1
  store i32 %1799, ptr %12, align 4
  br label %1804

1800:                                             ; preds = %1720
  %1801 = landingpad { ptr, i32 }
          cleanup
  %1802 = extractvalue { ptr, i32 } %1801, 0
  store ptr %1802, ptr %11, align 8
  %1803 = extractvalue { ptr, i32 } %1801, 1
  store i32 %1803, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %117) #7
  br label %1804

1804:                                             ; preds = %1800, %1796
  call void @llvm.lifetime.end.p0(i64 8, ptr %117) #7
  br label %3564

1805:                                             ; preds = %1725, %1723
  %1806 = landingpad { ptr, i32 }
          cleanup
  %1807 = extractvalue { ptr, i32 } %1806, 0
  store ptr %1807, ptr %11, align 8
  %1808 = extractvalue { ptr, i32 } %1806, 1
  store i32 %1808, ptr %12, align 4
  br label %1818

1809:                                             ; preds = %1728, %1726
  %1810 = landingpad { ptr, i32 }
          cleanup
  %1811 = extractvalue { ptr, i32 } %1810, 0
  store ptr %1811, ptr %11, align 8
  %1812 = extractvalue { ptr, i32 } %1810, 1
  store i32 %1812, ptr %12, align 4
  br label %1817

1813:                                             ; preds = %1729
  %1814 = landingpad { ptr, i32 }
          cleanup
  %1815 = extractvalue { ptr, i32 } %1814, 0
  store ptr %1815, ptr %11, align 8
  %1816 = extractvalue { ptr, i32 } %1814, 1
  store i32 %1816, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %118) #7
  br label %1817

1817:                                             ; preds = %1813, %1809
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %119) #7
  br label %1818

1818:                                             ; preds = %1817, %1805
  call void @llvm.lifetime.end.p0(i64 8, ptr %119) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %118) #7
  br label %3564

1819:                                             ; preds = %1734, %1732
  %1820 = landingpad { ptr, i32 }
          cleanup
  %1821 = extractvalue { ptr, i32 } %1820, 0
  store ptr %1821, ptr %11, align 8
  %1822 = extractvalue { ptr, i32 } %1820, 1
  store i32 %1822, ptr %12, align 4
  br label %1832

1823:                                             ; preds = %1737, %1735
  %1824 = landingpad { ptr, i32 }
          cleanup
  %1825 = extractvalue { ptr, i32 } %1824, 0
  store ptr %1825, ptr %11, align 8
  %1826 = extractvalue { ptr, i32 } %1824, 1
  store i32 %1826, ptr %12, align 4
  br label %1831

1827:                                             ; preds = %1738
  %1828 = landingpad { ptr, i32 }
          cleanup
  %1829 = extractvalue { ptr, i32 } %1828, 0
  store ptr %1829, ptr %11, align 8
  %1830 = extractvalue { ptr, i32 } %1828, 1
  store i32 %1830, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %120) #7
  br label %1831

1831:                                             ; preds = %1827, %1823
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %121) #7
  br label %1832

1832:                                             ; preds = %1831, %1819
  call void @llvm.lifetime.end.p0(i64 8, ptr %121) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %120) #7
  br label %3564

1833:                                             ; preds = %1743, %1741
  %1834 = landingpad { ptr, i32 }
          cleanup
  %1835 = extractvalue { ptr, i32 } %1834, 0
  store ptr %1835, ptr %11, align 8
  %1836 = extractvalue { ptr, i32 } %1834, 1
  store i32 %1836, ptr %12, align 4
  br label %1846

1837:                                             ; preds = %1746, %1744
  %1838 = landingpad { ptr, i32 }
          cleanup
  %1839 = extractvalue { ptr, i32 } %1838, 0
  store ptr %1839, ptr %11, align 8
  %1840 = extractvalue { ptr, i32 } %1838, 1
  store i32 %1840, ptr %12, align 4
  br label %1845

1841:                                             ; preds = %1747
  %1842 = landingpad { ptr, i32 }
          cleanup
  %1843 = extractvalue { ptr, i32 } %1842, 0
  store ptr %1843, ptr %11, align 8
  %1844 = extractvalue { ptr, i32 } %1842, 1
  store i32 %1844, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %122) #7
  br label %1845

1845:                                             ; preds = %1841, %1837
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %123) #7
  br label %1846

1846:                                             ; preds = %1845, %1833
  call void @llvm.lifetime.end.p0(i64 8, ptr %123) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %122) #7
  br label %3564

1847:                                             ; preds = %1752, %1750
  %1848 = landingpad { ptr, i32 }
          cleanup
  %1849 = extractvalue { ptr, i32 } %1848, 0
  store ptr %1849, ptr %11, align 8
  %1850 = extractvalue { ptr, i32 } %1848, 1
  store i32 %1850, ptr %12, align 4
  br label %1860

1851:                                             ; preds = %1755, %1753
  %1852 = landingpad { ptr, i32 }
          cleanup
  %1853 = extractvalue { ptr, i32 } %1852, 0
  store ptr %1853, ptr %11, align 8
  %1854 = extractvalue { ptr, i32 } %1852, 1
  store i32 %1854, ptr %12, align 4
  br label %1859

1855:                                             ; preds = %1756
  %1856 = landingpad { ptr, i32 }
          cleanup
  %1857 = extractvalue { ptr, i32 } %1856, 0
  store ptr %1857, ptr %11, align 8
  %1858 = extractvalue { ptr, i32 } %1856, 1
  store i32 %1858, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %124) #7
  br label %1859

1859:                                             ; preds = %1855, %1851
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %125) #7
  br label %1860

1860:                                             ; preds = %1859, %1847
  call void @llvm.lifetime.end.p0(i64 8, ptr %125) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %124) #7
  br label %3564

1861:                                             ; preds = %1766
  call void @llvm.lifetime.start.p0(i64 8, ptr %126) #7
  %1862 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %1863 unwind label %1894

1863:                                             ; preds = %1861
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities15curr_grad_lag_xEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %126, ptr noundef nonnull align 8 dereferenceable(2025) %1862)
          to label %1864 unwind label %1894

1864:                                             ; preds = %1863
  %1865 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %126)
          to label %1866 unwind label %1898

1866:                                             ; preds = %1864
  %1867 = invoke noundef double @_ZNK10SimTKIpopt6Vector4AsumEv(ptr noundef nonnull align 8 dereferenceable(205) %1865)
          to label %1868 unwind label %1898

1868:                                             ; preds = %1866
  %1869 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 39
  store double %1867, ptr %1869, align 8, !tbaa !38
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %126) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %126) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %127) #7
  %1870 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %1871 unwind label %1903

1871:                                             ; preds = %1868
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities15curr_grad_lag_sEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %127, ptr noundef nonnull align 8 dereferenceable(2025) %1870)
          to label %1872 unwind label %1903

1872:                                             ; preds = %1871
  %1873 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %127)
          to label %1874 unwind label %1907

1874:                                             ; preds = %1872
  %1875 = invoke noundef double @_ZNK10SimTKIpopt6Vector4AsumEv(ptr noundef nonnull align 8 dereferenceable(205) %1873)
          to label %1876 unwind label %1907

1876:                                             ; preds = %1874
  %1877 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 40
  store double %1875, ptr %1877, align 8, !tbaa !39
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %127) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %127) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %128) #7
  %1878 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %1879 unwind label %1912

1879:                                             ; preds = %1876
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities6curr_cEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %128, ptr noundef nonnull align 8 dereferenceable(2025) %1878)
          to label %1880 unwind label %1912

1880:                                             ; preds = %1879
  %1881 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %128)
          to label %1882 unwind label %1916

1882:                                             ; preds = %1880
  %1883 = invoke noundef double @_ZNK10SimTKIpopt6Vector4AsumEv(ptr noundef nonnull align 8 dereferenceable(205) %1881)
          to label %1884 unwind label %1916

1884:                                             ; preds = %1882
  %1885 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 41
  store double %1883, ptr %1885, align 8, !tbaa !40
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %128) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %128) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %129) #7
  %1886 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %1887 unwind label %1921

1887:                                             ; preds = %1884
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_d_minus_sEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %129, ptr noundef nonnull align 8 dereferenceable(2025) %1886)
          to label %1888 unwind label %1921

1888:                                             ; preds = %1887
  %1889 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %129)
          to label %1890 unwind label %1925

1890:                                             ; preds = %1888
  %1891 = invoke noundef double @_ZNK10SimTKIpopt6Vector4AsumEv(ptr noundef nonnull align 8 dereferenceable(205) %1889)
          to label %1892 unwind label %1925

1892:                                             ; preds = %1890
  %1893 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 42
  store double %1891, ptr %1893, align 8, !tbaa !41
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %129) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %129) #7
  br label %2069

1894:                                             ; preds = %1863, %1861
  %1895 = landingpad { ptr, i32 }
          cleanup
  %1896 = extractvalue { ptr, i32 } %1895, 0
  store ptr %1896, ptr %11, align 8
  %1897 = extractvalue { ptr, i32 } %1895, 1
  store i32 %1897, ptr %12, align 4
  br label %1902

1898:                                             ; preds = %1866, %1864
  %1899 = landingpad { ptr, i32 }
          cleanup
  %1900 = extractvalue { ptr, i32 } %1899, 0
  store ptr %1900, ptr %11, align 8
  %1901 = extractvalue { ptr, i32 } %1899, 1
  store i32 %1901, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %126) #7
  br label %1902

1902:                                             ; preds = %1898, %1894
  call void @llvm.lifetime.end.p0(i64 8, ptr %126) #7
  br label %3564

1903:                                             ; preds = %1871, %1868
  %1904 = landingpad { ptr, i32 }
          cleanup
  %1905 = extractvalue { ptr, i32 } %1904, 0
  store ptr %1905, ptr %11, align 8
  %1906 = extractvalue { ptr, i32 } %1904, 1
  store i32 %1906, ptr %12, align 4
  br label %1911

1907:                                             ; preds = %1874, %1872
  %1908 = landingpad { ptr, i32 }
          cleanup
  %1909 = extractvalue { ptr, i32 } %1908, 0
  store ptr %1909, ptr %11, align 8
  %1910 = extractvalue { ptr, i32 } %1908, 1
  store i32 %1910, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %127) #7
  br label %1911

1911:                                             ; preds = %1907, %1903
  call void @llvm.lifetime.end.p0(i64 8, ptr %127) #7
  br label %3564

1912:                                             ; preds = %1879, %1876
  %1913 = landingpad { ptr, i32 }
          cleanup
  %1914 = extractvalue { ptr, i32 } %1913, 0
  store ptr %1914, ptr %11, align 8
  %1915 = extractvalue { ptr, i32 } %1913, 1
  store i32 %1915, ptr %12, align 4
  br label %1920

1916:                                             ; preds = %1882, %1880
  %1917 = landingpad { ptr, i32 }
          cleanup
  %1918 = extractvalue { ptr, i32 } %1917, 0
  store ptr %1918, ptr %11, align 8
  %1919 = extractvalue { ptr, i32 } %1917, 1
  store i32 %1919, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %128) #7
  br label %1920

1920:                                             ; preds = %1916, %1912
  call void @llvm.lifetime.end.p0(i64 8, ptr %128) #7
  br label %3564

1921:                                             ; preds = %1887, %1884
  %1922 = landingpad { ptr, i32 }
          cleanup
  %1923 = extractvalue { ptr, i32 } %1922, 0
  store ptr %1923, ptr %11, align 8
  %1924 = extractvalue { ptr, i32 } %1922, 1
  store i32 %1924, ptr %12, align 4
  br label %1929

1925:                                             ; preds = %1890, %1888
  %1926 = landingpad { ptr, i32 }
          cleanup
  %1927 = extractvalue { ptr, i32 } %1926, 0
  store ptr %1927, ptr %11, align 8
  %1928 = extractvalue { ptr, i32 } %1926, 1
  store i32 %1928, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %129) #7
  br label %1929

1929:                                             ; preds = %1925, %1921
  call void @llvm.lifetime.end.p0(i64 8, ptr %129) #7
  br label %3564

1930:                                             ; preds = %1766, %1766
  call void @llvm.lifetime.start.p0(i64 8, ptr %130) #7
  %1931 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %1932 unwind label %1963

1932:                                             ; preds = %1930
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities15curr_grad_lag_xEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %130, ptr noundef nonnull align 8 dereferenceable(2025) %1931)
          to label %1933 unwind label %1963

1933:                                             ; preds = %1932
  %1934 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %130)
          to label %1935 unwind label %1967

1935:                                             ; preds = %1933
  %1936 = invoke noundef double @_ZNK10SimTKIpopt6Vector4Nrm2Ev(ptr noundef nonnull align 8 dereferenceable(205) %1934)
          to label %1937 unwind label %1967

1937:                                             ; preds = %1935
  %1938 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 43
  store double %1936, ptr %1938, align 8, !tbaa !42
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %130) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %130) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %131) #7
  %1939 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %1940 unwind label %1972

1940:                                             ; preds = %1937
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities15curr_grad_lag_sEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %131, ptr noundef nonnull align 8 dereferenceable(2025) %1939)
          to label %1941 unwind label %1972

1941:                                             ; preds = %1940
  %1942 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %131)
          to label %1943 unwind label %1976

1943:                                             ; preds = %1941
  %1944 = invoke noundef double @_ZNK10SimTKIpopt6Vector4Nrm2Ev(ptr noundef nonnull align 8 dereferenceable(205) %1942)
          to label %1945 unwind label %1976

1945:                                             ; preds = %1943
  %1946 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 44
  store double %1944, ptr %1946, align 8, !tbaa !43
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %131) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %131) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %132) #7
  %1947 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %1948 unwind label %1981

1948:                                             ; preds = %1945
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities6curr_cEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %132, ptr noundef nonnull align 8 dereferenceable(2025) %1947)
          to label %1949 unwind label %1981

1949:                                             ; preds = %1948
  %1950 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %132)
          to label %1951 unwind label %1985

1951:                                             ; preds = %1949
  %1952 = invoke noundef double @_ZNK10SimTKIpopt6Vector4Nrm2Ev(ptr noundef nonnull align 8 dereferenceable(205) %1950)
          to label %1953 unwind label %1985

1953:                                             ; preds = %1951
  %1954 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 45
  store double %1952, ptr %1954, align 8, !tbaa !44
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %132) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %132) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %133) #7
  %1955 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %1956 unwind label %1990

1956:                                             ; preds = %1953
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_d_minus_sEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %133, ptr noundef nonnull align 8 dereferenceable(2025) %1955)
          to label %1957 unwind label %1990

1957:                                             ; preds = %1956
  %1958 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %133)
          to label %1959 unwind label %1994

1959:                                             ; preds = %1957
  %1960 = invoke noundef double @_ZNK10SimTKIpopt6Vector4Nrm2Ev(ptr noundef nonnull align 8 dereferenceable(205) %1958)
          to label %1961 unwind label %1994

1961:                                             ; preds = %1959
  %1962 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 46
  store double %1960, ptr %1962, align 8, !tbaa !45
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %133) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %133) #7
  br label %2069

1963:                                             ; preds = %1932, %1930
  %1964 = landingpad { ptr, i32 }
          cleanup
  %1965 = extractvalue { ptr, i32 } %1964, 0
  store ptr %1965, ptr %11, align 8
  %1966 = extractvalue { ptr, i32 } %1964, 1
  store i32 %1966, ptr %12, align 4
  br label %1971

1967:                                             ; preds = %1935, %1933
  %1968 = landingpad { ptr, i32 }
          cleanup
  %1969 = extractvalue { ptr, i32 } %1968, 0
  store ptr %1969, ptr %11, align 8
  %1970 = extractvalue { ptr, i32 } %1968, 1
  store i32 %1970, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %130) #7
  br label %1971

1971:                                             ; preds = %1967, %1963
  call void @llvm.lifetime.end.p0(i64 8, ptr %130) #7
  br label %3564

1972:                                             ; preds = %1940, %1937
  %1973 = landingpad { ptr, i32 }
          cleanup
  %1974 = extractvalue { ptr, i32 } %1973, 0
  store ptr %1974, ptr %11, align 8
  %1975 = extractvalue { ptr, i32 } %1973, 1
  store i32 %1975, ptr %12, align 4
  br label %1980

1976:                                             ; preds = %1943, %1941
  %1977 = landingpad { ptr, i32 }
          cleanup
  %1978 = extractvalue { ptr, i32 } %1977, 0
  store ptr %1978, ptr %11, align 8
  %1979 = extractvalue { ptr, i32 } %1977, 1
  store i32 %1979, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %131) #7
  br label %1980

1980:                                             ; preds = %1976, %1972
  call void @llvm.lifetime.end.p0(i64 8, ptr %131) #7
  br label %3564

1981:                                             ; preds = %1948, %1945
  %1982 = landingpad { ptr, i32 }
          cleanup
  %1983 = extractvalue { ptr, i32 } %1982, 0
  store ptr %1983, ptr %11, align 8
  %1984 = extractvalue { ptr, i32 } %1982, 1
  store i32 %1984, ptr %12, align 4
  br label %1989

1985:                                             ; preds = %1951, %1949
  %1986 = landingpad { ptr, i32 }
          cleanup
  %1987 = extractvalue { ptr, i32 } %1986, 0
  store ptr %1987, ptr %11, align 8
  %1988 = extractvalue { ptr, i32 } %1986, 1
  store i32 %1988, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %132) #7
  br label %1989

1989:                                             ; preds = %1985, %1981
  call void @llvm.lifetime.end.p0(i64 8, ptr %132) #7
  br label %3564

1990:                                             ; preds = %1956, %1953
  %1991 = landingpad { ptr, i32 }
          cleanup
  %1992 = extractvalue { ptr, i32 } %1991, 0
  store ptr %1992, ptr %11, align 8
  %1993 = extractvalue { ptr, i32 } %1991, 1
  store i32 %1993, ptr %12, align 4
  br label %1998

1994:                                             ; preds = %1959, %1957
  %1995 = landingpad { ptr, i32 }
          cleanup
  %1996 = extractvalue { ptr, i32 } %1995, 0
  store ptr %1996, ptr %11, align 8
  %1997 = extractvalue { ptr, i32 } %1995, 1
  store i32 %1997, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %133) #7
  br label %1998

1998:                                             ; preds = %1994, %1990
  call void @llvm.lifetime.end.p0(i64 8, ptr %133) #7
  br label %3564

1999:                                             ; preds = %1766
  call void @llvm.lifetime.start.p0(i64 8, ptr %134) #7
  %2000 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %2001 unwind label %2032

2001:                                             ; preds = %1999
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities15curr_grad_lag_xEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %134, ptr noundef nonnull align 8 dereferenceable(2025) %2000)
          to label %2002 unwind label %2032

2002:                                             ; preds = %2001
  %2003 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %134)
          to label %2004 unwind label %2036

2004:                                             ; preds = %2002
  %2005 = invoke noundef double @_ZNK10SimTKIpopt6Vector4AmaxEv(ptr noundef nonnull align 8 dereferenceable(205) %2003)
          to label %2006 unwind label %2036

2006:                                             ; preds = %2004
  %2007 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 47
  store double %2005, ptr %2007, align 8, !tbaa !46
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %134) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %134) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %135) #7
  %2008 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %2009 unwind label %2041

2009:                                             ; preds = %2006
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities15curr_grad_lag_sEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %135, ptr noundef nonnull align 8 dereferenceable(2025) %2008)
          to label %2010 unwind label %2041

2010:                                             ; preds = %2009
  %2011 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %135)
          to label %2012 unwind label %2045

2012:                                             ; preds = %2010
  %2013 = invoke noundef double @_ZNK10SimTKIpopt6Vector4AmaxEv(ptr noundef nonnull align 8 dereferenceable(205) %2011)
          to label %2014 unwind label %2045

2014:                                             ; preds = %2012
  %2015 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 48
  store double %2013, ptr %2015, align 8, !tbaa !47
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %135) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %135) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %136) #7
  %2016 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %2017 unwind label %2050

2017:                                             ; preds = %2014
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities6curr_cEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %136, ptr noundef nonnull align 8 dereferenceable(2025) %2016)
          to label %2018 unwind label %2050

2018:                                             ; preds = %2017
  %2019 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %136)
          to label %2020 unwind label %2054

2020:                                             ; preds = %2018
  %2021 = invoke noundef double @_ZNK10SimTKIpopt6Vector4AmaxEv(ptr noundef nonnull align 8 dereferenceable(205) %2019)
          to label %2022 unwind label %2054

2022:                                             ; preds = %2020
  %2023 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 49
  store double %2021, ptr %2023, align 8, !tbaa !48
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %136) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %136) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %137) #7
  %2024 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %2025 unwind label %2059

2025:                                             ; preds = %2022
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_d_minus_sEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %137, ptr noundef nonnull align 8 dereferenceable(2025) %2024)
          to label %2026 unwind label %2059

2026:                                             ; preds = %2025
  %2027 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %137)
          to label %2028 unwind label %2063

2028:                                             ; preds = %2026
  %2029 = invoke noundef double @_ZNK10SimTKIpopt6Vector4AmaxEv(ptr noundef nonnull align 8 dereferenceable(205) %2027)
          to label %2030 unwind label %2063

2030:                                             ; preds = %2028
  %2031 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 50
  store double %2029, ptr %2031, align 8, !tbaa !49
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %137) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %137) #7
  br label %2069

2032:                                             ; preds = %2001, %1999
  %2033 = landingpad { ptr, i32 }
          cleanup
  %2034 = extractvalue { ptr, i32 } %2033, 0
  store ptr %2034, ptr %11, align 8
  %2035 = extractvalue { ptr, i32 } %2033, 1
  store i32 %2035, ptr %12, align 4
  br label %2040

2036:                                             ; preds = %2004, %2002
  %2037 = landingpad { ptr, i32 }
          cleanup
  %2038 = extractvalue { ptr, i32 } %2037, 0
  store ptr %2038, ptr %11, align 8
  %2039 = extractvalue { ptr, i32 } %2037, 1
  store i32 %2039, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %134) #7
  br label %2040

2040:                                             ; preds = %2036, %2032
  call void @llvm.lifetime.end.p0(i64 8, ptr %134) #7
  br label %3564

2041:                                             ; preds = %2009, %2006
  %2042 = landingpad { ptr, i32 }
          cleanup
  %2043 = extractvalue { ptr, i32 } %2042, 0
  store ptr %2043, ptr %11, align 8
  %2044 = extractvalue { ptr, i32 } %2042, 1
  store i32 %2044, ptr %12, align 4
  br label %2049

2045:                                             ; preds = %2012, %2010
  %2046 = landingpad { ptr, i32 }
          cleanup
  %2047 = extractvalue { ptr, i32 } %2046, 0
  store ptr %2047, ptr %11, align 8
  %2048 = extractvalue { ptr, i32 } %2046, 1
  store i32 %2048, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %135) #7
  br label %2049

2049:                                             ; preds = %2045, %2041
  call void @llvm.lifetime.end.p0(i64 8, ptr %135) #7
  br label %3564

2050:                                             ; preds = %2017, %2014
  %2051 = landingpad { ptr, i32 }
          cleanup
  %2052 = extractvalue { ptr, i32 } %2051, 0
  store ptr %2052, ptr %11, align 8
  %2053 = extractvalue { ptr, i32 } %2051, 1
  store i32 %2053, ptr %12, align 4
  br label %2058

2054:                                             ; preds = %2020, %2018
  %2055 = landingpad { ptr, i32 }
          cleanup
  %2056 = extractvalue { ptr, i32 } %2055, 0
  store ptr %2056, ptr %11, align 8
  %2057 = extractvalue { ptr, i32 } %2055, 1
  store i32 %2057, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %136) #7
  br label %2058

2058:                                             ; preds = %2054, %2050
  call void @llvm.lifetime.end.p0(i64 8, ptr %136) #7
  br label %3564

2059:                                             ; preds = %2025, %2022
  %2060 = landingpad { ptr, i32 }
          cleanup
  %2061 = extractvalue { ptr, i32 } %2060, 0
  store ptr %2061, ptr %11, align 8
  %2062 = extractvalue { ptr, i32 } %2060, 1
  store i32 %2062, ptr %12, align 4
  br label %2067

2063:                                             ; preds = %2028, %2026
  %2064 = landingpad { ptr, i32 }
          cleanup
  %2065 = extractvalue { ptr, i32 } %2064, 0
  store ptr %2065, ptr %11, align 8
  %2066 = extractvalue { ptr, i32 } %2064, 1
  store i32 %2066, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %137) #7
  br label %2067

2067:                                             ; preds = %2063, %2059
  call void @llvm.lifetime.end.p0(i64 8, ptr %137) #7
  br label %3564

2068:                                             ; preds = %1766
  br label %2069

2069:                                             ; preds = %2068, %2030, %1961, %1892
  %2070 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %2071 unwind label %887

2071:                                             ; preds = %2069
  %2072 = invoke noundef nonnull align 8 dereferenceable(664) ptr @_ZN10SimTKIpopt9IpoptData11TimingStatsEv(ptr noundef nonnull align 8 dereferenceable(864) %2070)
          to label %2073 unwind label %887

2073:                                             ; preds = %2071
  %2074 = invoke noundef nonnull align 8 dereferenceable(18) ptr @_ZN10SimTKIpopt16TimingStatistics5Task5Ev(ptr noundef nonnull align 8 dereferenceable(664) %2072)
          to label %2075 unwind label %887

2075:                                             ; preds = %2073
  invoke void @_ZN10SimTKIpopt9TimedTask3EndEv(ptr noundef nonnull align 8 dereferenceable(18) %2074)
          to label %2076 unwind label %887

2076:                                             ; preds = %2075
  call void @llvm.lifetime.start.p0(i64 8, ptr %138) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %139) #7
  %2077 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %38)
          to label %2078 unwind label %2447

2078:                                             ; preds = %2076
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_LEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %139, ptr noundef nonnull align 8 dereferenceable(280) %2077)
          to label %2079 unwind label %2447

2079:                                             ; preds = %2078
  %2080 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %139)
          to label %2081 unwind label %2451

2081:                                             ; preds = %2079
  %2082 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector7MakeNewEv(ptr noundef nonnull align 8 dereferenceable(205) %2080)
          to label %2083 unwind label %2451

2083:                                             ; preds = %2081
  invoke void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8) %138, ptr noundef %2082)
          to label %2084 unwind label %2451

2084:                                             ; preds = %2083
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %139) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %139) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %140) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %141) #7
  %2085 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %38)
          to label %2086 unwind label %2456

2086:                                             ; preds = %2084
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %141, ptr noundef nonnull align 8 dereferenceable(280) %2085)
          to label %2087 unwind label %2456

2087:                                             ; preds = %2086
  %2088 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %141)
          to label %2089 unwind label %2460

2089:                                             ; preds = %2087
  %2090 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector7MakeNewEv(ptr noundef nonnull align 8 dereferenceable(205) %2088)
          to label %2091 unwind label %2460

2091:                                             ; preds = %2089
  invoke void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8) %140, ptr noundef %2090)
          to label %2092 unwind label %2460

2092:                                             ; preds = %2091
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %141) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %141) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %142) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %143) #7
  %2093 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %38)
          to label %2094 unwind label %2465

2094:                                             ; preds = %2092
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_LEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %143, ptr noundef nonnull align 8 dereferenceable(280) %2093)
          to label %2095 unwind label %2465

2095:                                             ; preds = %2094
  %2096 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %143)
          to label %2097 unwind label %2469

2097:                                             ; preds = %2095
  %2098 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector7MakeNewEv(ptr noundef nonnull align 8 dereferenceable(205) %2096)
          to label %2099 unwind label %2469

2099:                                             ; preds = %2097
  invoke void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8) %142, ptr noundef %2098)
          to label %2100 unwind label %2469

2100:                                             ; preds = %2099
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %143) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %143) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %144) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %145) #7
  %2101 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %38)
          to label %2102 unwind label %2474

2102:                                             ; preds = %2100
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %145, ptr noundef nonnull align 8 dereferenceable(280) %2101)
          to label %2103 unwind label %2474

2103:                                             ; preds = %2102
  %2104 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %145)
          to label %2105 unwind label %2478

2105:                                             ; preds = %2103
  %2106 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector7MakeNewEv(ptr noundef nonnull align 8 dereferenceable(205) %2104)
          to label %2107 unwind label %2478

2107:                                             ; preds = %2105
  invoke void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8) %144, ptr noundef %2106)
          to label %2108 unwind label %2478

2108:                                             ; preds = %2107
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %145) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %145) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %146) #7
  %2109 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %2110 unwind label %2483

2110:                                             ; preds = %2108
  %2111 = load ptr, ptr %2109, align 8, !tbaa !11
  %2112 = getelementptr inbounds ptr, ptr %2111, i64 13
  %2113 = load ptr, ptr %2112, align 8
  invoke void %2113(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.50") align 8 %146, ptr noundef nonnull align 8 dereferenceable(24) %2109)
          to label %2114 unwind label %2483

2114:                                             ; preds = %2110
  %2115 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6MatrixEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %146)
          to label %2116 unwind label %2487

2116:                                             ; preds = %2114
  call void @llvm.lifetime.start.p0(i64 8, ptr %147) #7
  %2117 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %38)
          to label %2118 unwind label %2491

2118:                                             ; preds = %2116
  invoke void @_ZNK10SimTKIpopt14IteratesVector1xEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %147, ptr noundef nonnull align 8 dereferenceable(280) %2117)
          to label %2119 unwind label %2491

2119:                                             ; preds = %2118
  %2120 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %147)
          to label %2121 unwind label %2495

2121:                                             ; preds = %2119
  %2122 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %138)
          to label %2123 unwind label %2495

2123:                                             ; preds = %2121
  invoke void @_ZNK10SimTKIpopt6Matrix15TransMultVectorEdRKNS_6VectorEdRS1_(ptr noundef nonnull align 8 dereferenceable(69) %2115, double noundef 1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %2120, double noundef 0.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %2122)
          to label %2124 unwind label %2495

2124:                                             ; preds = %2123
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %147) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %147) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %146) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %146) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %148) #7
  %2125 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %2126 unwind label %2502

2126:                                             ; preds = %2124
  %2127 = load ptr, ptr %2125, align 8, !tbaa !11
  %2128 = getelementptr inbounds ptr, ptr %2127, i64 15
  %2129 = load ptr, ptr %2128, align 8
  invoke void %2129(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.50") align 8 %148, ptr noundef nonnull align 8 dereferenceable(24) %2125)
          to label %2130 unwind label %2502

2130:                                             ; preds = %2126
  %2131 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6MatrixEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %148)
          to label %2132 unwind label %2506

2132:                                             ; preds = %2130
  call void @llvm.lifetime.start.p0(i64 8, ptr %149) #7
  %2133 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %38)
          to label %2134 unwind label %2510

2134:                                             ; preds = %2132
  invoke void @_ZNK10SimTKIpopt14IteratesVector1xEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %149, ptr noundef nonnull align 8 dereferenceable(280) %2133)
          to label %2135 unwind label %2510

2135:                                             ; preds = %2134
  %2136 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %149)
          to label %2137 unwind label %2514

2137:                                             ; preds = %2135
  %2138 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %140)
          to label %2139 unwind label %2514

2139:                                             ; preds = %2137
  invoke void @_ZNK10SimTKIpopt6Matrix15TransMultVectorEdRKNS_6VectorEdRS1_(ptr noundef nonnull align 8 dereferenceable(69) %2131, double noundef -1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %2136, double noundef 0.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %2138)
          to label %2140 unwind label %2514

2140:                                             ; preds = %2139
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %149) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %149) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %148) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %148) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %150) #7
  %2141 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %2142 unwind label %2521

2142:                                             ; preds = %2140
  %2143 = load ptr, ptr %2141, align 8, !tbaa !11
  %2144 = getelementptr inbounds ptr, ptr %2143, i64 17
  %2145 = load ptr, ptr %2144, align 8
  invoke void %2145(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.50") align 8 %150, ptr noundef nonnull align 8 dereferenceable(24) %2141)
          to label %2146 unwind label %2521

2146:                                             ; preds = %2142
  %2147 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6MatrixEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %150)
          to label %2148 unwind label %2525

2148:                                             ; preds = %2146
  call void @llvm.lifetime.start.p0(i64 8, ptr %151) #7
  %2149 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %38)
          to label %2150 unwind label %2529

2150:                                             ; preds = %2148
  invoke void @_ZNK10SimTKIpopt14IteratesVector1sEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %151, ptr noundef nonnull align 8 dereferenceable(280) %2149)
          to label %2151 unwind label %2529

2151:                                             ; preds = %2150
  %2152 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %151)
          to label %2153 unwind label %2533

2153:                                             ; preds = %2151
  %2154 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %142)
          to label %2155 unwind label %2533

2155:                                             ; preds = %2153
  invoke void @_ZNK10SimTKIpopt6Matrix15TransMultVectorEdRKNS_6VectorEdRS1_(ptr noundef nonnull align 8 dereferenceable(69) %2147, double noundef 1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %2152, double noundef 0.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %2154)
          to label %2156 unwind label %2533

2156:                                             ; preds = %2155
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %151) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %151) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %150) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %150) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %152) #7
  %2157 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %2158 unwind label %2540

2158:                                             ; preds = %2156
  %2159 = load ptr, ptr %2157, align 8, !tbaa !11
  %2160 = getelementptr inbounds ptr, ptr %2159, i64 19
  %2161 = load ptr, ptr %2160, align 8
  invoke void %2161(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.50") align 8 %152, ptr noundef nonnull align 8 dereferenceable(24) %2157)
          to label %2162 unwind label %2540

2162:                                             ; preds = %2158
  %2163 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6MatrixEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %152)
          to label %2164 unwind label %2544

2164:                                             ; preds = %2162
  call void @llvm.lifetime.start.p0(i64 8, ptr %153) #7
  %2165 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %38)
          to label %2166 unwind label %2548

2166:                                             ; preds = %2164
  invoke void @_ZNK10SimTKIpopt14IteratesVector1sEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %153, ptr noundef nonnull align 8 dereferenceable(280) %2165)
          to label %2167 unwind label %2548

2167:                                             ; preds = %2166
  %2168 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %153)
          to label %2169 unwind label %2552

2169:                                             ; preds = %2167
  %2170 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %144)
          to label %2171 unwind label %2552

2171:                                             ; preds = %2169
  invoke void @_ZNK10SimTKIpopt6Matrix15TransMultVectorEdRKNS_6VectorEdRS1_(ptr noundef nonnull align 8 dereferenceable(69) %2163, double noundef -1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %2168, double noundef 0.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %2170)
          to label %2172 unwind label %2552

2172:                                             ; preds = %2171
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %153) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %153) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %152) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %152) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %154) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %155) #7
  %2173 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %56)
          to label %2174 unwind label %2559

2174:                                             ; preds = %2172
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_LEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %155, ptr noundef nonnull align 8 dereferenceable(280) %2173)
          to label %2175 unwind label %2559

2175:                                             ; preds = %2174
  %2176 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %155)
          to label %2177 unwind label %2563

2177:                                             ; preds = %2175
  %2178 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector7MakeNewEv(ptr noundef nonnull align 8 dereferenceable(205) %2176)
          to label %2179 unwind label %2563

2179:                                             ; preds = %2177
  invoke void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8) %154, ptr noundef %2178)
          to label %2180 unwind label %2563

2180:                                             ; preds = %2179
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %155) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %155) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %156) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %157) #7
  %2181 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %56)
          to label %2182 unwind label %2568

2182:                                             ; preds = %2180
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %157, ptr noundef nonnull align 8 dereferenceable(280) %2181)
          to label %2183 unwind label %2568

2183:                                             ; preds = %2182
  %2184 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %157)
          to label %2185 unwind label %2572

2185:                                             ; preds = %2183
  %2186 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector7MakeNewEv(ptr noundef nonnull align 8 dereferenceable(205) %2184)
          to label %2187 unwind label %2572

2187:                                             ; preds = %2185
  invoke void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8) %156, ptr noundef %2186)
          to label %2188 unwind label %2572

2188:                                             ; preds = %2187
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %157) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %157) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %158) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %159) #7
  %2189 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %56)
          to label %2190 unwind label %2577

2190:                                             ; preds = %2188
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_LEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %159, ptr noundef nonnull align 8 dereferenceable(280) %2189)
          to label %2191 unwind label %2577

2191:                                             ; preds = %2190
  %2192 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %159)
          to label %2193 unwind label %2581

2193:                                             ; preds = %2191
  %2194 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector7MakeNewEv(ptr noundef nonnull align 8 dereferenceable(205) %2192)
          to label %2195 unwind label %2581

2195:                                             ; preds = %2193
  invoke void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8) %158, ptr noundef %2194)
          to label %2196 unwind label %2581

2196:                                             ; preds = %2195
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %159) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %159) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %160) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %161) #7
  %2197 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %56)
          to label %2198 unwind label %2586

2198:                                             ; preds = %2196
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %161, ptr noundef nonnull align 8 dereferenceable(280) %2197)
          to label %2199 unwind label %2586

2199:                                             ; preds = %2198
  %2200 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %161)
          to label %2201 unwind label %2590

2201:                                             ; preds = %2199
  %2202 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector7MakeNewEv(ptr noundef nonnull align 8 dereferenceable(205) %2200)
          to label %2203 unwind label %2590

2203:                                             ; preds = %2201
  invoke void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8) %160, ptr noundef %2202)
          to label %2204 unwind label %2590

2204:                                             ; preds = %2203
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %161) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %161) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %162) #7
  %2205 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %2206 unwind label %2595

2206:                                             ; preds = %2204
  %2207 = load ptr, ptr %2205, align 8, !tbaa !11
  %2208 = getelementptr inbounds ptr, ptr %2207, i64 13
  %2209 = load ptr, ptr %2208, align 8
  invoke void %2209(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.50") align 8 %162, ptr noundef nonnull align 8 dereferenceable(24) %2205)
          to label %2210 unwind label %2595

2210:                                             ; preds = %2206
  %2211 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6MatrixEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %162)
          to label %2212 unwind label %2599

2212:                                             ; preds = %2210
  call void @llvm.lifetime.start.p0(i64 8, ptr %163) #7
  %2213 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %56)
          to label %2214 unwind label %2603

2214:                                             ; preds = %2212
  invoke void @_ZNK10SimTKIpopt14IteratesVector1xEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %163, ptr noundef nonnull align 8 dereferenceable(280) %2213)
          to label %2215 unwind label %2603

2215:                                             ; preds = %2214
  %2216 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %163)
          to label %2217 unwind label %2607

2217:                                             ; preds = %2215
  %2218 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %154)
          to label %2219 unwind label %2607

2219:                                             ; preds = %2217
  invoke void @_ZNK10SimTKIpopt6Matrix15TransMultVectorEdRKNS_6VectorEdRS1_(ptr noundef nonnull align 8 dereferenceable(69) %2211, double noundef 1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %2216, double noundef 0.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %2218)
          to label %2220 unwind label %2607

2220:                                             ; preds = %2219
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %163) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %163) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %162) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %162) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %164) #7
  %2221 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %2222 unwind label %2614

2222:                                             ; preds = %2220
  %2223 = load ptr, ptr %2221, align 8, !tbaa !11
  %2224 = getelementptr inbounds ptr, ptr %2223, i64 15
  %2225 = load ptr, ptr %2224, align 8
  invoke void %2225(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.50") align 8 %164, ptr noundef nonnull align 8 dereferenceable(24) %2221)
          to label %2226 unwind label %2614

2226:                                             ; preds = %2222
  %2227 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6MatrixEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %164)
          to label %2228 unwind label %2618

2228:                                             ; preds = %2226
  call void @llvm.lifetime.start.p0(i64 8, ptr %165) #7
  %2229 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %56)
          to label %2230 unwind label %2622

2230:                                             ; preds = %2228
  invoke void @_ZNK10SimTKIpopt14IteratesVector1xEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %165, ptr noundef nonnull align 8 dereferenceable(280) %2229)
          to label %2231 unwind label %2622

2231:                                             ; preds = %2230
  %2232 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %165)
          to label %2233 unwind label %2626

2233:                                             ; preds = %2231
  %2234 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %156)
          to label %2235 unwind label %2626

2235:                                             ; preds = %2233
  invoke void @_ZNK10SimTKIpopt6Matrix15TransMultVectorEdRKNS_6VectorEdRS1_(ptr noundef nonnull align 8 dereferenceable(69) %2227, double noundef -1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %2232, double noundef 0.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %2234)
          to label %2236 unwind label %2626

2236:                                             ; preds = %2235
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %165) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %165) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %164) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %164) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %166) #7
  %2237 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %2238 unwind label %2633

2238:                                             ; preds = %2236
  %2239 = load ptr, ptr %2237, align 8, !tbaa !11
  %2240 = getelementptr inbounds ptr, ptr %2239, i64 17
  %2241 = load ptr, ptr %2240, align 8
  invoke void %2241(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.50") align 8 %166, ptr noundef nonnull align 8 dereferenceable(24) %2237)
          to label %2242 unwind label %2633

2242:                                             ; preds = %2238
  %2243 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6MatrixEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %166)
          to label %2244 unwind label %2637

2244:                                             ; preds = %2242
  call void @llvm.lifetime.start.p0(i64 8, ptr %167) #7
  %2245 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %56)
          to label %2246 unwind label %2641

2246:                                             ; preds = %2244
  invoke void @_ZNK10SimTKIpopt14IteratesVector1sEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %167, ptr noundef nonnull align 8 dereferenceable(280) %2245)
          to label %2247 unwind label %2641

2247:                                             ; preds = %2246
  %2248 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %167)
          to label %2249 unwind label %2645

2249:                                             ; preds = %2247
  %2250 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %158)
          to label %2251 unwind label %2645

2251:                                             ; preds = %2249
  invoke void @_ZNK10SimTKIpopt6Matrix15TransMultVectorEdRKNS_6VectorEdRS1_(ptr noundef nonnull align 8 dereferenceable(69) %2243, double noundef 1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %2248, double noundef 0.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %2250)
          to label %2252 unwind label %2645

2252:                                             ; preds = %2251
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %167) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %167) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %166) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %166) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %168) #7
  %2253 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %2254 unwind label %2652

2254:                                             ; preds = %2252
  %2255 = load ptr, ptr %2253, align 8, !tbaa !11
  %2256 = getelementptr inbounds ptr, ptr %2255, i64 19
  %2257 = load ptr, ptr %2256, align 8
  invoke void %2257(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.50") align 8 %168, ptr noundef nonnull align 8 dereferenceable(24) %2253)
          to label %2258 unwind label %2652

2258:                                             ; preds = %2254
  %2259 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6MatrixEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %168)
          to label %2260 unwind label %2656

2260:                                             ; preds = %2258
  call void @llvm.lifetime.start.p0(i64 8, ptr %169) #7
  %2261 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %56)
          to label %2262 unwind label %2660

2262:                                             ; preds = %2260
  invoke void @_ZNK10SimTKIpopt14IteratesVector1sEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %169, ptr noundef nonnull align 8 dereferenceable(280) %2261)
          to label %2263 unwind label %2660

2263:                                             ; preds = %2262
  %2264 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %169)
          to label %2265 unwind label %2664

2265:                                             ; preds = %2263
  %2266 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %160)
          to label %2267 unwind label %2664

2267:                                             ; preds = %2265
  invoke void @_ZNK10SimTKIpopt6Matrix15TransMultVectorEdRKNS_6VectorEdRS1_(ptr noundef nonnull align 8 dereferenceable(69) %2259, double noundef -1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %2264, double noundef 0.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %2266)
          to label %2268 unwind label %2664

2268:                                             ; preds = %2267
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %169) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %169) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %168) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %168) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %170) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %171) #7
  %2269 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %138)
          to label %2270 unwind label %2671

2270:                                             ; preds = %2268
  %2271 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %140)
          to label %2272 unwind label %2671

2272:                                             ; preds = %2270
  %2273 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %142)
          to label %2274 unwind label %2671

2274:                                             ; preds = %2272
  %2275 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %144)
          to label %2276 unwind label %2671

2276:                                             ; preds = %2274
  call void @llvm.lifetime.start.p0(i64 8, ptr %172) #7
  %2277 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %38)
          to label %2278 unwind label %2675

2278:                                             ; preds = %2276
  invoke void @_ZNK10SimTKIpopt14IteratesVector3y_cEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %172, ptr noundef nonnull align 8 dereferenceable(280) %2277)
          to label %2279 unwind label %2675

2279:                                             ; preds = %2278
  %2280 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %172)
          to label %2281 unwind label %2679

2281:                                             ; preds = %2279
  call void @llvm.lifetime.start.p0(i64 8, ptr %173) #7
  %2282 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %38)
          to label %2283 unwind label %2683

2283:                                             ; preds = %2281
  invoke void @_ZNK10SimTKIpopt14IteratesVector3y_dEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %173, ptr noundef nonnull align 8 dereferenceable(280) %2282)
          to label %2284 unwind label %2683

2284:                                             ; preds = %2283
  %2285 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %173)
          to label %2286 unwind label %2687

2286:                                             ; preds = %2284
  call void @llvm.lifetime.start.p0(i64 8, ptr %174) #7
  %2287 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %38)
          to label %2288 unwind label %2691

2288:                                             ; preds = %2286
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_LEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %174, ptr noundef nonnull align 8 dereferenceable(280) %2287)
          to label %2289 unwind label %2691

2289:                                             ; preds = %2288
  %2290 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %174)
          to label %2291 unwind label %2695

2291:                                             ; preds = %2289
  call void @llvm.lifetime.start.p0(i64 8, ptr %175) #7
  %2292 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %38)
          to label %2293 unwind label %2699

2293:                                             ; preds = %2291
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %175, ptr noundef nonnull align 8 dereferenceable(280) %2292)
          to label %2294 unwind label %2699

2294:                                             ; preds = %2293
  %2295 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %175)
          to label %2296 unwind label %2703

2296:                                             ; preds = %2294
  call void @llvm.lifetime.start.p0(i64 8, ptr %176) #7
  %2297 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %38)
          to label %2298 unwind label %2707

2298:                                             ; preds = %2296
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_LEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %176, ptr noundef nonnull align 8 dereferenceable(280) %2297)
          to label %2299 unwind label %2707

2299:                                             ; preds = %2298
  %2300 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %176)
          to label %2301 unwind label %2711

2301:                                             ; preds = %2299
  call void @llvm.lifetime.start.p0(i64 8, ptr %177) #7
  %2302 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %38)
          to label %2303 unwind label %2715

2303:                                             ; preds = %2301
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %177, ptr noundef nonnull align 8 dereferenceable(280) %2302)
          to label %2304 unwind label %2715

2304:                                             ; preds = %2303
  %2305 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %177)
          to label %2306 unwind label %2719

2306:                                             ; preds = %2304
  %2307 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %154)
          to label %2308 unwind label %2719

2308:                                             ; preds = %2306
  %2309 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %156)
          to label %2310 unwind label %2719

2310:                                             ; preds = %2308
  %2311 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %158)
          to label %2312 unwind label %2719

2312:                                             ; preds = %2310
  %2313 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %160)
          to label %2314 unwind label %2719

2314:                                             ; preds = %2312
  call void @llvm.lifetime.start.p0(i64 8, ptr %178) #7
  %2315 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %56)
          to label %2316 unwind label %2723

2316:                                             ; preds = %2314
  invoke void @_ZNK10SimTKIpopt14IteratesVector3y_cEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %178, ptr noundef nonnull align 8 dereferenceable(280) %2315)
          to label %2317 unwind label %2723

2317:                                             ; preds = %2316
  %2318 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %178)
          to label %2319 unwind label %2727

2319:                                             ; preds = %2317
  call void @llvm.lifetime.start.p0(i64 8, ptr %179) #7
  %2320 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %56)
          to label %2321 unwind label %2731

2321:                                             ; preds = %2319
  invoke void @_ZNK10SimTKIpopt14IteratesVector3y_dEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %179, ptr noundef nonnull align 8 dereferenceable(280) %2320)
          to label %2322 unwind label %2731

2322:                                             ; preds = %2321
  %2323 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %179)
          to label %2324 unwind label %2735

2324:                                             ; preds = %2322
  call void @llvm.lifetime.start.p0(i64 8, ptr %180) #7
  %2325 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %56)
          to label %2326 unwind label %2739

2326:                                             ; preds = %2324
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_LEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %180, ptr noundef nonnull align 8 dereferenceable(280) %2325)
          to label %2327 unwind label %2739

2327:                                             ; preds = %2326
  %2328 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %180)
          to label %2329 unwind label %2743

2329:                                             ; preds = %2327
  call void @llvm.lifetime.start.p0(i64 8, ptr %181) #7
  %2330 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %56)
          to label %2331 unwind label %2747

2331:                                             ; preds = %2329
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %181, ptr noundef nonnull align 8 dereferenceable(280) %2330)
          to label %2332 unwind label %2747

2332:                                             ; preds = %2331
  %2333 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %181)
          to label %2334 unwind label %2751

2334:                                             ; preds = %2332
  call void @llvm.lifetime.start.p0(i64 8, ptr %182) #7
  %2335 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %56)
          to label %2336 unwind label %2755

2336:                                             ; preds = %2334
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_LEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %182, ptr noundef nonnull align 8 dereferenceable(280) %2335)
          to label %2337 unwind label %2755

2337:                                             ; preds = %2336
  %2338 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %182)
          to label %2339 unwind label %2759

2339:                                             ; preds = %2337
  call void @llvm.lifetime.start.p0(i64 8, ptr %183) #7
  %2340 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %56)
          to label %2341 unwind label %2763

2341:                                             ; preds = %2339
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %183, ptr noundef nonnull align 8 dereferenceable(280) %2340)
          to label %2342 unwind label %2763

2342:                                             ; preds = %2341
  %2343 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %183)
          to label %2344 unwind label %2767

2344:                                             ; preds = %2342
  %2345 = invoke noundef double @_ZN10SimTKIpopt23QualityFunctionMuOracle24CalculateQualityFunctionEdRKNS_6VectorES3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_(ptr noundef nonnull align 8 dereferenceable(432) %236, double noundef 1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %2269, ptr noundef nonnull align 8 dereferenceable(205) %2271, ptr noundef nonnull align 8 dereferenceable(205) %2273, ptr noundef nonnull align 8 dereferenceable(205) %2275, ptr noundef nonnull align 8 dereferenceable(205) %2280, ptr noundef nonnull align 8 dereferenceable(205) %2285, ptr noundef nonnull align 8 dereferenceable(205) %2290, ptr noundef nonnull align 8 dereferenceable(205) %2295, ptr noundef nonnull align 8 dereferenceable(205) %2300, ptr noundef nonnull align 8 dereferenceable(205) %2305, ptr noundef nonnull align 8 dereferenceable(205) %2307, ptr noundef nonnull align 8 dereferenceable(205) %2309, ptr noundef nonnull align 8 dereferenceable(205) %2311, ptr noundef nonnull align 8 dereferenceable(205) %2313, ptr noundef nonnull align 8 dereferenceable(205) %2318, ptr noundef nonnull align 8 dereferenceable(205) %2323, ptr noundef nonnull align 8 dereferenceable(205) %2328, ptr noundef nonnull align 8 dereferenceable(205) %2333, ptr noundef nonnull align 8 dereferenceable(205) %2338, ptr noundef nonnull align 8 dereferenceable(205) %2343)
          to label %2346 unwind label %2767

2346:                                             ; preds = %2344
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %183) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %183) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %182) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %182) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %181) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %181) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %180) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %180) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %179) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %179) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %178) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %178) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %177) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %177) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %176) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %176) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %175) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %175) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %174) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %174) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %173) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %173) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %172) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %172) #7
  store double %2345, ptr %171, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %184) #7
  %2347 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 7
  %2348 = load double, ptr %2347, align 8, !tbaa !50
  %2349 = invoke noundef double @_ZN10SimTKIpopt3MaxEdd(double noundef 1.000000e-04, double noundef %2348)
          to label %2350 unwind label %2794

2350:                                             ; preds = %2346
  %2351 = fsub double 1.000000e+00, %2349
  store double %2351, ptr %184, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %185) #7
  %2352 = load double, ptr %184, align 8, !tbaa !9
  %2353 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %138)
          to label %2354 unwind label %2798

2354:                                             ; preds = %2350
  %2355 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %140)
          to label %2356 unwind label %2798

2356:                                             ; preds = %2354
  %2357 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %142)
          to label %2358 unwind label %2798

2358:                                             ; preds = %2356
  %2359 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %144)
          to label %2360 unwind label %2798

2360:                                             ; preds = %2358
  call void @llvm.lifetime.start.p0(i64 8, ptr %186) #7
  %2361 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %38)
          to label %2362 unwind label %2802

2362:                                             ; preds = %2360
  invoke void @_ZNK10SimTKIpopt14IteratesVector3y_cEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %186, ptr noundef nonnull align 8 dereferenceable(280) %2361)
          to label %2363 unwind label %2802

2363:                                             ; preds = %2362
  %2364 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %186)
          to label %2365 unwind label %2806

2365:                                             ; preds = %2363
  call void @llvm.lifetime.start.p0(i64 8, ptr %187) #7
  %2366 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %38)
          to label %2367 unwind label %2810

2367:                                             ; preds = %2365
  invoke void @_ZNK10SimTKIpopt14IteratesVector3y_dEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %187, ptr noundef nonnull align 8 dereferenceable(280) %2366)
          to label %2368 unwind label %2810

2368:                                             ; preds = %2367
  %2369 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %187)
          to label %2370 unwind label %2814

2370:                                             ; preds = %2368
  call void @llvm.lifetime.start.p0(i64 8, ptr %188) #7
  %2371 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %38)
          to label %2372 unwind label %2818

2372:                                             ; preds = %2370
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_LEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %188, ptr noundef nonnull align 8 dereferenceable(280) %2371)
          to label %2373 unwind label %2818

2373:                                             ; preds = %2372
  %2374 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %188)
          to label %2375 unwind label %2822

2375:                                             ; preds = %2373
  call void @llvm.lifetime.start.p0(i64 8, ptr %189) #7
  %2376 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %38)
          to label %2377 unwind label %2826

2377:                                             ; preds = %2375
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %189, ptr noundef nonnull align 8 dereferenceable(280) %2376)
          to label %2378 unwind label %2826

2378:                                             ; preds = %2377
  %2379 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %189)
          to label %2380 unwind label %2830

2380:                                             ; preds = %2378
  call void @llvm.lifetime.start.p0(i64 8, ptr %190) #7
  %2381 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %38)
          to label %2382 unwind label %2834

2382:                                             ; preds = %2380
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_LEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %190, ptr noundef nonnull align 8 dereferenceable(280) %2381)
          to label %2383 unwind label %2834

2383:                                             ; preds = %2382
  %2384 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %190)
          to label %2385 unwind label %2838

2385:                                             ; preds = %2383
  call void @llvm.lifetime.start.p0(i64 8, ptr %191) #7
  %2386 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %38)
          to label %2387 unwind label %2842

2387:                                             ; preds = %2385
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %191, ptr noundef nonnull align 8 dereferenceable(280) %2386)
          to label %2388 unwind label %2842

2388:                                             ; preds = %2387
  %2389 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %191)
          to label %2390 unwind label %2846

2390:                                             ; preds = %2388
  %2391 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %154)
          to label %2392 unwind label %2846

2392:                                             ; preds = %2390
  %2393 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %156)
          to label %2394 unwind label %2846

2394:                                             ; preds = %2392
  %2395 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %158)
          to label %2396 unwind label %2846

2396:                                             ; preds = %2394
  %2397 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %160)
          to label %2398 unwind label %2846

2398:                                             ; preds = %2396
  call void @llvm.lifetime.start.p0(i64 8, ptr %192) #7
  %2399 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %56)
          to label %2400 unwind label %2850

2400:                                             ; preds = %2398
  invoke void @_ZNK10SimTKIpopt14IteratesVector3y_cEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %192, ptr noundef nonnull align 8 dereferenceable(280) %2399)
          to label %2401 unwind label %2850

2401:                                             ; preds = %2400
  %2402 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %192)
          to label %2403 unwind label %2854

2403:                                             ; preds = %2401
  call void @llvm.lifetime.start.p0(i64 8, ptr %193) #7
  %2404 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %56)
          to label %2405 unwind label %2858

2405:                                             ; preds = %2403
  invoke void @_ZNK10SimTKIpopt14IteratesVector3y_dEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %193, ptr noundef nonnull align 8 dereferenceable(280) %2404)
          to label %2406 unwind label %2858

2406:                                             ; preds = %2405
  %2407 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %193)
          to label %2408 unwind label %2862

2408:                                             ; preds = %2406
  call void @llvm.lifetime.start.p0(i64 8, ptr %194) #7
  %2409 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %56)
          to label %2410 unwind label %2866

2410:                                             ; preds = %2408
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_LEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %194, ptr noundef nonnull align 8 dereferenceable(280) %2409)
          to label %2411 unwind label %2866

2411:                                             ; preds = %2410
  %2412 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %194)
          to label %2413 unwind label %2870

2413:                                             ; preds = %2411
  call void @llvm.lifetime.start.p0(i64 8, ptr %195) #7
  %2414 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %56)
          to label %2415 unwind label %2874

2415:                                             ; preds = %2413
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %195, ptr noundef nonnull align 8 dereferenceable(280) %2414)
          to label %2416 unwind label %2874

2416:                                             ; preds = %2415
  %2417 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %195)
          to label %2418 unwind label %2878

2418:                                             ; preds = %2416
  call void @llvm.lifetime.start.p0(i64 8, ptr %196) #7
  %2419 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %56)
          to label %2420 unwind label %2882

2420:                                             ; preds = %2418
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_LEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %196, ptr noundef nonnull align 8 dereferenceable(280) %2419)
          to label %2421 unwind label %2882

2421:                                             ; preds = %2420
  %2422 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %196)
          to label %2423 unwind label %2886

2423:                                             ; preds = %2421
  call void @llvm.lifetime.start.p0(i64 8, ptr %197) #7
  %2424 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %56)
          to label %2425 unwind label %2890

2425:                                             ; preds = %2423
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %197, ptr noundef nonnull align 8 dereferenceable(280) %2424)
          to label %2426 unwind label %2890

2426:                                             ; preds = %2425
  %2427 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %197)
          to label %2428 unwind label %2894

2428:                                             ; preds = %2426
  %2429 = invoke noundef double @_ZN10SimTKIpopt23QualityFunctionMuOracle24CalculateQualityFunctionEdRKNS_6VectorES3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_(ptr noundef nonnull align 8 dereferenceable(432) %236, double noundef %2352, ptr noundef nonnull align 8 dereferenceable(205) %2353, ptr noundef nonnull align 8 dereferenceable(205) %2355, ptr noundef nonnull align 8 dereferenceable(205) %2357, ptr noundef nonnull align 8 dereferenceable(205) %2359, ptr noundef nonnull align 8 dereferenceable(205) %2364, ptr noundef nonnull align 8 dereferenceable(205) %2369, ptr noundef nonnull align 8 dereferenceable(205) %2374, ptr noundef nonnull align 8 dereferenceable(205) %2379, ptr noundef nonnull align 8 dereferenceable(205) %2384, ptr noundef nonnull align 8 dereferenceable(205) %2389, ptr noundef nonnull align 8 dereferenceable(205) %2391, ptr noundef nonnull align 8 dereferenceable(205) %2393, ptr noundef nonnull align 8 dereferenceable(205) %2395, ptr noundef nonnull align 8 dereferenceable(205) %2397, ptr noundef nonnull align 8 dereferenceable(205) %2402, ptr noundef nonnull align 8 dereferenceable(205) %2407, ptr noundef nonnull align 8 dereferenceable(205) %2412, ptr noundef nonnull align 8 dereferenceable(205) %2417, ptr noundef nonnull align 8 dereferenceable(205) %2422, ptr noundef nonnull align 8 dereferenceable(205) %2427)
          to label %2430 unwind label %2894

2430:                                             ; preds = %2428
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %197) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %197) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %196) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %196) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %195) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %195) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %194) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %194) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %193) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %193) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %192) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %192) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %191) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %191) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %190) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %190) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %189) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %189) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %188) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %188) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %187) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %187) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %186) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %186) #7
  store double %2429, ptr %185, align 8, !tbaa !9
  %2431 = load double, ptr %185, align 8, !tbaa !9
  %2432 = load double, ptr %171, align 8, !tbaa !9
  %2433 = fcmp ogt double %2431, %2432
  br i1 %2433, label %2434, label %3137

2434:                                             ; preds = %2430
  call void @llvm.lifetime.start.p0(i64 8, ptr %198) #7
  %2435 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 2
  %2436 = load double, ptr %2435, align 8, !tbaa !51
  %2437 = load double, ptr %8, align 8, !tbaa !9
  %2438 = load double, ptr %43, align 8, !tbaa !9
  %2439 = fdiv double %2437, %2438
  %2440 = invoke noundef double @_ZN10SimTKIpopt3MinEdd(double noundef %2436, double noundef %2439)
          to label %2441 unwind label %2921

2441:                                             ; preds = %2434
  store double %2440, ptr %198, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %199) #7
  store double 1.000000e+00, ptr %199, align 8, !tbaa !9
  %2442 = load double, ptr %199, align 8, !tbaa !9
  %2443 = load double, ptr %198, align 8, !tbaa !9
  %2444 = fcmp oge double %2442, %2443
  br i1 %2444, label %2445, label %2925

2445:                                             ; preds = %2441
  %2446 = load double, ptr %198, align 8, !tbaa !9
  store double %2446, ptr %170, align 8, !tbaa !9
  br label %3134

2447:                                             ; preds = %2078, %2076
  %2448 = landingpad { ptr, i32 }
          cleanup
  %2449 = extractvalue { ptr, i32 } %2448, 0
  store ptr %2449, ptr %11, align 8
  %2450 = extractvalue { ptr, i32 } %2448, 1
  store i32 %2450, ptr %12, align 4
  br label %2455

2451:                                             ; preds = %2083, %2081, %2079
  %2452 = landingpad { ptr, i32 }
          cleanup
  %2453 = extractvalue { ptr, i32 } %2452, 0
  store ptr %2453, ptr %11, align 8
  %2454 = extractvalue { ptr, i32 } %2452, 1
  store i32 %2454, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %139) #7
  br label %2455

2455:                                             ; preds = %2451, %2447
  call void @llvm.lifetime.end.p0(i64 8, ptr %139) #7
  br label %3562

2456:                                             ; preds = %2086, %2084
  %2457 = landingpad { ptr, i32 }
          cleanup
  %2458 = extractvalue { ptr, i32 } %2457, 0
  store ptr %2458, ptr %11, align 8
  %2459 = extractvalue { ptr, i32 } %2457, 1
  store i32 %2459, ptr %12, align 4
  br label %2464

2460:                                             ; preds = %2091, %2089, %2087
  %2461 = landingpad { ptr, i32 }
          cleanup
  %2462 = extractvalue { ptr, i32 } %2461, 0
  store ptr %2462, ptr %11, align 8
  %2463 = extractvalue { ptr, i32 } %2461, 1
  store i32 %2463, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %141) #7
  br label %2464

2464:                                             ; preds = %2460, %2456
  call void @llvm.lifetime.end.p0(i64 8, ptr %141) #7
  br label %3561

2465:                                             ; preds = %2094, %2092
  %2466 = landingpad { ptr, i32 }
          cleanup
  %2467 = extractvalue { ptr, i32 } %2466, 0
  store ptr %2467, ptr %11, align 8
  %2468 = extractvalue { ptr, i32 } %2466, 1
  store i32 %2468, ptr %12, align 4
  br label %2473

2469:                                             ; preds = %2099, %2097, %2095
  %2470 = landingpad { ptr, i32 }
          cleanup
  %2471 = extractvalue { ptr, i32 } %2470, 0
  store ptr %2471, ptr %11, align 8
  %2472 = extractvalue { ptr, i32 } %2470, 1
  store i32 %2472, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %143) #7
  br label %2473

2473:                                             ; preds = %2469, %2465
  call void @llvm.lifetime.end.p0(i64 8, ptr %143) #7
  br label %3560

2474:                                             ; preds = %2102, %2100
  %2475 = landingpad { ptr, i32 }
          cleanup
  %2476 = extractvalue { ptr, i32 } %2475, 0
  store ptr %2476, ptr %11, align 8
  %2477 = extractvalue { ptr, i32 } %2475, 1
  store i32 %2477, ptr %12, align 4
  br label %2482

2478:                                             ; preds = %2107, %2105, %2103
  %2479 = landingpad { ptr, i32 }
          cleanup
  %2480 = extractvalue { ptr, i32 } %2479, 0
  store ptr %2480, ptr %11, align 8
  %2481 = extractvalue { ptr, i32 } %2479, 1
  store i32 %2481, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %145) #7
  br label %2482

2482:                                             ; preds = %2478, %2474
  call void @llvm.lifetime.end.p0(i64 8, ptr %145) #7
  br label %3559

2483:                                             ; preds = %2110, %2108
  %2484 = landingpad { ptr, i32 }
          cleanup
  %2485 = extractvalue { ptr, i32 } %2484, 0
  store ptr %2485, ptr %11, align 8
  %2486 = extractvalue { ptr, i32 } %2484, 1
  store i32 %2486, ptr %12, align 4
  br label %2501

2487:                                             ; preds = %2114
  %2488 = landingpad { ptr, i32 }
          cleanup
  %2489 = extractvalue { ptr, i32 } %2488, 0
  store ptr %2489, ptr %11, align 8
  %2490 = extractvalue { ptr, i32 } %2488, 1
  store i32 %2490, ptr %12, align 4
  br label %2500

2491:                                             ; preds = %2118, %2116
  %2492 = landingpad { ptr, i32 }
          cleanup
  %2493 = extractvalue { ptr, i32 } %2492, 0
  store ptr %2493, ptr %11, align 8
  %2494 = extractvalue { ptr, i32 } %2492, 1
  store i32 %2494, ptr %12, align 4
  br label %2499

2495:                                             ; preds = %2123, %2121, %2119
  %2496 = landingpad { ptr, i32 }
          cleanup
  %2497 = extractvalue { ptr, i32 } %2496, 0
  store ptr %2497, ptr %11, align 8
  %2498 = extractvalue { ptr, i32 } %2496, 1
  store i32 %2498, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %147) #7
  br label %2499

2499:                                             ; preds = %2495, %2491
  call void @llvm.lifetime.end.p0(i64 8, ptr %147) #7
  br label %2500

2500:                                             ; preds = %2499, %2487
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %146) #7
  br label %2501

2501:                                             ; preds = %2500, %2483
  call void @llvm.lifetime.end.p0(i64 8, ptr %146) #7
  br label %3558

2502:                                             ; preds = %2126, %2124
  %2503 = landingpad { ptr, i32 }
          cleanup
  %2504 = extractvalue { ptr, i32 } %2503, 0
  store ptr %2504, ptr %11, align 8
  %2505 = extractvalue { ptr, i32 } %2503, 1
  store i32 %2505, ptr %12, align 4
  br label %2520

2506:                                             ; preds = %2130
  %2507 = landingpad { ptr, i32 }
          cleanup
  %2508 = extractvalue { ptr, i32 } %2507, 0
  store ptr %2508, ptr %11, align 8
  %2509 = extractvalue { ptr, i32 } %2507, 1
  store i32 %2509, ptr %12, align 4
  br label %2519

2510:                                             ; preds = %2134, %2132
  %2511 = landingpad { ptr, i32 }
          cleanup
  %2512 = extractvalue { ptr, i32 } %2511, 0
  store ptr %2512, ptr %11, align 8
  %2513 = extractvalue { ptr, i32 } %2511, 1
  store i32 %2513, ptr %12, align 4
  br label %2518

2514:                                             ; preds = %2139, %2137, %2135
  %2515 = landingpad { ptr, i32 }
          cleanup
  %2516 = extractvalue { ptr, i32 } %2515, 0
  store ptr %2516, ptr %11, align 8
  %2517 = extractvalue { ptr, i32 } %2515, 1
  store i32 %2517, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %149) #7
  br label %2518

2518:                                             ; preds = %2514, %2510
  call void @llvm.lifetime.end.p0(i64 8, ptr %149) #7
  br label %2519

2519:                                             ; preds = %2518, %2506
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %148) #7
  br label %2520

2520:                                             ; preds = %2519, %2502
  call void @llvm.lifetime.end.p0(i64 8, ptr %148) #7
  br label %3558

2521:                                             ; preds = %2142, %2140
  %2522 = landingpad { ptr, i32 }
          cleanup
  %2523 = extractvalue { ptr, i32 } %2522, 0
  store ptr %2523, ptr %11, align 8
  %2524 = extractvalue { ptr, i32 } %2522, 1
  store i32 %2524, ptr %12, align 4
  br label %2539

2525:                                             ; preds = %2146
  %2526 = landingpad { ptr, i32 }
          cleanup
  %2527 = extractvalue { ptr, i32 } %2526, 0
  store ptr %2527, ptr %11, align 8
  %2528 = extractvalue { ptr, i32 } %2526, 1
  store i32 %2528, ptr %12, align 4
  br label %2538

2529:                                             ; preds = %2150, %2148
  %2530 = landingpad { ptr, i32 }
          cleanup
  %2531 = extractvalue { ptr, i32 } %2530, 0
  store ptr %2531, ptr %11, align 8
  %2532 = extractvalue { ptr, i32 } %2530, 1
  store i32 %2532, ptr %12, align 4
  br label %2537

2533:                                             ; preds = %2155, %2153, %2151
  %2534 = landingpad { ptr, i32 }
          cleanup
  %2535 = extractvalue { ptr, i32 } %2534, 0
  store ptr %2535, ptr %11, align 8
  %2536 = extractvalue { ptr, i32 } %2534, 1
  store i32 %2536, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %151) #7
  br label %2537

2537:                                             ; preds = %2533, %2529
  call void @llvm.lifetime.end.p0(i64 8, ptr %151) #7
  br label %2538

2538:                                             ; preds = %2537, %2525
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %150) #7
  br label %2539

2539:                                             ; preds = %2538, %2521
  call void @llvm.lifetime.end.p0(i64 8, ptr %150) #7
  br label %3558

2540:                                             ; preds = %2158, %2156
  %2541 = landingpad { ptr, i32 }
          cleanup
  %2542 = extractvalue { ptr, i32 } %2541, 0
  store ptr %2542, ptr %11, align 8
  %2543 = extractvalue { ptr, i32 } %2541, 1
  store i32 %2543, ptr %12, align 4
  br label %2558

2544:                                             ; preds = %2162
  %2545 = landingpad { ptr, i32 }
          cleanup
  %2546 = extractvalue { ptr, i32 } %2545, 0
  store ptr %2546, ptr %11, align 8
  %2547 = extractvalue { ptr, i32 } %2545, 1
  store i32 %2547, ptr %12, align 4
  br label %2557

2548:                                             ; preds = %2166, %2164
  %2549 = landingpad { ptr, i32 }
          cleanup
  %2550 = extractvalue { ptr, i32 } %2549, 0
  store ptr %2550, ptr %11, align 8
  %2551 = extractvalue { ptr, i32 } %2549, 1
  store i32 %2551, ptr %12, align 4
  br label %2556

2552:                                             ; preds = %2171, %2169, %2167
  %2553 = landingpad { ptr, i32 }
          cleanup
  %2554 = extractvalue { ptr, i32 } %2553, 0
  store ptr %2554, ptr %11, align 8
  %2555 = extractvalue { ptr, i32 } %2553, 1
  store i32 %2555, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %153) #7
  br label %2556

2556:                                             ; preds = %2552, %2548
  call void @llvm.lifetime.end.p0(i64 8, ptr %153) #7
  br label %2557

2557:                                             ; preds = %2556, %2544
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %152) #7
  br label %2558

2558:                                             ; preds = %2557, %2540
  call void @llvm.lifetime.end.p0(i64 8, ptr %152) #7
  br label %3558

2559:                                             ; preds = %2174, %2172
  %2560 = landingpad { ptr, i32 }
          cleanup
  %2561 = extractvalue { ptr, i32 } %2560, 0
  store ptr %2561, ptr %11, align 8
  %2562 = extractvalue { ptr, i32 } %2560, 1
  store i32 %2562, ptr %12, align 4
  br label %2567

2563:                                             ; preds = %2179, %2177, %2175
  %2564 = landingpad { ptr, i32 }
          cleanup
  %2565 = extractvalue { ptr, i32 } %2564, 0
  store ptr %2565, ptr %11, align 8
  %2566 = extractvalue { ptr, i32 } %2564, 1
  store i32 %2566, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %155) #7
  br label %2567

2567:                                             ; preds = %2563, %2559
  call void @llvm.lifetime.end.p0(i64 8, ptr %155) #7
  br label %3557

2568:                                             ; preds = %2182, %2180
  %2569 = landingpad { ptr, i32 }
          cleanup
  %2570 = extractvalue { ptr, i32 } %2569, 0
  store ptr %2570, ptr %11, align 8
  %2571 = extractvalue { ptr, i32 } %2569, 1
  store i32 %2571, ptr %12, align 4
  br label %2576

2572:                                             ; preds = %2187, %2185, %2183
  %2573 = landingpad { ptr, i32 }
          cleanup
  %2574 = extractvalue { ptr, i32 } %2573, 0
  store ptr %2574, ptr %11, align 8
  %2575 = extractvalue { ptr, i32 } %2573, 1
  store i32 %2575, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %157) #7
  br label %2576

2576:                                             ; preds = %2572, %2568
  call void @llvm.lifetime.end.p0(i64 8, ptr %157) #7
  br label %3556

2577:                                             ; preds = %2190, %2188
  %2578 = landingpad { ptr, i32 }
          cleanup
  %2579 = extractvalue { ptr, i32 } %2578, 0
  store ptr %2579, ptr %11, align 8
  %2580 = extractvalue { ptr, i32 } %2578, 1
  store i32 %2580, ptr %12, align 4
  br label %2585

2581:                                             ; preds = %2195, %2193, %2191
  %2582 = landingpad { ptr, i32 }
          cleanup
  %2583 = extractvalue { ptr, i32 } %2582, 0
  store ptr %2583, ptr %11, align 8
  %2584 = extractvalue { ptr, i32 } %2582, 1
  store i32 %2584, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %159) #7
  br label %2585

2585:                                             ; preds = %2581, %2577
  call void @llvm.lifetime.end.p0(i64 8, ptr %159) #7
  br label %3555

2586:                                             ; preds = %2198, %2196
  %2587 = landingpad { ptr, i32 }
          cleanup
  %2588 = extractvalue { ptr, i32 } %2587, 0
  store ptr %2588, ptr %11, align 8
  %2589 = extractvalue { ptr, i32 } %2587, 1
  store i32 %2589, ptr %12, align 4
  br label %2594

2590:                                             ; preds = %2203, %2201, %2199
  %2591 = landingpad { ptr, i32 }
          cleanup
  %2592 = extractvalue { ptr, i32 } %2591, 0
  store ptr %2592, ptr %11, align 8
  %2593 = extractvalue { ptr, i32 } %2591, 1
  store i32 %2593, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %161) #7
  br label %2594

2594:                                             ; preds = %2590, %2586
  call void @llvm.lifetime.end.p0(i64 8, ptr %161) #7
  br label %3554

2595:                                             ; preds = %2206, %2204
  %2596 = landingpad { ptr, i32 }
          cleanup
  %2597 = extractvalue { ptr, i32 } %2596, 0
  store ptr %2597, ptr %11, align 8
  %2598 = extractvalue { ptr, i32 } %2596, 1
  store i32 %2598, ptr %12, align 4
  br label %2613

2599:                                             ; preds = %2210
  %2600 = landingpad { ptr, i32 }
          cleanup
  %2601 = extractvalue { ptr, i32 } %2600, 0
  store ptr %2601, ptr %11, align 8
  %2602 = extractvalue { ptr, i32 } %2600, 1
  store i32 %2602, ptr %12, align 4
  br label %2612

2603:                                             ; preds = %2214, %2212
  %2604 = landingpad { ptr, i32 }
          cleanup
  %2605 = extractvalue { ptr, i32 } %2604, 0
  store ptr %2605, ptr %11, align 8
  %2606 = extractvalue { ptr, i32 } %2604, 1
  store i32 %2606, ptr %12, align 4
  br label %2611

2607:                                             ; preds = %2219, %2217, %2215
  %2608 = landingpad { ptr, i32 }
          cleanup
  %2609 = extractvalue { ptr, i32 } %2608, 0
  store ptr %2609, ptr %11, align 8
  %2610 = extractvalue { ptr, i32 } %2608, 1
  store i32 %2610, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %163) #7
  br label %2611

2611:                                             ; preds = %2607, %2603
  call void @llvm.lifetime.end.p0(i64 8, ptr %163) #7
  br label %2612

2612:                                             ; preds = %2611, %2599
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %162) #7
  br label %2613

2613:                                             ; preds = %2612, %2595
  call void @llvm.lifetime.end.p0(i64 8, ptr %162) #7
  br label %3553

2614:                                             ; preds = %2222, %2220
  %2615 = landingpad { ptr, i32 }
          cleanup
  %2616 = extractvalue { ptr, i32 } %2615, 0
  store ptr %2616, ptr %11, align 8
  %2617 = extractvalue { ptr, i32 } %2615, 1
  store i32 %2617, ptr %12, align 4
  br label %2632

2618:                                             ; preds = %2226
  %2619 = landingpad { ptr, i32 }
          cleanup
  %2620 = extractvalue { ptr, i32 } %2619, 0
  store ptr %2620, ptr %11, align 8
  %2621 = extractvalue { ptr, i32 } %2619, 1
  store i32 %2621, ptr %12, align 4
  br label %2631

2622:                                             ; preds = %2230, %2228
  %2623 = landingpad { ptr, i32 }
          cleanup
  %2624 = extractvalue { ptr, i32 } %2623, 0
  store ptr %2624, ptr %11, align 8
  %2625 = extractvalue { ptr, i32 } %2623, 1
  store i32 %2625, ptr %12, align 4
  br label %2630

2626:                                             ; preds = %2235, %2233, %2231
  %2627 = landingpad { ptr, i32 }
          cleanup
  %2628 = extractvalue { ptr, i32 } %2627, 0
  store ptr %2628, ptr %11, align 8
  %2629 = extractvalue { ptr, i32 } %2627, 1
  store i32 %2629, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %165) #7
  br label %2630

2630:                                             ; preds = %2626, %2622
  call void @llvm.lifetime.end.p0(i64 8, ptr %165) #7
  br label %2631

2631:                                             ; preds = %2630, %2618
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %164) #7
  br label %2632

2632:                                             ; preds = %2631, %2614
  call void @llvm.lifetime.end.p0(i64 8, ptr %164) #7
  br label %3553

2633:                                             ; preds = %2238, %2236
  %2634 = landingpad { ptr, i32 }
          cleanup
  %2635 = extractvalue { ptr, i32 } %2634, 0
  store ptr %2635, ptr %11, align 8
  %2636 = extractvalue { ptr, i32 } %2634, 1
  store i32 %2636, ptr %12, align 4
  br label %2651

2637:                                             ; preds = %2242
  %2638 = landingpad { ptr, i32 }
          cleanup
  %2639 = extractvalue { ptr, i32 } %2638, 0
  store ptr %2639, ptr %11, align 8
  %2640 = extractvalue { ptr, i32 } %2638, 1
  store i32 %2640, ptr %12, align 4
  br label %2650

2641:                                             ; preds = %2246, %2244
  %2642 = landingpad { ptr, i32 }
          cleanup
  %2643 = extractvalue { ptr, i32 } %2642, 0
  store ptr %2643, ptr %11, align 8
  %2644 = extractvalue { ptr, i32 } %2642, 1
  store i32 %2644, ptr %12, align 4
  br label %2649

2645:                                             ; preds = %2251, %2249, %2247
  %2646 = landingpad { ptr, i32 }
          cleanup
  %2647 = extractvalue { ptr, i32 } %2646, 0
  store ptr %2647, ptr %11, align 8
  %2648 = extractvalue { ptr, i32 } %2646, 1
  store i32 %2648, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %167) #7
  br label %2649

2649:                                             ; preds = %2645, %2641
  call void @llvm.lifetime.end.p0(i64 8, ptr %167) #7
  br label %2650

2650:                                             ; preds = %2649, %2637
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %166) #7
  br label %2651

2651:                                             ; preds = %2650, %2633
  call void @llvm.lifetime.end.p0(i64 8, ptr %166) #7
  br label %3553

2652:                                             ; preds = %2254, %2252
  %2653 = landingpad { ptr, i32 }
          cleanup
  %2654 = extractvalue { ptr, i32 } %2653, 0
  store ptr %2654, ptr %11, align 8
  %2655 = extractvalue { ptr, i32 } %2653, 1
  store i32 %2655, ptr %12, align 4
  br label %2670

2656:                                             ; preds = %2258
  %2657 = landingpad { ptr, i32 }
          cleanup
  %2658 = extractvalue { ptr, i32 } %2657, 0
  store ptr %2658, ptr %11, align 8
  %2659 = extractvalue { ptr, i32 } %2657, 1
  store i32 %2659, ptr %12, align 4
  br label %2669

2660:                                             ; preds = %2262, %2260
  %2661 = landingpad { ptr, i32 }
          cleanup
  %2662 = extractvalue { ptr, i32 } %2661, 0
  store ptr %2662, ptr %11, align 8
  %2663 = extractvalue { ptr, i32 } %2661, 1
  store i32 %2663, ptr %12, align 4
  br label %2668

2664:                                             ; preds = %2267, %2265, %2263
  %2665 = landingpad { ptr, i32 }
          cleanup
  %2666 = extractvalue { ptr, i32 } %2665, 0
  store ptr %2666, ptr %11, align 8
  %2667 = extractvalue { ptr, i32 } %2665, 1
  store i32 %2667, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %169) #7
  br label %2668

2668:                                             ; preds = %2664, %2660
  call void @llvm.lifetime.end.p0(i64 8, ptr %169) #7
  br label %2669

2669:                                             ; preds = %2668, %2656
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %168) #7
  br label %2670

2670:                                             ; preds = %2669, %2652
  call void @llvm.lifetime.end.p0(i64 8, ptr %168) #7
  br label %3553

2671:                                             ; preds = %2274, %2272, %2270, %2268
  %2672 = landingpad { ptr, i32 }
          cleanup
  %2673 = extractvalue { ptr, i32 } %2672, 0
  store ptr %2673, ptr %11, align 8
  %2674 = extractvalue { ptr, i32 } %2672, 1
  store i32 %2674, ptr %12, align 4
  br label %3552

2675:                                             ; preds = %2278, %2276
  %2676 = landingpad { ptr, i32 }
          cleanup
  %2677 = extractvalue { ptr, i32 } %2676, 0
  store ptr %2677, ptr %11, align 8
  %2678 = extractvalue { ptr, i32 } %2676, 1
  store i32 %2678, ptr %12, align 4
  br label %2793

2679:                                             ; preds = %2279
  %2680 = landingpad { ptr, i32 }
          cleanup
  %2681 = extractvalue { ptr, i32 } %2680, 0
  store ptr %2681, ptr %11, align 8
  %2682 = extractvalue { ptr, i32 } %2680, 1
  store i32 %2682, ptr %12, align 4
  br label %2792

2683:                                             ; preds = %2283, %2281
  %2684 = landingpad { ptr, i32 }
          cleanup
  %2685 = extractvalue { ptr, i32 } %2684, 0
  store ptr %2685, ptr %11, align 8
  %2686 = extractvalue { ptr, i32 } %2684, 1
  store i32 %2686, ptr %12, align 4
  br label %2791

2687:                                             ; preds = %2284
  %2688 = landingpad { ptr, i32 }
          cleanup
  %2689 = extractvalue { ptr, i32 } %2688, 0
  store ptr %2689, ptr %11, align 8
  %2690 = extractvalue { ptr, i32 } %2688, 1
  store i32 %2690, ptr %12, align 4
  br label %2790

2691:                                             ; preds = %2288, %2286
  %2692 = landingpad { ptr, i32 }
          cleanup
  %2693 = extractvalue { ptr, i32 } %2692, 0
  store ptr %2693, ptr %11, align 8
  %2694 = extractvalue { ptr, i32 } %2692, 1
  store i32 %2694, ptr %12, align 4
  br label %2789

2695:                                             ; preds = %2289
  %2696 = landingpad { ptr, i32 }
          cleanup
  %2697 = extractvalue { ptr, i32 } %2696, 0
  store ptr %2697, ptr %11, align 8
  %2698 = extractvalue { ptr, i32 } %2696, 1
  store i32 %2698, ptr %12, align 4
  br label %2788

2699:                                             ; preds = %2293, %2291
  %2700 = landingpad { ptr, i32 }
          cleanup
  %2701 = extractvalue { ptr, i32 } %2700, 0
  store ptr %2701, ptr %11, align 8
  %2702 = extractvalue { ptr, i32 } %2700, 1
  store i32 %2702, ptr %12, align 4
  br label %2787

2703:                                             ; preds = %2294
  %2704 = landingpad { ptr, i32 }
          cleanup
  %2705 = extractvalue { ptr, i32 } %2704, 0
  store ptr %2705, ptr %11, align 8
  %2706 = extractvalue { ptr, i32 } %2704, 1
  store i32 %2706, ptr %12, align 4
  br label %2786

2707:                                             ; preds = %2298, %2296
  %2708 = landingpad { ptr, i32 }
          cleanup
  %2709 = extractvalue { ptr, i32 } %2708, 0
  store ptr %2709, ptr %11, align 8
  %2710 = extractvalue { ptr, i32 } %2708, 1
  store i32 %2710, ptr %12, align 4
  br label %2785

2711:                                             ; preds = %2299
  %2712 = landingpad { ptr, i32 }
          cleanup
  %2713 = extractvalue { ptr, i32 } %2712, 0
  store ptr %2713, ptr %11, align 8
  %2714 = extractvalue { ptr, i32 } %2712, 1
  store i32 %2714, ptr %12, align 4
  br label %2784

2715:                                             ; preds = %2303, %2301
  %2716 = landingpad { ptr, i32 }
          cleanup
  %2717 = extractvalue { ptr, i32 } %2716, 0
  store ptr %2717, ptr %11, align 8
  %2718 = extractvalue { ptr, i32 } %2716, 1
  store i32 %2718, ptr %12, align 4
  br label %2783

2719:                                             ; preds = %2312, %2310, %2308, %2306, %2304
  %2720 = landingpad { ptr, i32 }
          cleanup
  %2721 = extractvalue { ptr, i32 } %2720, 0
  store ptr %2721, ptr %11, align 8
  %2722 = extractvalue { ptr, i32 } %2720, 1
  store i32 %2722, ptr %12, align 4
  br label %2782

2723:                                             ; preds = %2316, %2314
  %2724 = landingpad { ptr, i32 }
          cleanup
  %2725 = extractvalue { ptr, i32 } %2724, 0
  store ptr %2725, ptr %11, align 8
  %2726 = extractvalue { ptr, i32 } %2724, 1
  store i32 %2726, ptr %12, align 4
  br label %2781

2727:                                             ; preds = %2317
  %2728 = landingpad { ptr, i32 }
          cleanup
  %2729 = extractvalue { ptr, i32 } %2728, 0
  store ptr %2729, ptr %11, align 8
  %2730 = extractvalue { ptr, i32 } %2728, 1
  store i32 %2730, ptr %12, align 4
  br label %2780

2731:                                             ; preds = %2321, %2319
  %2732 = landingpad { ptr, i32 }
          cleanup
  %2733 = extractvalue { ptr, i32 } %2732, 0
  store ptr %2733, ptr %11, align 8
  %2734 = extractvalue { ptr, i32 } %2732, 1
  store i32 %2734, ptr %12, align 4
  br label %2779

2735:                                             ; preds = %2322
  %2736 = landingpad { ptr, i32 }
          cleanup
  %2737 = extractvalue { ptr, i32 } %2736, 0
  store ptr %2737, ptr %11, align 8
  %2738 = extractvalue { ptr, i32 } %2736, 1
  store i32 %2738, ptr %12, align 4
  br label %2778

2739:                                             ; preds = %2326, %2324
  %2740 = landingpad { ptr, i32 }
          cleanup
  %2741 = extractvalue { ptr, i32 } %2740, 0
  store ptr %2741, ptr %11, align 8
  %2742 = extractvalue { ptr, i32 } %2740, 1
  store i32 %2742, ptr %12, align 4
  br label %2777

2743:                                             ; preds = %2327
  %2744 = landingpad { ptr, i32 }
          cleanup
  %2745 = extractvalue { ptr, i32 } %2744, 0
  store ptr %2745, ptr %11, align 8
  %2746 = extractvalue { ptr, i32 } %2744, 1
  store i32 %2746, ptr %12, align 4
  br label %2776

2747:                                             ; preds = %2331, %2329
  %2748 = landingpad { ptr, i32 }
          cleanup
  %2749 = extractvalue { ptr, i32 } %2748, 0
  store ptr %2749, ptr %11, align 8
  %2750 = extractvalue { ptr, i32 } %2748, 1
  store i32 %2750, ptr %12, align 4
  br label %2775

2751:                                             ; preds = %2332
  %2752 = landingpad { ptr, i32 }
          cleanup
  %2753 = extractvalue { ptr, i32 } %2752, 0
  store ptr %2753, ptr %11, align 8
  %2754 = extractvalue { ptr, i32 } %2752, 1
  store i32 %2754, ptr %12, align 4
  br label %2774

2755:                                             ; preds = %2336, %2334
  %2756 = landingpad { ptr, i32 }
          cleanup
  %2757 = extractvalue { ptr, i32 } %2756, 0
  store ptr %2757, ptr %11, align 8
  %2758 = extractvalue { ptr, i32 } %2756, 1
  store i32 %2758, ptr %12, align 4
  br label %2773

2759:                                             ; preds = %2337
  %2760 = landingpad { ptr, i32 }
          cleanup
  %2761 = extractvalue { ptr, i32 } %2760, 0
  store ptr %2761, ptr %11, align 8
  %2762 = extractvalue { ptr, i32 } %2760, 1
  store i32 %2762, ptr %12, align 4
  br label %2772

2763:                                             ; preds = %2341, %2339
  %2764 = landingpad { ptr, i32 }
          cleanup
  %2765 = extractvalue { ptr, i32 } %2764, 0
  store ptr %2765, ptr %11, align 8
  %2766 = extractvalue { ptr, i32 } %2764, 1
  store i32 %2766, ptr %12, align 4
  br label %2771

2767:                                             ; preds = %2344, %2342
  %2768 = landingpad { ptr, i32 }
          cleanup
  %2769 = extractvalue { ptr, i32 } %2768, 0
  store ptr %2769, ptr %11, align 8
  %2770 = extractvalue { ptr, i32 } %2768, 1
  store i32 %2770, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %183) #7
  br label %2771

2771:                                             ; preds = %2767, %2763
  call void @llvm.lifetime.end.p0(i64 8, ptr %183) #7
  br label %2772

2772:                                             ; preds = %2771, %2759
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %182) #7
  br label %2773

2773:                                             ; preds = %2772, %2755
  call void @llvm.lifetime.end.p0(i64 8, ptr %182) #7
  br label %2774

2774:                                             ; preds = %2773, %2751
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %181) #7
  br label %2775

2775:                                             ; preds = %2774, %2747
  call void @llvm.lifetime.end.p0(i64 8, ptr %181) #7
  br label %2776

2776:                                             ; preds = %2775, %2743
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %180) #7
  br label %2777

2777:                                             ; preds = %2776, %2739
  call void @llvm.lifetime.end.p0(i64 8, ptr %180) #7
  br label %2778

2778:                                             ; preds = %2777, %2735
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %179) #7
  br label %2779

2779:                                             ; preds = %2778, %2731
  call void @llvm.lifetime.end.p0(i64 8, ptr %179) #7
  br label %2780

2780:                                             ; preds = %2779, %2727
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %178) #7
  br label %2781

2781:                                             ; preds = %2780, %2723
  call void @llvm.lifetime.end.p0(i64 8, ptr %178) #7
  br label %2782

2782:                                             ; preds = %2781, %2719
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %177) #7
  br label %2783

2783:                                             ; preds = %2782, %2715
  call void @llvm.lifetime.end.p0(i64 8, ptr %177) #7
  br label %2784

2784:                                             ; preds = %2783, %2711
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %176) #7
  br label %2785

2785:                                             ; preds = %2784, %2707
  call void @llvm.lifetime.end.p0(i64 8, ptr %176) #7
  br label %2786

2786:                                             ; preds = %2785, %2703
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %175) #7
  br label %2787

2787:                                             ; preds = %2786, %2699
  call void @llvm.lifetime.end.p0(i64 8, ptr %175) #7
  br label %2788

2788:                                             ; preds = %2787, %2695
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %174) #7
  br label %2789

2789:                                             ; preds = %2788, %2691
  call void @llvm.lifetime.end.p0(i64 8, ptr %174) #7
  br label %2790

2790:                                             ; preds = %2789, %2687
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %173) #7
  br label %2791

2791:                                             ; preds = %2790, %2683
  call void @llvm.lifetime.end.p0(i64 8, ptr %173) #7
  br label %2792

2792:                                             ; preds = %2791, %2679
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %172) #7
  br label %2793

2793:                                             ; preds = %2792, %2675
  call void @llvm.lifetime.end.p0(i64 8, ptr %172) #7
  br label %3552

2794:                                             ; preds = %2346
  %2795 = landingpad { ptr, i32 }
          cleanup
  %2796 = extractvalue { ptr, i32 } %2795, 0
  store ptr %2796, ptr %11, align 8
  %2797 = extractvalue { ptr, i32 } %2795, 1
  store i32 %2797, ptr %12, align 4
  br label %3551

2798:                                             ; preds = %3384, %3382, %3381, %3379, %3377, %3375, %2358, %2356, %2354, %2350
  %2799 = landingpad { ptr, i32 }
          cleanup
  %2800 = extractvalue { ptr, i32 } %2799, 0
  store ptr %2800, ptr %11, align 8
  %2801 = extractvalue { ptr, i32 } %2799, 1
  store i32 %2801, ptr %12, align 4
  br label %3550

2802:                                             ; preds = %2362, %2360
  %2803 = landingpad { ptr, i32 }
          cleanup
  %2804 = extractvalue { ptr, i32 } %2803, 0
  store ptr %2804, ptr %11, align 8
  %2805 = extractvalue { ptr, i32 } %2803, 1
  store i32 %2805, ptr %12, align 4
  br label %2920

2806:                                             ; preds = %2363
  %2807 = landingpad { ptr, i32 }
          cleanup
  %2808 = extractvalue { ptr, i32 } %2807, 0
  store ptr %2808, ptr %11, align 8
  %2809 = extractvalue { ptr, i32 } %2807, 1
  store i32 %2809, ptr %12, align 4
  br label %2919

2810:                                             ; preds = %2367, %2365
  %2811 = landingpad { ptr, i32 }
          cleanup
  %2812 = extractvalue { ptr, i32 } %2811, 0
  store ptr %2812, ptr %11, align 8
  %2813 = extractvalue { ptr, i32 } %2811, 1
  store i32 %2813, ptr %12, align 4
  br label %2918

2814:                                             ; preds = %2368
  %2815 = landingpad { ptr, i32 }
          cleanup
  %2816 = extractvalue { ptr, i32 } %2815, 0
  store ptr %2816, ptr %11, align 8
  %2817 = extractvalue { ptr, i32 } %2815, 1
  store i32 %2817, ptr %12, align 4
  br label %2917

2818:                                             ; preds = %2372, %2370
  %2819 = landingpad { ptr, i32 }
          cleanup
  %2820 = extractvalue { ptr, i32 } %2819, 0
  store ptr %2820, ptr %11, align 8
  %2821 = extractvalue { ptr, i32 } %2819, 1
  store i32 %2821, ptr %12, align 4
  br label %2916

2822:                                             ; preds = %2373
  %2823 = landingpad { ptr, i32 }
          cleanup
  %2824 = extractvalue { ptr, i32 } %2823, 0
  store ptr %2824, ptr %11, align 8
  %2825 = extractvalue { ptr, i32 } %2823, 1
  store i32 %2825, ptr %12, align 4
  br label %2915

2826:                                             ; preds = %2377, %2375
  %2827 = landingpad { ptr, i32 }
          cleanup
  %2828 = extractvalue { ptr, i32 } %2827, 0
  store ptr %2828, ptr %11, align 8
  %2829 = extractvalue { ptr, i32 } %2827, 1
  store i32 %2829, ptr %12, align 4
  br label %2914

2830:                                             ; preds = %2378
  %2831 = landingpad { ptr, i32 }
          cleanup
  %2832 = extractvalue { ptr, i32 } %2831, 0
  store ptr %2832, ptr %11, align 8
  %2833 = extractvalue { ptr, i32 } %2831, 1
  store i32 %2833, ptr %12, align 4
  br label %2913

2834:                                             ; preds = %2382, %2380
  %2835 = landingpad { ptr, i32 }
          cleanup
  %2836 = extractvalue { ptr, i32 } %2835, 0
  store ptr %2836, ptr %11, align 8
  %2837 = extractvalue { ptr, i32 } %2835, 1
  store i32 %2837, ptr %12, align 4
  br label %2912

2838:                                             ; preds = %2383
  %2839 = landingpad { ptr, i32 }
          cleanup
  %2840 = extractvalue { ptr, i32 } %2839, 0
  store ptr %2840, ptr %11, align 8
  %2841 = extractvalue { ptr, i32 } %2839, 1
  store i32 %2841, ptr %12, align 4
  br label %2911

2842:                                             ; preds = %2387, %2385
  %2843 = landingpad { ptr, i32 }
          cleanup
  %2844 = extractvalue { ptr, i32 } %2843, 0
  store ptr %2844, ptr %11, align 8
  %2845 = extractvalue { ptr, i32 } %2843, 1
  store i32 %2845, ptr %12, align 4
  br label %2910

2846:                                             ; preds = %2396, %2394, %2392, %2390, %2388
  %2847 = landingpad { ptr, i32 }
          cleanup
  %2848 = extractvalue { ptr, i32 } %2847, 0
  store ptr %2848, ptr %11, align 8
  %2849 = extractvalue { ptr, i32 } %2847, 1
  store i32 %2849, ptr %12, align 4
  br label %2909

2850:                                             ; preds = %2400, %2398
  %2851 = landingpad { ptr, i32 }
          cleanup
  %2852 = extractvalue { ptr, i32 } %2851, 0
  store ptr %2852, ptr %11, align 8
  %2853 = extractvalue { ptr, i32 } %2851, 1
  store i32 %2853, ptr %12, align 4
  br label %2908

2854:                                             ; preds = %2401
  %2855 = landingpad { ptr, i32 }
          cleanup
  %2856 = extractvalue { ptr, i32 } %2855, 0
  store ptr %2856, ptr %11, align 8
  %2857 = extractvalue { ptr, i32 } %2855, 1
  store i32 %2857, ptr %12, align 4
  br label %2907

2858:                                             ; preds = %2405, %2403
  %2859 = landingpad { ptr, i32 }
          cleanup
  %2860 = extractvalue { ptr, i32 } %2859, 0
  store ptr %2860, ptr %11, align 8
  %2861 = extractvalue { ptr, i32 } %2859, 1
  store i32 %2861, ptr %12, align 4
  br label %2906

2862:                                             ; preds = %2406
  %2863 = landingpad { ptr, i32 }
          cleanup
  %2864 = extractvalue { ptr, i32 } %2863, 0
  store ptr %2864, ptr %11, align 8
  %2865 = extractvalue { ptr, i32 } %2863, 1
  store i32 %2865, ptr %12, align 4
  br label %2905

2866:                                             ; preds = %2410, %2408
  %2867 = landingpad { ptr, i32 }
          cleanup
  %2868 = extractvalue { ptr, i32 } %2867, 0
  store ptr %2868, ptr %11, align 8
  %2869 = extractvalue { ptr, i32 } %2867, 1
  store i32 %2869, ptr %12, align 4
  br label %2904

2870:                                             ; preds = %2411
  %2871 = landingpad { ptr, i32 }
          cleanup
  %2872 = extractvalue { ptr, i32 } %2871, 0
  store ptr %2872, ptr %11, align 8
  %2873 = extractvalue { ptr, i32 } %2871, 1
  store i32 %2873, ptr %12, align 4
  br label %2903

2874:                                             ; preds = %2415, %2413
  %2875 = landingpad { ptr, i32 }
          cleanup
  %2876 = extractvalue { ptr, i32 } %2875, 0
  store ptr %2876, ptr %11, align 8
  %2877 = extractvalue { ptr, i32 } %2875, 1
  store i32 %2877, ptr %12, align 4
  br label %2902

2878:                                             ; preds = %2416
  %2879 = landingpad { ptr, i32 }
          cleanup
  %2880 = extractvalue { ptr, i32 } %2879, 0
  store ptr %2880, ptr %11, align 8
  %2881 = extractvalue { ptr, i32 } %2879, 1
  store i32 %2881, ptr %12, align 4
  br label %2901

2882:                                             ; preds = %2420, %2418
  %2883 = landingpad { ptr, i32 }
          cleanup
  %2884 = extractvalue { ptr, i32 } %2883, 0
  store ptr %2884, ptr %11, align 8
  %2885 = extractvalue { ptr, i32 } %2883, 1
  store i32 %2885, ptr %12, align 4
  br label %2900

2886:                                             ; preds = %2421
  %2887 = landingpad { ptr, i32 }
          cleanup
  %2888 = extractvalue { ptr, i32 } %2887, 0
  store ptr %2888, ptr %11, align 8
  %2889 = extractvalue { ptr, i32 } %2887, 1
  store i32 %2889, ptr %12, align 4
  br label %2899

2890:                                             ; preds = %2425, %2423
  %2891 = landingpad { ptr, i32 }
          cleanup
  %2892 = extractvalue { ptr, i32 } %2891, 0
  store ptr %2892, ptr %11, align 8
  %2893 = extractvalue { ptr, i32 } %2891, 1
  store i32 %2893, ptr %12, align 4
  br label %2898

2894:                                             ; preds = %2428, %2426
  %2895 = landingpad { ptr, i32 }
          cleanup
  %2896 = extractvalue { ptr, i32 } %2895, 0
  store ptr %2896, ptr %11, align 8
  %2897 = extractvalue { ptr, i32 } %2895, 1
  store i32 %2897, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %197) #7
  br label %2898

2898:                                             ; preds = %2894, %2890
  call void @llvm.lifetime.end.p0(i64 8, ptr %197) #7
  br label %2899

2899:                                             ; preds = %2898, %2886
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %196) #7
  br label %2900

2900:                                             ; preds = %2899, %2882
  call void @llvm.lifetime.end.p0(i64 8, ptr %196) #7
  br label %2901

2901:                                             ; preds = %2900, %2878
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %195) #7
  br label %2902

2902:                                             ; preds = %2901, %2874
  call void @llvm.lifetime.end.p0(i64 8, ptr %195) #7
  br label %2903

2903:                                             ; preds = %2902, %2870
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %194) #7
  br label %2904

2904:                                             ; preds = %2903, %2866
  call void @llvm.lifetime.end.p0(i64 8, ptr %194) #7
  br label %2905

2905:                                             ; preds = %2904, %2862
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %193) #7
  br label %2906

2906:                                             ; preds = %2905, %2858
  call void @llvm.lifetime.end.p0(i64 8, ptr %193) #7
  br label %2907

2907:                                             ; preds = %2906, %2854
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %192) #7
  br label %2908

2908:                                             ; preds = %2907, %2850
  call void @llvm.lifetime.end.p0(i64 8, ptr %192) #7
  br label %2909

2909:                                             ; preds = %2908, %2846
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %191) #7
  br label %2910

2910:                                             ; preds = %2909, %2842
  call void @llvm.lifetime.end.p0(i64 8, ptr %191) #7
  br label %2911

2911:                                             ; preds = %2910, %2838
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %190) #7
  br label %2912

2912:                                             ; preds = %2911, %2834
  call void @llvm.lifetime.end.p0(i64 8, ptr %190) #7
  br label %2913

2913:                                             ; preds = %2912, %2830
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %189) #7
  br label %2914

2914:                                             ; preds = %2913, %2826
  call void @llvm.lifetime.end.p0(i64 8, ptr %189) #7
  br label %2915

2915:                                             ; preds = %2914, %2822
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %188) #7
  br label %2916

2916:                                             ; preds = %2915, %2818
  call void @llvm.lifetime.end.p0(i64 8, ptr %188) #7
  br label %2917

2917:                                             ; preds = %2916, %2814
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %187) #7
  br label %2918

2918:                                             ; preds = %2917, %2810
  call void @llvm.lifetime.end.p0(i64 8, ptr %187) #7
  br label %2919

2919:                                             ; preds = %2918, %2806
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %186) #7
  br label %2920

2920:                                             ; preds = %2919, %2802
  call void @llvm.lifetime.end.p0(i64 8, ptr %186) #7
  br label %3550

2921:                                             ; preds = %2434
  %2922 = landingpad { ptr, i32 }
          cleanup
  %2923 = extractvalue { ptr, i32 } %2922, 0
  store ptr %2923, ptr %11, align 8
  %2924 = extractvalue { ptr, i32 } %2922, 1
  store i32 %2924, ptr %12, align 4
  br label %3136

2925:                                             ; preds = %2441
  %2926 = load double, ptr %198, align 8, !tbaa !9
  %2927 = load double, ptr %199, align 8, !tbaa !9
  %2928 = load double, ptr %171, align 8, !tbaa !9
  %2929 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 7
  %2930 = load double, ptr %2929, align 8, !tbaa !50
  %2931 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 8
  %2932 = load double, ptr %2931, align 8, !tbaa !52
  %2933 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %138)
          to label %2934 unwind label %3011

2934:                                             ; preds = %2925
  %2935 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %140)
          to label %2936 unwind label %3011

2936:                                             ; preds = %2934
  %2937 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %142)
          to label %2938 unwind label %3011

2938:                                             ; preds = %2936
  %2939 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %144)
          to label %2940 unwind label %3011

2940:                                             ; preds = %2938
  call void @llvm.lifetime.start.p0(i64 8, ptr %200) #7
  %2941 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %38)
          to label %2942 unwind label %3015

2942:                                             ; preds = %2940
  invoke void @_ZNK10SimTKIpopt14IteratesVector3y_cEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %200, ptr noundef nonnull align 8 dereferenceable(280) %2941)
          to label %2943 unwind label %3015

2943:                                             ; preds = %2942
  %2944 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %200)
          to label %2945 unwind label %3019

2945:                                             ; preds = %2943
  call void @llvm.lifetime.start.p0(i64 8, ptr %201) #7
  %2946 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %38)
          to label %2947 unwind label %3023

2947:                                             ; preds = %2945
  invoke void @_ZNK10SimTKIpopt14IteratesVector3y_dEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %201, ptr noundef nonnull align 8 dereferenceable(280) %2946)
          to label %2948 unwind label %3023

2948:                                             ; preds = %2947
  %2949 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %201)
          to label %2950 unwind label %3027

2950:                                             ; preds = %2948
  call void @llvm.lifetime.start.p0(i64 8, ptr %202) #7
  %2951 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %38)
          to label %2952 unwind label %3031

2952:                                             ; preds = %2950
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_LEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %202, ptr noundef nonnull align 8 dereferenceable(280) %2951)
          to label %2953 unwind label %3031

2953:                                             ; preds = %2952
  %2954 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %202)
          to label %2955 unwind label %3035

2955:                                             ; preds = %2953
  call void @llvm.lifetime.start.p0(i64 8, ptr %203) #7
  %2956 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %38)
          to label %2957 unwind label %3039

2957:                                             ; preds = %2955
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %203, ptr noundef nonnull align 8 dereferenceable(280) %2956)
          to label %2958 unwind label %3039

2958:                                             ; preds = %2957
  %2959 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %203)
          to label %2960 unwind label %3043

2960:                                             ; preds = %2958
  call void @llvm.lifetime.start.p0(i64 8, ptr %204) #7
  %2961 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %38)
          to label %2962 unwind label %3047

2962:                                             ; preds = %2960
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_LEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %204, ptr noundef nonnull align 8 dereferenceable(280) %2961)
          to label %2963 unwind label %3047

2963:                                             ; preds = %2962
  %2964 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %204)
          to label %2965 unwind label %3051

2965:                                             ; preds = %2963
  call void @llvm.lifetime.start.p0(i64 8, ptr %205) #7
  %2966 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %38)
          to label %2967 unwind label %3055

2967:                                             ; preds = %2965
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %205, ptr noundef nonnull align 8 dereferenceable(280) %2966)
          to label %2968 unwind label %3055

2968:                                             ; preds = %2967
  %2969 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %205)
          to label %2970 unwind label %3059

2970:                                             ; preds = %2968
  %2971 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %154)
          to label %2972 unwind label %3059

2972:                                             ; preds = %2970
  %2973 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %156)
          to label %2974 unwind label %3059

2974:                                             ; preds = %2972
  %2975 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %158)
          to label %2976 unwind label %3059

2976:                                             ; preds = %2974
  %2977 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %160)
          to label %2978 unwind label %3059

2978:                                             ; preds = %2976
  call void @llvm.lifetime.start.p0(i64 8, ptr %206) #7
  %2979 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %56)
          to label %2980 unwind label %3063

2980:                                             ; preds = %2978
  invoke void @_ZNK10SimTKIpopt14IteratesVector3y_cEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %206, ptr noundef nonnull align 8 dereferenceable(280) %2979)
          to label %2981 unwind label %3063

2981:                                             ; preds = %2980
  %2982 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %206)
          to label %2983 unwind label %3067

2983:                                             ; preds = %2981
  call void @llvm.lifetime.start.p0(i64 8, ptr %207) #7
  %2984 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %56)
          to label %2985 unwind label %3071

2985:                                             ; preds = %2983
  invoke void @_ZNK10SimTKIpopt14IteratesVector3y_dEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %207, ptr noundef nonnull align 8 dereferenceable(280) %2984)
          to label %2986 unwind label %3071

2986:                                             ; preds = %2985
  %2987 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %207)
          to label %2988 unwind label %3075

2988:                                             ; preds = %2986
  call void @llvm.lifetime.start.p0(i64 8, ptr %208) #7
  %2989 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %56)
          to label %2990 unwind label %3079

2990:                                             ; preds = %2988
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_LEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %208, ptr noundef nonnull align 8 dereferenceable(280) %2989)
          to label %2991 unwind label %3079

2991:                                             ; preds = %2990
  %2992 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %208)
          to label %2993 unwind label %3083

2993:                                             ; preds = %2991
  call void @llvm.lifetime.start.p0(i64 8, ptr %209) #7
  %2994 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %56)
          to label %2995 unwind label %3087

2995:                                             ; preds = %2993
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %209, ptr noundef nonnull align 8 dereferenceable(280) %2994)
          to label %2996 unwind label %3087

2996:                                             ; preds = %2995
  %2997 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %209)
          to label %2998 unwind label %3091

2998:                                             ; preds = %2996
  call void @llvm.lifetime.start.p0(i64 8, ptr %210) #7
  %2999 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %56)
          to label %3000 unwind label %3095

3000:                                             ; preds = %2998
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_LEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %210, ptr noundef nonnull align 8 dereferenceable(280) %2999)
          to label %3001 unwind label %3095

3001:                                             ; preds = %3000
  %3002 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %210)
          to label %3003 unwind label %3099

3003:                                             ; preds = %3001
  call void @llvm.lifetime.start.p0(i64 8, ptr %211) #7
  %3004 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %56)
          to label %3005 unwind label %3103

3005:                                             ; preds = %3003
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %211, ptr noundef nonnull align 8 dereferenceable(280) %3004)
          to label %3006 unwind label %3103

3006:                                             ; preds = %3005
  %3007 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %211)
          to label %3008 unwind label %3107

3008:                                             ; preds = %3006
  %3009 = invoke noundef double @_ZN10SimTKIpopt23QualityFunctionMuOracle20PerformGoldenSectionEddddddRKNS_6VectorES3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_(ptr noundef nonnull align 8 dereferenceable(432) %236, double noundef %2926, double noundef -1.000000e+02, double noundef %2927, double noundef %2928, double noundef %2930, double noundef %2932, ptr noundef nonnull align 8 dereferenceable(205) %2933, ptr noundef nonnull align 8 dereferenceable(205) %2935, ptr noundef nonnull align 8 dereferenceable(205) %2937, ptr noundef nonnull align 8 dereferenceable(205) %2939, ptr noundef nonnull align 8 dereferenceable(205) %2944, ptr noundef nonnull align 8 dereferenceable(205) %2949, ptr noundef nonnull align 8 dereferenceable(205) %2954, ptr noundef nonnull align 8 dereferenceable(205) %2959, ptr noundef nonnull align 8 dereferenceable(205) %2964, ptr noundef nonnull align 8 dereferenceable(205) %2969, ptr noundef nonnull align 8 dereferenceable(205) %2971, ptr noundef nonnull align 8 dereferenceable(205) %2973, ptr noundef nonnull align 8 dereferenceable(205) %2975, ptr noundef nonnull align 8 dereferenceable(205) %2977, ptr noundef nonnull align 8 dereferenceable(205) %2982, ptr noundef nonnull align 8 dereferenceable(205) %2987, ptr noundef nonnull align 8 dereferenceable(205) %2992, ptr noundef nonnull align 8 dereferenceable(205) %2997, ptr noundef nonnull align 8 dereferenceable(205) %3002, ptr noundef nonnull align 8 dereferenceable(205) %3007)
          to label %3010 unwind label %3107

3010:                                             ; preds = %3008
  store double %3009, ptr %170, align 8, !tbaa !9
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %211) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %211) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %210) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %210) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %209) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %209) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %208) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %208) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %207) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %207) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %206) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %206) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %205) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %205) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %204) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %204) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %203) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %203) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %202) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %202) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %201) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %201) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %200) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %200) #7
  br label %3134

3011:                                             ; preds = %2938, %2936, %2934, %2925
  %3012 = landingpad { ptr, i32 }
          cleanup
  %3013 = extractvalue { ptr, i32 } %3012, 0
  store ptr %3013, ptr %11, align 8
  %3014 = extractvalue { ptr, i32 } %3012, 1
  store i32 %3014, ptr %12, align 4
  br label %3135

3015:                                             ; preds = %2942, %2940
  %3016 = landingpad { ptr, i32 }
          cleanup
  %3017 = extractvalue { ptr, i32 } %3016, 0
  store ptr %3017, ptr %11, align 8
  %3018 = extractvalue { ptr, i32 } %3016, 1
  store i32 %3018, ptr %12, align 4
  br label %3133

3019:                                             ; preds = %2943
  %3020 = landingpad { ptr, i32 }
          cleanup
  %3021 = extractvalue { ptr, i32 } %3020, 0
  store ptr %3021, ptr %11, align 8
  %3022 = extractvalue { ptr, i32 } %3020, 1
  store i32 %3022, ptr %12, align 4
  br label %3132

3023:                                             ; preds = %2947, %2945
  %3024 = landingpad { ptr, i32 }
          cleanup
  %3025 = extractvalue { ptr, i32 } %3024, 0
  store ptr %3025, ptr %11, align 8
  %3026 = extractvalue { ptr, i32 } %3024, 1
  store i32 %3026, ptr %12, align 4
  br label %3131

3027:                                             ; preds = %2948
  %3028 = landingpad { ptr, i32 }
          cleanup
  %3029 = extractvalue { ptr, i32 } %3028, 0
  store ptr %3029, ptr %11, align 8
  %3030 = extractvalue { ptr, i32 } %3028, 1
  store i32 %3030, ptr %12, align 4
  br label %3130

3031:                                             ; preds = %2952, %2950
  %3032 = landingpad { ptr, i32 }
          cleanup
  %3033 = extractvalue { ptr, i32 } %3032, 0
  store ptr %3033, ptr %11, align 8
  %3034 = extractvalue { ptr, i32 } %3032, 1
  store i32 %3034, ptr %12, align 4
  br label %3129

3035:                                             ; preds = %2953
  %3036 = landingpad { ptr, i32 }
          cleanup
  %3037 = extractvalue { ptr, i32 } %3036, 0
  store ptr %3037, ptr %11, align 8
  %3038 = extractvalue { ptr, i32 } %3036, 1
  store i32 %3038, ptr %12, align 4
  br label %3128

3039:                                             ; preds = %2957, %2955
  %3040 = landingpad { ptr, i32 }
          cleanup
  %3041 = extractvalue { ptr, i32 } %3040, 0
  store ptr %3041, ptr %11, align 8
  %3042 = extractvalue { ptr, i32 } %3040, 1
  store i32 %3042, ptr %12, align 4
  br label %3127

3043:                                             ; preds = %2958
  %3044 = landingpad { ptr, i32 }
          cleanup
  %3045 = extractvalue { ptr, i32 } %3044, 0
  store ptr %3045, ptr %11, align 8
  %3046 = extractvalue { ptr, i32 } %3044, 1
  store i32 %3046, ptr %12, align 4
  br label %3126

3047:                                             ; preds = %2962, %2960
  %3048 = landingpad { ptr, i32 }
          cleanup
  %3049 = extractvalue { ptr, i32 } %3048, 0
  store ptr %3049, ptr %11, align 8
  %3050 = extractvalue { ptr, i32 } %3048, 1
  store i32 %3050, ptr %12, align 4
  br label %3125

3051:                                             ; preds = %2963
  %3052 = landingpad { ptr, i32 }
          cleanup
  %3053 = extractvalue { ptr, i32 } %3052, 0
  store ptr %3053, ptr %11, align 8
  %3054 = extractvalue { ptr, i32 } %3052, 1
  store i32 %3054, ptr %12, align 4
  br label %3124

3055:                                             ; preds = %2967, %2965
  %3056 = landingpad { ptr, i32 }
          cleanup
  %3057 = extractvalue { ptr, i32 } %3056, 0
  store ptr %3057, ptr %11, align 8
  %3058 = extractvalue { ptr, i32 } %3056, 1
  store i32 %3058, ptr %12, align 4
  br label %3123

3059:                                             ; preds = %2976, %2974, %2972, %2970, %2968
  %3060 = landingpad { ptr, i32 }
          cleanup
  %3061 = extractvalue { ptr, i32 } %3060, 0
  store ptr %3061, ptr %11, align 8
  %3062 = extractvalue { ptr, i32 } %3060, 1
  store i32 %3062, ptr %12, align 4
  br label %3122

3063:                                             ; preds = %2980, %2978
  %3064 = landingpad { ptr, i32 }
          cleanup
  %3065 = extractvalue { ptr, i32 } %3064, 0
  store ptr %3065, ptr %11, align 8
  %3066 = extractvalue { ptr, i32 } %3064, 1
  store i32 %3066, ptr %12, align 4
  br label %3121

3067:                                             ; preds = %2981
  %3068 = landingpad { ptr, i32 }
          cleanup
  %3069 = extractvalue { ptr, i32 } %3068, 0
  store ptr %3069, ptr %11, align 8
  %3070 = extractvalue { ptr, i32 } %3068, 1
  store i32 %3070, ptr %12, align 4
  br label %3120

3071:                                             ; preds = %2985, %2983
  %3072 = landingpad { ptr, i32 }
          cleanup
  %3073 = extractvalue { ptr, i32 } %3072, 0
  store ptr %3073, ptr %11, align 8
  %3074 = extractvalue { ptr, i32 } %3072, 1
  store i32 %3074, ptr %12, align 4
  br label %3119

3075:                                             ; preds = %2986
  %3076 = landingpad { ptr, i32 }
          cleanup
  %3077 = extractvalue { ptr, i32 } %3076, 0
  store ptr %3077, ptr %11, align 8
  %3078 = extractvalue { ptr, i32 } %3076, 1
  store i32 %3078, ptr %12, align 4
  br label %3118

3079:                                             ; preds = %2990, %2988
  %3080 = landingpad { ptr, i32 }
          cleanup
  %3081 = extractvalue { ptr, i32 } %3080, 0
  store ptr %3081, ptr %11, align 8
  %3082 = extractvalue { ptr, i32 } %3080, 1
  store i32 %3082, ptr %12, align 4
  br label %3117

3083:                                             ; preds = %2991
  %3084 = landingpad { ptr, i32 }
          cleanup
  %3085 = extractvalue { ptr, i32 } %3084, 0
  store ptr %3085, ptr %11, align 8
  %3086 = extractvalue { ptr, i32 } %3084, 1
  store i32 %3086, ptr %12, align 4
  br label %3116

3087:                                             ; preds = %2995, %2993
  %3088 = landingpad { ptr, i32 }
          cleanup
  %3089 = extractvalue { ptr, i32 } %3088, 0
  store ptr %3089, ptr %11, align 8
  %3090 = extractvalue { ptr, i32 } %3088, 1
  store i32 %3090, ptr %12, align 4
  br label %3115

3091:                                             ; preds = %2996
  %3092 = landingpad { ptr, i32 }
          cleanup
  %3093 = extractvalue { ptr, i32 } %3092, 0
  store ptr %3093, ptr %11, align 8
  %3094 = extractvalue { ptr, i32 } %3092, 1
  store i32 %3094, ptr %12, align 4
  br label %3114

3095:                                             ; preds = %3000, %2998
  %3096 = landingpad { ptr, i32 }
          cleanup
  %3097 = extractvalue { ptr, i32 } %3096, 0
  store ptr %3097, ptr %11, align 8
  %3098 = extractvalue { ptr, i32 } %3096, 1
  store i32 %3098, ptr %12, align 4
  br label %3113

3099:                                             ; preds = %3001
  %3100 = landingpad { ptr, i32 }
          cleanup
  %3101 = extractvalue { ptr, i32 } %3100, 0
  store ptr %3101, ptr %11, align 8
  %3102 = extractvalue { ptr, i32 } %3100, 1
  store i32 %3102, ptr %12, align 4
  br label %3112

3103:                                             ; preds = %3005, %3003
  %3104 = landingpad { ptr, i32 }
          cleanup
  %3105 = extractvalue { ptr, i32 } %3104, 0
  store ptr %3105, ptr %11, align 8
  %3106 = extractvalue { ptr, i32 } %3104, 1
  store i32 %3106, ptr %12, align 4
  br label %3111

3107:                                             ; preds = %3008, %3006
  %3108 = landingpad { ptr, i32 }
          cleanup
  %3109 = extractvalue { ptr, i32 } %3108, 0
  store ptr %3109, ptr %11, align 8
  %3110 = extractvalue { ptr, i32 } %3108, 1
  store i32 %3110, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %211) #7
  br label %3111

3111:                                             ; preds = %3107, %3103
  call void @llvm.lifetime.end.p0(i64 8, ptr %211) #7
  br label %3112

3112:                                             ; preds = %3111, %3099
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %210) #7
  br label %3113

3113:                                             ; preds = %3112, %3095
  call void @llvm.lifetime.end.p0(i64 8, ptr %210) #7
  br label %3114

3114:                                             ; preds = %3113, %3091
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %209) #7
  br label %3115

3115:                                             ; preds = %3114, %3087
  call void @llvm.lifetime.end.p0(i64 8, ptr %209) #7
  br label %3116

3116:                                             ; preds = %3115, %3083
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %208) #7
  br label %3117

3117:                                             ; preds = %3116, %3079
  call void @llvm.lifetime.end.p0(i64 8, ptr %208) #7
  br label %3118

3118:                                             ; preds = %3117, %3075
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %207) #7
  br label %3119

3119:                                             ; preds = %3118, %3071
  call void @llvm.lifetime.end.p0(i64 8, ptr %207) #7
  br label %3120

3120:                                             ; preds = %3119, %3067
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %206) #7
  br label %3121

3121:                                             ; preds = %3120, %3063
  call void @llvm.lifetime.end.p0(i64 8, ptr %206) #7
  br label %3122

3122:                                             ; preds = %3121, %3059
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %205) #7
  br label %3123

3123:                                             ; preds = %3122, %3055
  call void @llvm.lifetime.end.p0(i64 8, ptr %205) #7
  br label %3124

3124:                                             ; preds = %3123, %3051
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %204) #7
  br label %3125

3125:                                             ; preds = %3124, %3047
  call void @llvm.lifetime.end.p0(i64 8, ptr %204) #7
  br label %3126

3126:                                             ; preds = %3125, %3043
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %203) #7
  br label %3127

3127:                                             ; preds = %3126, %3039
  call void @llvm.lifetime.end.p0(i64 8, ptr %203) #7
  br label %3128

3128:                                             ; preds = %3127, %3035
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %202) #7
  br label %3129

3129:                                             ; preds = %3128, %3031
  call void @llvm.lifetime.end.p0(i64 8, ptr %202) #7
  br label %3130

3130:                                             ; preds = %3129, %3027
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %201) #7
  br label %3131

3131:                                             ; preds = %3130, %3023
  call void @llvm.lifetime.end.p0(i64 8, ptr %201) #7
  br label %3132

3132:                                             ; preds = %3131, %3019
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %200) #7
  br label %3133

3133:                                             ; preds = %3132, %3015
  call void @llvm.lifetime.end.p0(i64 8, ptr %200) #7
  br label %3135

3134:                                             ; preds = %3010, %2445
  call void @llvm.lifetime.end.p0(i64 8, ptr %199) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %198) #7
  br label %3375

3135:                                             ; preds = %3133, %3011
  call void @llvm.lifetime.end.p0(i64 8, ptr %199) #7
  br label %3136

3136:                                             ; preds = %3135, %2921
  call void @llvm.lifetime.end.p0(i64 8, ptr %198) #7
  br label %3550

3137:                                             ; preds = %2430
  call void @llvm.lifetime.start.p0(i64 8, ptr %212) #7
  %3138 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 3
  %3139 = load double, ptr %3138, align 8, !tbaa !53
  %3140 = load double, ptr %7, align 8, !tbaa !9
  %3141 = load double, ptr %43, align 8, !tbaa !9
  %3142 = fdiv double %3140, %3141
  %3143 = invoke noundef double @_ZN10SimTKIpopt3MaxEdd(double noundef %3139, double noundef %3142)
          to label %3144 unwind label %3159

3144:                                             ; preds = %3137
  store double %3143, ptr %212, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %213) #7
  %3145 = load double, ptr %212, align 8, !tbaa !9
  %3146 = load double, ptr %184, align 8, !tbaa !9
  %3147 = invoke noundef double @_ZN10SimTKIpopt3MaxEdd(double noundef %3145, double noundef %3146)
          to label %3148 unwind label %3163

3148:                                             ; preds = %3144
  %3149 = load double, ptr %8, align 8, !tbaa !9
  %3150 = load double, ptr %43, align 8, !tbaa !9
  %3151 = fdiv double %3149, %3150
  %3152 = invoke noundef double @_ZN10SimTKIpopt3MinEdd(double noundef %3147, double noundef %3151)
          to label %3153 unwind label %3163

3153:                                             ; preds = %3148
  store double %3152, ptr %213, align 8, !tbaa !9
  %3154 = load double, ptr %212, align 8, !tbaa !9
  %3155 = load double, ptr %213, align 8, !tbaa !9
  %3156 = fcmp oge double %3154, %3155
  br i1 %3156, label %3157, label %3167

3157:                                             ; preds = %3153
  %3158 = load double, ptr %212, align 8, !tbaa !9
  store double %3158, ptr %170, align 8, !tbaa !9
  br label %3372

3159:                                             ; preds = %3137
  %3160 = landingpad { ptr, i32 }
          cleanup
  %3161 = extractvalue { ptr, i32 } %3160, 0
  store ptr %3161, ptr %11, align 8
  %3162 = extractvalue { ptr, i32 } %3160, 1
  store i32 %3162, ptr %12, align 4
  br label %3374

3163:                                             ; preds = %3180, %3178, %3176, %3167, %3148, %3144
  %3164 = landingpad { ptr, i32 }
          cleanup
  %3165 = extractvalue { ptr, i32 } %3164, 0
  store ptr %3165, ptr %11, align 8
  %3166 = extractvalue { ptr, i32 } %3164, 1
  store i32 %3166, ptr %12, align 4
  br label %3373

3167:                                             ; preds = %3153
  %3168 = load double, ptr %213, align 8, !tbaa !9
  %3169 = load double, ptr %185, align 8, !tbaa !9
  %3170 = load double, ptr %212, align 8, !tbaa !9
  %3171 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 7
  %3172 = load double, ptr %3171, align 8, !tbaa !50
  %3173 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 8
  %3174 = load double, ptr %3173, align 8, !tbaa !52
  %3175 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %138)
          to label %3176 unwind label %3163

3176:                                             ; preds = %3167
  %3177 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %140)
          to label %3178 unwind label %3163

3178:                                             ; preds = %3176
  %3179 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %142)
          to label %3180 unwind label %3163

3180:                                             ; preds = %3178
  %3181 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %144)
          to label %3182 unwind label %3163

3182:                                             ; preds = %3180
  call void @llvm.lifetime.start.p0(i64 8, ptr %214) #7
  %3183 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %38)
          to label %3184 unwind label %3253

3184:                                             ; preds = %3182
  invoke void @_ZNK10SimTKIpopt14IteratesVector3y_cEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %214, ptr noundef nonnull align 8 dereferenceable(280) %3183)
          to label %3185 unwind label %3253

3185:                                             ; preds = %3184
  %3186 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %214)
          to label %3187 unwind label %3257

3187:                                             ; preds = %3185
  call void @llvm.lifetime.start.p0(i64 8, ptr %215) #7
  %3188 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %38)
          to label %3189 unwind label %3261

3189:                                             ; preds = %3187
  invoke void @_ZNK10SimTKIpopt14IteratesVector3y_dEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %215, ptr noundef nonnull align 8 dereferenceable(280) %3188)
          to label %3190 unwind label %3261

3190:                                             ; preds = %3189
  %3191 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %215)
          to label %3192 unwind label %3265

3192:                                             ; preds = %3190
  call void @llvm.lifetime.start.p0(i64 8, ptr %216) #7
  %3193 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %38)
          to label %3194 unwind label %3269

3194:                                             ; preds = %3192
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_LEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %216, ptr noundef nonnull align 8 dereferenceable(280) %3193)
          to label %3195 unwind label %3269

3195:                                             ; preds = %3194
  %3196 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %216)
          to label %3197 unwind label %3273

3197:                                             ; preds = %3195
  call void @llvm.lifetime.start.p0(i64 8, ptr %217) #7
  %3198 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %38)
          to label %3199 unwind label %3277

3199:                                             ; preds = %3197
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %217, ptr noundef nonnull align 8 dereferenceable(280) %3198)
          to label %3200 unwind label %3277

3200:                                             ; preds = %3199
  %3201 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %217)
          to label %3202 unwind label %3281

3202:                                             ; preds = %3200
  call void @llvm.lifetime.start.p0(i64 8, ptr %218) #7
  %3203 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %38)
          to label %3204 unwind label %3285

3204:                                             ; preds = %3202
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_LEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %218, ptr noundef nonnull align 8 dereferenceable(280) %3203)
          to label %3205 unwind label %3285

3205:                                             ; preds = %3204
  %3206 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %218)
          to label %3207 unwind label %3289

3207:                                             ; preds = %3205
  call void @llvm.lifetime.start.p0(i64 8, ptr %219) #7
  %3208 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %38)
          to label %3209 unwind label %3293

3209:                                             ; preds = %3207
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %219, ptr noundef nonnull align 8 dereferenceable(280) %3208)
          to label %3210 unwind label %3293

3210:                                             ; preds = %3209
  %3211 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %219)
          to label %3212 unwind label %3297

3212:                                             ; preds = %3210
  %3213 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %154)
          to label %3214 unwind label %3297

3214:                                             ; preds = %3212
  %3215 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %156)
          to label %3216 unwind label %3297

3216:                                             ; preds = %3214
  %3217 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %158)
          to label %3218 unwind label %3297

3218:                                             ; preds = %3216
  %3219 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %160)
          to label %3220 unwind label %3297

3220:                                             ; preds = %3218
  call void @llvm.lifetime.start.p0(i64 8, ptr %220) #7
  %3221 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %56)
          to label %3222 unwind label %3301

3222:                                             ; preds = %3220
  invoke void @_ZNK10SimTKIpopt14IteratesVector3y_cEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %220, ptr noundef nonnull align 8 dereferenceable(280) %3221)
          to label %3223 unwind label %3301

3223:                                             ; preds = %3222
  %3224 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %220)
          to label %3225 unwind label %3305

3225:                                             ; preds = %3223
  call void @llvm.lifetime.start.p0(i64 8, ptr %221) #7
  %3226 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %56)
          to label %3227 unwind label %3309

3227:                                             ; preds = %3225
  invoke void @_ZNK10SimTKIpopt14IteratesVector3y_dEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %221, ptr noundef nonnull align 8 dereferenceable(280) %3226)
          to label %3228 unwind label %3309

3228:                                             ; preds = %3227
  %3229 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %221)
          to label %3230 unwind label %3313

3230:                                             ; preds = %3228
  call void @llvm.lifetime.start.p0(i64 8, ptr %222) #7
  %3231 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %56)
          to label %3232 unwind label %3317

3232:                                             ; preds = %3230
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_LEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %222, ptr noundef nonnull align 8 dereferenceable(280) %3231)
          to label %3233 unwind label %3317

3233:                                             ; preds = %3232
  %3234 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %222)
          to label %3235 unwind label %3321

3235:                                             ; preds = %3233
  call void @llvm.lifetime.start.p0(i64 8, ptr %223) #7
  %3236 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %56)
          to label %3237 unwind label %3325

3237:                                             ; preds = %3235
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %223, ptr noundef nonnull align 8 dereferenceable(280) %3236)
          to label %3238 unwind label %3325

3238:                                             ; preds = %3237
  %3239 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %223)
          to label %3240 unwind label %3329

3240:                                             ; preds = %3238
  call void @llvm.lifetime.start.p0(i64 8, ptr %224) #7
  %3241 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %56)
          to label %3242 unwind label %3333

3242:                                             ; preds = %3240
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_LEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %224, ptr noundef nonnull align 8 dereferenceable(280) %3241)
          to label %3243 unwind label %3333

3243:                                             ; preds = %3242
  %3244 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %224)
          to label %3245 unwind label %3337

3245:                                             ; preds = %3243
  call void @llvm.lifetime.start.p0(i64 8, ptr %225) #7
  %3246 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %56)
          to label %3247 unwind label %3341

3247:                                             ; preds = %3245
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %225, ptr noundef nonnull align 8 dereferenceable(280) %3246)
          to label %3248 unwind label %3341

3248:                                             ; preds = %3247
  %3249 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %225)
          to label %3250 unwind label %3345

3250:                                             ; preds = %3248
  %3251 = invoke noundef double @_ZN10SimTKIpopt23QualityFunctionMuOracle20PerformGoldenSectionEddddddRKNS_6VectorES3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_(ptr noundef nonnull align 8 dereferenceable(432) %236, double noundef %3168, double noundef %3169, double noundef %3170, double noundef -1.000000e+02, double noundef %3172, double noundef %3174, ptr noundef nonnull align 8 dereferenceable(205) %3175, ptr noundef nonnull align 8 dereferenceable(205) %3177, ptr noundef nonnull align 8 dereferenceable(205) %3179, ptr noundef nonnull align 8 dereferenceable(205) %3181, ptr noundef nonnull align 8 dereferenceable(205) %3186, ptr noundef nonnull align 8 dereferenceable(205) %3191, ptr noundef nonnull align 8 dereferenceable(205) %3196, ptr noundef nonnull align 8 dereferenceable(205) %3201, ptr noundef nonnull align 8 dereferenceable(205) %3206, ptr noundef nonnull align 8 dereferenceable(205) %3211, ptr noundef nonnull align 8 dereferenceable(205) %3213, ptr noundef nonnull align 8 dereferenceable(205) %3215, ptr noundef nonnull align 8 dereferenceable(205) %3217, ptr noundef nonnull align 8 dereferenceable(205) %3219, ptr noundef nonnull align 8 dereferenceable(205) %3224, ptr noundef nonnull align 8 dereferenceable(205) %3229, ptr noundef nonnull align 8 dereferenceable(205) %3234, ptr noundef nonnull align 8 dereferenceable(205) %3239, ptr noundef nonnull align 8 dereferenceable(205) %3244, ptr noundef nonnull align 8 dereferenceable(205) %3249)
          to label %3252 unwind label %3345

3252:                                             ; preds = %3250
  store double %3251, ptr %170, align 8, !tbaa !9
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %225) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %225) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %224) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %224) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %223) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %223) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %222) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %222) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %221) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %221) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %220) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %220) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %219) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %219) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %218) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %218) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %217) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %217) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %216) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %216) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %215) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %215) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %214) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %214) #7
  br label %3372

3253:                                             ; preds = %3184, %3182
  %3254 = landingpad { ptr, i32 }
          cleanup
  %3255 = extractvalue { ptr, i32 } %3254, 0
  store ptr %3255, ptr %11, align 8
  %3256 = extractvalue { ptr, i32 } %3254, 1
  store i32 %3256, ptr %12, align 4
  br label %3371

3257:                                             ; preds = %3185
  %3258 = landingpad { ptr, i32 }
          cleanup
  %3259 = extractvalue { ptr, i32 } %3258, 0
  store ptr %3259, ptr %11, align 8
  %3260 = extractvalue { ptr, i32 } %3258, 1
  store i32 %3260, ptr %12, align 4
  br label %3370

3261:                                             ; preds = %3189, %3187
  %3262 = landingpad { ptr, i32 }
          cleanup
  %3263 = extractvalue { ptr, i32 } %3262, 0
  store ptr %3263, ptr %11, align 8
  %3264 = extractvalue { ptr, i32 } %3262, 1
  store i32 %3264, ptr %12, align 4
  br label %3369

3265:                                             ; preds = %3190
  %3266 = landingpad { ptr, i32 }
          cleanup
  %3267 = extractvalue { ptr, i32 } %3266, 0
  store ptr %3267, ptr %11, align 8
  %3268 = extractvalue { ptr, i32 } %3266, 1
  store i32 %3268, ptr %12, align 4
  br label %3368

3269:                                             ; preds = %3194, %3192
  %3270 = landingpad { ptr, i32 }
          cleanup
  %3271 = extractvalue { ptr, i32 } %3270, 0
  store ptr %3271, ptr %11, align 8
  %3272 = extractvalue { ptr, i32 } %3270, 1
  store i32 %3272, ptr %12, align 4
  br label %3367

3273:                                             ; preds = %3195
  %3274 = landingpad { ptr, i32 }
          cleanup
  %3275 = extractvalue { ptr, i32 } %3274, 0
  store ptr %3275, ptr %11, align 8
  %3276 = extractvalue { ptr, i32 } %3274, 1
  store i32 %3276, ptr %12, align 4
  br label %3366

3277:                                             ; preds = %3199, %3197
  %3278 = landingpad { ptr, i32 }
          cleanup
  %3279 = extractvalue { ptr, i32 } %3278, 0
  store ptr %3279, ptr %11, align 8
  %3280 = extractvalue { ptr, i32 } %3278, 1
  store i32 %3280, ptr %12, align 4
  br label %3365

3281:                                             ; preds = %3200
  %3282 = landingpad { ptr, i32 }
          cleanup
  %3283 = extractvalue { ptr, i32 } %3282, 0
  store ptr %3283, ptr %11, align 8
  %3284 = extractvalue { ptr, i32 } %3282, 1
  store i32 %3284, ptr %12, align 4
  br label %3364

3285:                                             ; preds = %3204, %3202
  %3286 = landingpad { ptr, i32 }
          cleanup
  %3287 = extractvalue { ptr, i32 } %3286, 0
  store ptr %3287, ptr %11, align 8
  %3288 = extractvalue { ptr, i32 } %3286, 1
  store i32 %3288, ptr %12, align 4
  br label %3363

3289:                                             ; preds = %3205
  %3290 = landingpad { ptr, i32 }
          cleanup
  %3291 = extractvalue { ptr, i32 } %3290, 0
  store ptr %3291, ptr %11, align 8
  %3292 = extractvalue { ptr, i32 } %3290, 1
  store i32 %3292, ptr %12, align 4
  br label %3362

3293:                                             ; preds = %3209, %3207
  %3294 = landingpad { ptr, i32 }
          cleanup
  %3295 = extractvalue { ptr, i32 } %3294, 0
  store ptr %3295, ptr %11, align 8
  %3296 = extractvalue { ptr, i32 } %3294, 1
  store i32 %3296, ptr %12, align 4
  br label %3361

3297:                                             ; preds = %3218, %3216, %3214, %3212, %3210
  %3298 = landingpad { ptr, i32 }
          cleanup
  %3299 = extractvalue { ptr, i32 } %3298, 0
  store ptr %3299, ptr %11, align 8
  %3300 = extractvalue { ptr, i32 } %3298, 1
  store i32 %3300, ptr %12, align 4
  br label %3360

3301:                                             ; preds = %3222, %3220
  %3302 = landingpad { ptr, i32 }
          cleanup
  %3303 = extractvalue { ptr, i32 } %3302, 0
  store ptr %3303, ptr %11, align 8
  %3304 = extractvalue { ptr, i32 } %3302, 1
  store i32 %3304, ptr %12, align 4
  br label %3359

3305:                                             ; preds = %3223
  %3306 = landingpad { ptr, i32 }
          cleanup
  %3307 = extractvalue { ptr, i32 } %3306, 0
  store ptr %3307, ptr %11, align 8
  %3308 = extractvalue { ptr, i32 } %3306, 1
  store i32 %3308, ptr %12, align 4
  br label %3358

3309:                                             ; preds = %3227, %3225
  %3310 = landingpad { ptr, i32 }
          cleanup
  %3311 = extractvalue { ptr, i32 } %3310, 0
  store ptr %3311, ptr %11, align 8
  %3312 = extractvalue { ptr, i32 } %3310, 1
  store i32 %3312, ptr %12, align 4
  br label %3357

3313:                                             ; preds = %3228
  %3314 = landingpad { ptr, i32 }
          cleanup
  %3315 = extractvalue { ptr, i32 } %3314, 0
  store ptr %3315, ptr %11, align 8
  %3316 = extractvalue { ptr, i32 } %3314, 1
  store i32 %3316, ptr %12, align 4
  br label %3356

3317:                                             ; preds = %3232, %3230
  %3318 = landingpad { ptr, i32 }
          cleanup
  %3319 = extractvalue { ptr, i32 } %3318, 0
  store ptr %3319, ptr %11, align 8
  %3320 = extractvalue { ptr, i32 } %3318, 1
  store i32 %3320, ptr %12, align 4
  br label %3355

3321:                                             ; preds = %3233
  %3322 = landingpad { ptr, i32 }
          cleanup
  %3323 = extractvalue { ptr, i32 } %3322, 0
  store ptr %3323, ptr %11, align 8
  %3324 = extractvalue { ptr, i32 } %3322, 1
  store i32 %3324, ptr %12, align 4
  br label %3354

3325:                                             ; preds = %3237, %3235
  %3326 = landingpad { ptr, i32 }
          cleanup
  %3327 = extractvalue { ptr, i32 } %3326, 0
  store ptr %3327, ptr %11, align 8
  %3328 = extractvalue { ptr, i32 } %3326, 1
  store i32 %3328, ptr %12, align 4
  br label %3353

3329:                                             ; preds = %3238
  %3330 = landingpad { ptr, i32 }
          cleanup
  %3331 = extractvalue { ptr, i32 } %3330, 0
  store ptr %3331, ptr %11, align 8
  %3332 = extractvalue { ptr, i32 } %3330, 1
  store i32 %3332, ptr %12, align 4
  br label %3352

3333:                                             ; preds = %3242, %3240
  %3334 = landingpad { ptr, i32 }
          cleanup
  %3335 = extractvalue { ptr, i32 } %3334, 0
  store ptr %3335, ptr %11, align 8
  %3336 = extractvalue { ptr, i32 } %3334, 1
  store i32 %3336, ptr %12, align 4
  br label %3351

3337:                                             ; preds = %3243
  %3338 = landingpad { ptr, i32 }
          cleanup
  %3339 = extractvalue { ptr, i32 } %3338, 0
  store ptr %3339, ptr %11, align 8
  %3340 = extractvalue { ptr, i32 } %3338, 1
  store i32 %3340, ptr %12, align 4
  br label %3350

3341:                                             ; preds = %3247, %3245
  %3342 = landingpad { ptr, i32 }
          cleanup
  %3343 = extractvalue { ptr, i32 } %3342, 0
  store ptr %3343, ptr %11, align 8
  %3344 = extractvalue { ptr, i32 } %3342, 1
  store i32 %3344, ptr %12, align 4
  br label %3349

3345:                                             ; preds = %3250, %3248
  %3346 = landingpad { ptr, i32 }
          cleanup
  %3347 = extractvalue { ptr, i32 } %3346, 0
  store ptr %3347, ptr %11, align 8
  %3348 = extractvalue { ptr, i32 } %3346, 1
  store i32 %3348, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %225) #7
  br label %3349

3349:                                             ; preds = %3345, %3341
  call void @llvm.lifetime.end.p0(i64 8, ptr %225) #7
  br label %3350

3350:                                             ; preds = %3349, %3337
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %224) #7
  br label %3351

3351:                                             ; preds = %3350, %3333
  call void @llvm.lifetime.end.p0(i64 8, ptr %224) #7
  br label %3352

3352:                                             ; preds = %3351, %3329
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %223) #7
  br label %3353

3353:                                             ; preds = %3352, %3325
  call void @llvm.lifetime.end.p0(i64 8, ptr %223) #7
  br label %3354

3354:                                             ; preds = %3353, %3321
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %222) #7
  br label %3355

3355:                                             ; preds = %3354, %3317
  call void @llvm.lifetime.end.p0(i64 8, ptr %222) #7
  br label %3356

3356:                                             ; preds = %3355, %3313
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %221) #7
  br label %3357

3357:                                             ; preds = %3356, %3309
  call void @llvm.lifetime.end.p0(i64 8, ptr %221) #7
  br label %3358

3358:                                             ; preds = %3357, %3305
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %220) #7
  br label %3359

3359:                                             ; preds = %3358, %3301
  call void @llvm.lifetime.end.p0(i64 8, ptr %220) #7
  br label %3360

3360:                                             ; preds = %3359, %3297
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %219) #7
  br label %3361

3361:                                             ; preds = %3360, %3293
  call void @llvm.lifetime.end.p0(i64 8, ptr %219) #7
  br label %3362

3362:                                             ; preds = %3361, %3289
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %218) #7
  br label %3363

3363:                                             ; preds = %3362, %3285
  call void @llvm.lifetime.end.p0(i64 8, ptr %218) #7
  br label %3364

3364:                                             ; preds = %3363, %3281
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %217) #7
  br label %3365

3365:                                             ; preds = %3364, %3277
  call void @llvm.lifetime.end.p0(i64 8, ptr %217) #7
  br label %3366

3366:                                             ; preds = %3365, %3273
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %216) #7
  br label %3367

3367:                                             ; preds = %3366, %3269
  call void @llvm.lifetime.end.p0(i64 8, ptr %216) #7
  br label %3368

3368:                                             ; preds = %3367, %3265
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %215) #7
  br label %3369

3369:                                             ; preds = %3368, %3261
  call void @llvm.lifetime.end.p0(i64 8, ptr %215) #7
  br label %3370

3370:                                             ; preds = %3369, %3257
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %214) #7
  br label %3371

3371:                                             ; preds = %3370, %3253
  call void @llvm.lifetime.end.p0(i64 8, ptr %214) #7
  br label %3373

3372:                                             ; preds = %3252, %3157
  call void @llvm.lifetime.end.p0(i64 8, ptr %213) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %212) #7
  br label %3375

3373:                                             ; preds = %3371, %3163
  call void @llvm.lifetime.end.p0(i64 8, ptr %213) #7
  br label %3374

3374:                                             ; preds = %3373, %3159
  call void @llvm.lifetime.end.p0(i64 8, ptr %212) #7
  br label %3550

3375:                                             ; preds = %3372, %3134
  %3376 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %3377 unwind label %2798

3377:                                             ; preds = %3375
  %3378 = invoke noundef nonnull align 8 dereferenceable(664) ptr @_ZN10SimTKIpopt9IpoptData11TimingStatsEv(ptr noundef nonnull align 8 dereferenceable(864) %3376)
          to label %3379 unwind label %2798

3379:                                             ; preds = %3377
  %3380 = invoke noundef nonnull align 8 dereferenceable(18) ptr @_ZN10SimTKIpopt16TimingStatistics21QualityFunctionSearchEv(ptr noundef nonnull align 8 dereferenceable(664) %3378)
          to label %3381 unwind label %2798

3381:                                             ; preds = %3379
  invoke void @_ZN10SimTKIpopt9TimedTask3EndEv(ptr noundef nonnull align 8 dereferenceable(18) %3380)
          to label %3382 unwind label %2798

3382:                                             ; preds = %3381
  %3383 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5JnlstEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %3384 unwind label %2798

3384:                                             ; preds = %3382
  %3385 = load double, ptr %170, align 8, !tbaa !9
  invoke void (ptr, i32, i32, ptr, ...) @_ZNK10SimTKIpopt10Journalist6PrintfENS_13EJournalLevelENS_16EJournalCategoryEPKcz(ptr noundef nonnull align 8 dereferenceable(40) %3383, i32 noundef 5, i32 noundef 4, ptr noundef @.str.46, double noundef %3385)
          to label %3386 unwind label %2798

3386:                                             ; preds = %3384
  call void @llvm.lifetime.start.p0(i64 8, ptr %226) #7
  %3387 = load double, ptr %170, align 8, !tbaa !9
  %3388 = load double, ptr %43, align 8, !tbaa !9
  %3389 = fmul double %3387, %3388
  store double %3389, ptr %226, align 8, !tbaa !9
  %3390 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %3391 unwind label %3498

3391:                                             ; preds = %3386
  invoke void @_ZN10SimTKIpopt9IpoptData13set_delta_affERNS_8SmartPtrINS_14IteratesVectorEEE(ptr noundef nonnull align 8 dereferenceable(864) %3390, ptr noundef nonnull align 8 dereferenceable(8) %38)
          to label %3392 unwind label %3498

3392:                                             ; preds = %3391
  %3393 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %3394 unwind label %3498

3394:                                             ; preds = %3392
  invoke void @_ZN10SimTKIpopt9IpoptData19SetHaveAffineDeltasEb(ptr noundef nonnull align 8 dereferenceable(864) %3393, i1 noundef zeroext true)
          to label %3395 unwind label %3498

3395:                                             ; preds = %3394
  call void @llvm.lifetime.start.p0(i64 8, ptr %227) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %228) #7
  %3396 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %3397 unwind label %3502

3397:                                             ; preds = %3395
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.33") align 8 %228, ptr noundef nonnull align 8 dereferenceable(864) %3396)
          to label %3398 unwind label %3502

3398:                                             ; preds = %3397
  %3399 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %228)
          to label %3400 unwind label %3506

3400:                                             ; preds = %3398
  invoke void @_ZNK10SimTKIpopt14IteratesVector21MakeNewIteratesVectorEb(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.32") align 8 %227, ptr noundef nonnull align 8 dereferenceable(280) %3399, i1 noundef zeroext true)
          to label %3401 unwind label %3506

3401:                                             ; preds = %3400
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %228) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %228) #7
  %3402 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %227)
          to label %3403 unwind label %3511

3403:                                             ; preds = %3401
  %3404 = load double, ptr %170, align 8, !tbaa !9
  %3405 = invoke noundef nonnull align 8 dereferenceable(280) ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %56)
          to label %3406 unwind label %3511

3406:                                             ; preds = %3403
  call void @llvm.lifetime.start.p0(i64 8, ptr %229) #7
  %3407 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %3408 unwind label %3515

3408:                                             ; preds = %3406
  invoke void @_ZNK10SimTKIpopt9IpoptData9delta_affEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.33") align 8 %229, ptr noundef nonnull align 8 dereferenceable(864) %3407)
          to label %3409 unwind label %3515

3409:                                             ; preds = %3408
  %3410 = invoke noundef nonnull align 8 dereferenceable(280) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %229)
          to label %3411 unwind label %3519

3411:                                             ; preds = %3409
  invoke void @_ZN10SimTKIpopt6Vector13AddTwoVectorsEdRKS0_dS2_d(ptr noundef nonnull align 8 dereferenceable(205) %3402, double noundef %3404, ptr noundef nonnull align 8 dereferenceable(205) %3405, double noundef 1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %3410, double noundef 0.000000e+00)
          to label %3412 unwind label %3519

3412:                                             ; preds = %3411
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %229) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %229) #7
  %3413 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %3414 unwind label %3511

3414:                                             ; preds = %3412
  invoke void @_ZN10SimTKIpopt9IpoptData9set_deltaERNS_8SmartPtrINS_14IteratesVectorEEE(ptr noundef nonnull align 8 dereferenceable(864) %3413, ptr noundef nonnull align 8 dereferenceable(8) %227)
          to label %3415 unwind label %3511

3415:                                             ; preds = %3414
  %3416 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %3417 unwind label %3511

3417:                                             ; preds = %3415
  invoke void @_ZN10SimTKIpopt9IpoptData13SetHaveDeltasEb(ptr noundef nonnull align 8 dereferenceable(864) %3416, i1 noundef zeroext true)
          to label %3418 unwind label %3511

3418:                                             ; preds = %3417
  %3419 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 10
  %3420 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %3419, ptr noundef null)
          to label %3421 unwind label %3511

3421:                                             ; preds = %3418
  %3422 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 11
  %3423 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %3422, ptr noundef null)
          to label %3424 unwind label %3511

3424:                                             ; preds = %3421
  %3425 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 12
  %3426 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %3425, ptr noundef null)
          to label %3427 unwind label %3511

3427:                                             ; preds = %3424
  %3428 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 13
  %3429 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %3428, ptr noundef null)
          to label %3430 unwind label %3511

3430:                                             ; preds = %3427
  %3431 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 14
  %3432 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %3431, ptr noundef null)
          to label %3433 unwind label %3511

3433:                                             ; preds = %3430
  %3434 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 15
  %3435 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %3434, ptr noundef null)
          to label %3436 unwind label %3511

3436:                                             ; preds = %3433
  %3437 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 16
  %3438 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %3437, ptr noundef null)
          to label %3439 unwind label %3511

3439:                                             ; preds = %3436
  %3440 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 17
  %3441 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %3440, ptr noundef null)
          to label %3442 unwind label %3511

3442:                                             ; preds = %3439
  %3443 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 18
  %3444 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %3443, ptr noundef null)
          to label %3445 unwind label %3511

3445:                                             ; preds = %3442
  %3446 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 19
  %3447 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %3446, ptr noundef null)
          to label %3448 unwind label %3511

3448:                                             ; preds = %3445
  %3449 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 20
  %3450 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %3449, ptr noundef null)
          to label %3451 unwind label %3511

3451:                                             ; preds = %3448
  %3452 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 21
  %3453 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %3452, ptr noundef null)
          to label %3454 unwind label %3511

3454:                                             ; preds = %3451
  %3455 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 22
  %3456 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %3455, ptr noundef null)
          to label %3457 unwind label %3511

3457:                                             ; preds = %3454
  %3458 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 23
  %3459 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %3458, ptr noundef null)
          to label %3460 unwind label %3511

3460:                                             ; preds = %3457
  %3461 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 24
  %3462 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %3461, ptr noundef null)
          to label %3463 unwind label %3511

3463:                                             ; preds = %3460
  %3464 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 25
  %3465 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %3464, ptr noundef null)
          to label %3466 unwind label %3511

3466:                                             ; preds = %3463
  %3467 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 31
  %3468 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEaSEPS2_(ptr noundef nonnull align 8 dereferenceable(8) %3467, ptr noundef null)
          to label %3469 unwind label %3511

3469:                                             ; preds = %3466
  %3470 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 32
  %3471 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEaSEPS2_(ptr noundef nonnull align 8 dereferenceable(8) %3470, ptr noundef null)
          to label %3472 unwind label %3511

3472:                                             ; preds = %3469
  %3473 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 33
  %3474 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEaSEPS2_(ptr noundef nonnull align 8 dereferenceable(8) %3473, ptr noundef null)
          to label %3475 unwind label %3511

3475:                                             ; preds = %3472
  %3476 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 34
  %3477 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEaSEPS2_(ptr noundef nonnull align 8 dereferenceable(8) %3476, ptr noundef null)
          to label %3478 unwind label %3511

3478:                                             ; preds = %3475
  call void @llvm.lifetime.start.p0(i64 4, ptr %230) #7
  store i32 40, ptr %230, align 4, !tbaa !54
  call void @llvm.lifetime.start.p0(i64 40, ptr %231) #7
  %3479 = getelementptr inbounds [40 x i8], ptr %231, i64 0, i64 0
  %3480 = load double, ptr %170, align 8, !tbaa !9
  %3481 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef %3479, i64 noundef 40, ptr noundef @.str.47, double noundef %3480) #7
  %3482 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %3483 unwind label %3524

3483:                                             ; preds = %3478
  call void @llvm.lifetime.start.p0(i64 32, ptr %232) #7
  %3484 = getelementptr inbounds [40 x i8], ptr %231, i64 0, i64 0
  call void @llvm.lifetime.start.p0(i64 1, ptr %233) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %233) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %232, ptr noundef %3484, ptr noundef nonnull align 1 dereferenceable(1) %233)
          to label %3485 unwind label %3528

3485:                                             ; preds = %3483
  invoke void @_ZN10SimTKIpopt9IpoptData18Append_info_stringERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(864) %3482, ptr noundef nonnull align 8 dereferenceable(32) %232)
          to label %3486 unwind label %3532

3486:                                             ; preds = %3485
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %232) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %233) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %233) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %232) #7
  %3487 = getelementptr inbounds [40 x i8], ptr %231, i64 0, i64 0
  %3488 = getelementptr inbounds %"class.SimTKIpopt::QualityFunctionMuOracle", ptr %236, i32 0, i32 26
  %3489 = load i32, ptr %3488, align 8, !tbaa !36
  %3490 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef %3487, i64 noundef 40, ptr noundef @.str.48, i32 noundef %3489) #7
  %3491 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %236)
          to label %3492 unwind label %3524

3492:                                             ; preds = %3486
  call void @llvm.lifetime.start.p0(i64 32, ptr %234) #7
  %3493 = getelementptr inbounds [40 x i8], ptr %231, i64 0, i64 0
  call void @llvm.lifetime.start.p0(i64 1, ptr %235) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %235) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %234, ptr noundef %3493, ptr noundef nonnull align 1 dereferenceable(1) %235)
          to label %3494 unwind label %3537

3494:                                             ; preds = %3492
  invoke void @_ZN10SimTKIpopt9IpoptData18Append_info_stringERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(864) %3491, ptr noundef nonnull align 8 dereferenceable(32) %234)
          to label %3495 unwind label %3541

3495:                                             ; preds = %3494
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %234) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %235) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %235) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %234) #7
  %3496 = load double, ptr %226, align 8, !tbaa !9
  %3497 = load ptr, ptr %9, align 8, !tbaa !5
  store double %3496, ptr %3497, align 8, !tbaa !9
  store i1 true, ptr %5, align 1
  store i32 1, ptr %42, align 4
  call void @llvm.lifetime.end.p0(i64 40, ptr %231) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %230) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %227) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %227) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %226) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %185) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %184) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %171) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %170) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %160) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %160) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %158) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %158) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %156) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %156) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %154) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %154) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %144) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %144) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %142) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %142) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %140) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %140) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %138) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %138) #7
  br label %3563

3498:                                             ; preds = %3394, %3392, %3391, %3386
  %3499 = landingpad { ptr, i32 }
          cleanup
  %3500 = extractvalue { ptr, i32 } %3499, 0
  store ptr %3500, ptr %11, align 8
  %3501 = extractvalue { ptr, i32 } %3499, 1
  store i32 %3501, ptr %12, align 4
  br label %3549

3502:                                             ; preds = %3397, %3395
  %3503 = landingpad { ptr, i32 }
          cleanup
  %3504 = extractvalue { ptr, i32 } %3503, 0
  store ptr %3504, ptr %11, align 8
  %3505 = extractvalue { ptr, i32 } %3503, 1
  store i32 %3505, ptr %12, align 4
  br label %3510

3506:                                             ; preds = %3400, %3398
  %3507 = landingpad { ptr, i32 }
          cleanup
  %3508 = extractvalue { ptr, i32 } %3507, 0
  store ptr %3508, ptr %11, align 8
  %3509 = extractvalue { ptr, i32 } %3507, 1
  store i32 %3509, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %228) #7
  br label %3510

3510:                                             ; preds = %3506, %3502
  call void @llvm.lifetime.end.p0(i64 8, ptr %228) #7
  br label %3548

3511:                                             ; preds = %3475, %3472, %3469, %3466, %3463, %3460, %3457, %3454, %3451, %3448, %3445, %3442, %3439, %3436, %3433, %3430, %3427, %3424, %3421, %3418, %3417, %3415, %3414, %3412, %3403, %3401
  %3512 = landingpad { ptr, i32 }
          cleanup
  %3513 = extractvalue { ptr, i32 } %3512, 0
  store ptr %3513, ptr %11, align 8
  %3514 = extractvalue { ptr, i32 } %3512, 1
  store i32 %3514, ptr %12, align 4
  br label %3547

3515:                                             ; preds = %3408, %3406
  %3516 = landingpad { ptr, i32 }
          cleanup
  %3517 = extractvalue { ptr, i32 } %3516, 0
  store ptr %3517, ptr %11, align 8
  %3518 = extractvalue { ptr, i32 } %3516, 1
  store i32 %3518, ptr %12, align 4
  br label %3523

3519:                                             ; preds = %3411, %3409
  %3520 = landingpad { ptr, i32 }
          cleanup
  %3521 = extractvalue { ptr, i32 } %3520, 0
  store ptr %3521, ptr %11, align 8
  %3522 = extractvalue { ptr, i32 } %3520, 1
  store i32 %3522, ptr %12, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %229) #7
  br label %3523

3523:                                             ; preds = %3519, %3515
  call void @llvm.lifetime.end.p0(i64 8, ptr %229) #7
  br label %3547

3524:                                             ; preds = %3486, %3478
  %3525 = landingpad { ptr, i32 }
          cleanup
  %3526 = extractvalue { ptr, i32 } %3525, 0
  store ptr %3526, ptr %11, align 8
  %3527 = extractvalue { ptr, i32 } %3525, 1
  store i32 %3527, ptr %12, align 4
  br label %3546

3528:                                             ; preds = %3483
  %3529 = landingpad { ptr, i32 }
          cleanup
  %3530 = extractvalue { ptr, i32 } %3529, 0
  store ptr %3530, ptr %11, align 8
  %3531 = extractvalue { ptr, i32 } %3529, 1
  store i32 %3531, ptr %12, align 4
  br label %3536

3532:                                             ; preds = %3485
  %3533 = landingpad { ptr, i32 }
          cleanup
  %3534 = extractvalue { ptr, i32 } %3533, 0
  store ptr %3534, ptr %11, align 8
  %3535 = extractvalue { ptr, i32 } %3533, 1
  store i32 %3535, ptr %12, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %232) #7
  br label %3536

3536:                                             ; preds = %3532, %3528
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %233) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %233) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %232) #7
  br label %3546

3537:                                             ; preds = %3492
  %3538 = landingpad { ptr, i32 }
          cleanup
  %3539 = extractvalue { ptr, i32 } %3538, 0
  store ptr %3539, ptr %11, align 8
  %3540 = extractvalue { ptr, i32 } %3538, 1
  store i32 %3540, ptr %12, align 4
  br label %3545

3541:                                             ; preds = %3494
  %3542 = landingpad { ptr, i32 }
          cleanup
  %3543 = extractvalue { ptr, i32 } %3542, 0
  store ptr %3543, ptr %11, align 8
  %3544 = extractvalue { ptr, i32 } %3542, 1
  store i32 %3544, ptr %12, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %234) #7
  br label %3545

3545:                                             ; preds = %3541, %3537
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %235) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %235) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %234) #7
  br label %3546

3546:                                             ; preds = %3545, %3536, %3524
  call void @llvm.lifetime.end.p0(i64 40, ptr %231) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %230) #7
  br label %3547

3547:                                             ; preds = %3546, %3523, %3511
  call void @_ZN10SimTKIpopt8SmartPtrINS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %227) #7
  br label %3548

3548:                                             ; preds = %3547, %3510
  call void @llvm.lifetime.end.p0(i64 8, ptr %227) #7
  br label %3549

3549:                                             ; preds = %3548, %3498
  call void @llvm.lifetime.end.p0(i64 8, ptr %226) #7
  br label %3550

3550:                                             ; preds = %3549, %3374, %3136, %2920, %2798
  call void @llvm.lifetime.end.p0(i64 8, ptr %185) #7
  br label %3551

3551:                                             ; preds = %3550, %2794
  call void @llvm.lifetime.end.p0(i64 8, ptr %184) #7
  br label %3552

3552:                                             ; preds = %3551, %2793, %2671
  call void @llvm.lifetime.end.p0(i64 8, ptr %171) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %170) #7
  br label %3553

3553:                                             ; preds = %3552, %2670, %2651, %2632, %2613
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %160) #7
  br label %3554

3554:                                             ; preds = %3553, %2594
  call void @llvm.lifetime.end.p0(i64 8, ptr %160) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %158) #7
  br label %3555

3555:                                             ; preds = %3554, %2585
  call void @llvm.lifetime.end.p0(i64 8, ptr %158) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %156) #7
  br label %3556

3556:                                             ; preds = %3555, %2576
  call void @llvm.lifetime.end.p0(i64 8, ptr %156) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %154) #7
  br label %3557

3557:                                             ; preds = %3556, %2567
  call void @llvm.lifetime.end.p0(i64 8, ptr %154) #7
  br label %3558

3558:                                             ; preds = %3557, %2558, %2539, %2520, %2501
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %144) #7
  br label %3559

3559:                                             ; preds = %3558, %2482
  call void @llvm.lifetime.end.p0(i64 8, ptr %144) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %142) #7
  br label %3560

3560:                                             ; preds = %3559, %2473
  call void @llvm.lifetime.end.p0(i64 8, ptr %142) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %140) #7
  br label %3561

3561:                                             ; preds = %3560, %2464
  call void @llvm.lifetime.end.p0(i64 8, ptr %140) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %138) #7
  br label %3562

3562:                                             ; preds = %3561, %2455
  call void @llvm.lifetime.end.p0(i64 8, ptr %138) #7
  br label %3564

3563:                                             ; preds = %3495, %772
  call void @_ZN10SimTKIpopt8SmartPtrINS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %56) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %56) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %44) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %44) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %43) #7
  br label %3569

3564:                                             ; preds = %3562, %2067, %2058, %2049, %2040, %1998, %1989, %1980, %1971, %1929, %1920, %1911, %1902, %1860, %1846, %1832, %1818, %1804, %1795, %1786, %1777, %1697, %1638, %1609, %1478, %1469, %1460, %1451, %1409, %1400, %1391, %1382, %1340, %1331, %1322, %1313, %1271, %1257, %1243, %1229, %1215, %1206, %1197, %1188, %1108, %1049, %1020, %887
  call void @_ZN10SimTKIpopt8SmartPtrINS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %56) #7
  br label %3565

3565:                                             ; preds = %3564, %886
  call void @llvm.lifetime.end.p0(i64 8, ptr %56) #7
  br label %3566

3566:                                             ; preds = %3565, %877, %868, %859, %850, %841, %832, %823, %804
  call void @_ZN10SimTKIpopt8SmartPtrINS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %44) #7
  br label %3567

3567:                                             ; preds = %3566, %785
  call void @llvm.lifetime.end.p0(i64 8, ptr %44) #7
  br label %3568

3568:                                             ; preds = %3567, %773
  call void @llvm.lifetime.end.p0(i64 8, ptr %43) #7
  br label %3571

3569:                                             ; preds = %3563, %508
  call void @llvm.lifetime.end.p0(i64 1, ptr %41) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %40) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %38) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %38) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %28) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #7
  %3570 = load i1, ptr %5, align 1
  ret i1 %3570

3571:                                             ; preds = %3568, %662
  call void @llvm.lifetime.end.p0(i64 1, ptr %41) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %40) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %38) #7
  br label %3572

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

3573:                                             ; preds = %3572, %652, %643, %634, %625, %616, %607, %598, %589, %577
  call void @_ZN10SimTKIpopt8SmartPtrINS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %28) #7
  br label %3574

3574:                                             ; preds = %3573, %573
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #7
  br label %3575

3575:                                             ; preds = %3574, %569, %565, %561, %557, %553, %549, %545, %541, %537, %533, %529, %525, %521, %517, %513, %509
  %3576 = load ptr, ptr %11, align 8
  %3577 = load i32, ptr %12, align 4
  %3578 = insertvalue { ptr, i32 } poison, ptr %3576, 0
  %3579 = insertvalue { ptr, i32 } %3578, i32 %3577, 1
  resume { ptr, i32 } %3579
}

; 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 @_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)) #3 align 2

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind noalias writable sret(%"class.SimTKIpopt::SmartPtr.33") align 8, ptr noundef nonnull align 8 dereferenceable(864)) #3 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 @_ZNK10SimTKIpopt14IteratesVector21MakeNewIteratesVectorEb(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.32") align 8, ptr noundef nonnull align 8 dereferenceable(280), i1 noundef zeroext) #4

; 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 uwtable
declare dso_local noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49)) #2 align 2

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

; 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 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

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

; 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

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

; 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

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

; 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

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

; 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

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

; 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

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

; 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 @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_compl_s_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8, ptr noundef nonnull align 8 dereferenceable(2025)) #4

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

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

declare noundef double @_ZN10SimTKIpopt25IpoptCalculatedQuantities15curr_avrg_complEv(ptr noundef nonnull align 8 dereferenceable(2025)) #4

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

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

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

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

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

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNK10SimTKIpopt14IteratesVector1xEv(ptr dead_on_unwind noalias writable sret(%"class.SimTKIpopt::SmartPtr.12") 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)) #3 align 2

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

; 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 uwtable
declare dso_local noundef double @_ZN10SimTKIpopt23QualityFunctionMuOracle24CalculateQualityFunctionEdRKNS_6VectorES3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_(ptr noundef nonnull align 8 dereferenceable(432), double noundef, ptr noundef nonnull align 8 dereferenceable(205), ptr noundef nonnull align 8 dereferenceable(205), ptr noundef nonnull align 8 dereferenceable(205), ptr noundef nonnull align 8 dereferenceable(205), 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), 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), 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), 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 nounwind uwtable
declare dso_local noundef double @_ZN10SimTKIpopt3MaxEdd(double noundef, double noundef) #5

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef double @_ZN10SimTKIpopt3MinEdd(double noundef, double noundef) #5

; Function Attrs: mustprogress uwtable
declare dso_local noundef double @_ZN10SimTKIpopt23QualityFunctionMuOracle20PerformGoldenSectionEddddddRKNS_6VectorES3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_(ptr noundef nonnull align 8 dereferenceable(432), double noundef, double noundef, double noundef, double noundef, double noundef, double noundef, ptr noundef nonnull align 8 dereferenceable(205), ptr noundef nonnull align 8 dereferenceable(205), ptr noundef nonnull align 8 dereferenceable(205), ptr noundef nonnull align 8 dereferenceable(205), 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), 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), 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), 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 @_ZN10SimTKIpopt9IpoptData13set_delta_affERNS_8SmartPtrINS_14IteratesVectorEEE(ptr noundef nonnull align 8 dereferenceable(864), ptr noundef nonnull align 8 dereferenceable(8)) #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN10SimTKIpopt9IpoptData19SetHaveAffineDeltasEb(ptr noundef nonnull align 8 dereferenceable(864), i1 noundef zeroext) #1 align 2

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

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN10SimTKIpopt9IpoptData13SetHaveDeltasEb(ptr noundef nonnull align 8 dereferenceable(864), i1 noundef zeroext) #1 align 2

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

; Function Attrs: nounwind
declare i32 @snprintf(ptr noundef, i64 noundef, ptr noundef, ...) #6

; 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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN10SimTKIpopt8SmartPtrINS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8)) 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 = { 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 = { 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 #4 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { inlinehint mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #7 = { nounwind }

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"double", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"vtable pointer", !8, i64 0}
!13 = !{!14, !14, i64 0}
!14 = !{!"bool", !7, i64 0}
!15 = !{i8 0, i8 2}
!16 = !{}
!17 = !{!18, !14, i64 252}
!18 = !{!"_ZTSN10SimTKIpopt23QualityFunctionMuOracleE", !19, i64 0, !27, i64 56, !10, i64 64, !10, i64 72, !28, i64 80, !29, i64 84, !30, i64 88, !10, i64 96, !10, i64 104, !22, i64 112, !31, i64 120, !31, i64 128, !31, i64 136, !31, i64 144, !31, i64 152, !31, i64 160, !31, i64 168, !31, i64 176, !31, i64 184, !31, i64 192, !31, i64 200, !31, i64 208, !31, i64 216, !31, i64 224, !31, i64 232, !31, i64 240, !22, i64 248, !14, i64 252, !22, i64 256, !22, i64 260, !22, i64 264, !32, i64 272, !32, i64 280, !32, i64 288, !32, i64 296, !32, i64 304, !32, i64 312, !32, i64 320, !32, i64 328, !10, i64 336, !10, i64 344, !10, i64 352, !10, i64 360, !10, i64 368, !10, i64 376, !10, i64 384, !10, i64 392, !10, i64 400, !10, i64 408, !10, i64 416, !10, i64 424}
!19 = !{!"_ZTSN10SimTKIpopt8MuOracleE", !20, i64 0}
!20 = !{!"_ZTSN10SimTKIpopt23AlgorithmStrategyObjectE", !21, i64 0, !23, i64 16, !24, i64 24, !25, i64 32, !26, i64 40, !14, i64 48}
!21 = !{!"_ZTSN10SimTKIpopt16ReferencedObjectE", !22, i64 8}
!22 = !{!"int", !7, i64 0}
!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 = !{!"_ZTSN10SimTKIpopt23QualityFunctionMuOracle8NormEnumE", !7, i64 0}
!29 = !{!"_ZTSN10SimTKIpopt23QualityFunctionMuOracle14CentralityEnumE", !7, i64 0}
!30 = !{!"_ZTSN10SimTKIpopt23QualityFunctionMuOracle17BalancingTermEnumE", !7, i64 0}
!31 = !{!"_ZTSN10SimTKIpopt8SmartPtrINS_6VectorEEE", !6, i64 0}
!32 = !{!"_ZTSN10SimTKIpopt8SmartPtrIKNS_6VectorEEE", !6, i64 0}
!33 = !{!18, !22, i64 256}
!34 = !{!18, !22, i64 260}
!35 = !{!18, !22, i64 264}
!36 = !{!18, !22, i64 248}
!37 = !{!18, !28, i64 80}
!38 = !{!18, !10, i64 336}
!39 = !{!18, !10, i64 344}
!40 = !{!18, !10, i64 352}
!41 = !{!18, !10, i64 360}
!42 = !{!18, !10, i64 368}
!43 = !{!18, !10, i64 376}
!44 = !{!18, !10, i64 384}
!45 = !{!18, !10, i64 392}
!46 = !{!18, !10, i64 400}
!47 = !{!18, !10, i64 408}
!48 = !{!18, !10, i64 416}
!49 = !{!18, !10, i64 424}
!50 = !{!18, !10, i64 96}
!51 = !{!18, !10, i64 64}
!52 = !{!18, !10, i64 104}
!53 = !{!18, !10, i64 72}
!54 = !{!22, !22, i64 0}


; 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.12" = type { ptr }
%"class.SimTKIpopt::SmartPtr.32" = type { ptr }
%"class.SimTKIpopt::SmartPtr.33" = type { ptr }
%"class.SimTKIpopt::SmartPtr.11" = type { ptr }
%"class.SimTKIpopt::SmartPtr.50" = 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.14" = type { i8 }

@.str.42 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [7 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 dso_local void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) 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 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 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
define dso_local noundef zeroext i1 @_ZN10SimTKIpopt23QualityFunctionMuOracle11CalculateMuEddRd(ptr noundef nonnull align 8 dereferenceable(432) %0, double noundef %1, double noundef %2, ptr nocapture noundef nonnull writeonly align 8 dereferenceable(8) %3) unnamed_addr #2 align 2 personality ptr @__gxx_personality_v0 {
  %5 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %6 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %7 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %8 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %9 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %10 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %11 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %12 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %13 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %14 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %15 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %16 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %17 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %18 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %19 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %20 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %21 = alloca %"class.SimTKIpopt::SmartPtr.32", align 8
  %22 = alloca %"class.SimTKIpopt::SmartPtr.33", align 8
  %23 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %24 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %25 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %26 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %27 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %28 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %29 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %30 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %31 = alloca %"class.SimTKIpopt::SmartPtr.32", align 8
  %32 = alloca %"class.SimTKIpopt::SmartPtr.33", align 8
  %33 = alloca %"class.SimTKIpopt::SmartPtr.32", align 8
  %34 = alloca %"class.SimTKIpopt::SmartPtr.33", align 8
  %35 = alloca %"class.SimTKIpopt::SmartPtr.11", align 8
  %36 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %37 = alloca %"class.SimTKIpopt::SmartPtr.11", align 8
  %38 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %39 = alloca %"class.SimTKIpopt::SmartPtr.11", align 8
  %40 = alloca %"class.SimTKIpopt::SmartPtr.11", align 8
  %41 = alloca %"class.SimTKIpopt::SmartPtr.11", align 8
  %42 = alloca %"class.SimTKIpopt::SmartPtr.11", align 8
  %43 = alloca %"class.SimTKIpopt::SmartPtr.11", align 8
  %44 = alloca %"class.SimTKIpopt::SmartPtr.11", align 8
  %45 = alloca %"class.SimTKIpopt::SmartPtr.32", align 8
  %46 = alloca %"class.SimTKIpopt::SmartPtr.33", align 8
  %47 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %48 = alloca %"class.SimTKIpopt::SmartPtr.33", align 8
  %49 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %50 = alloca %"class.SimTKIpopt::SmartPtr.33", align 8
  %51 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %52 = alloca %"class.SimTKIpopt::SmartPtr.33", align 8
  %53 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %54 = alloca %"class.SimTKIpopt::SmartPtr.33", align 8
  %55 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %56 = alloca %"class.SimTKIpopt::SmartPtr.33", align 8
  %57 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %58 = alloca %"class.SimTKIpopt::SmartPtr.33", align 8
  %59 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %60 = alloca %"class.SimTKIpopt::SmartPtr.33", align 8
  %61 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %62 = alloca %"class.SimTKIpopt::SmartPtr.33", align 8
  %63 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %64 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %65 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %66 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %67 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %68 = alloca %"class.SimTKIpopt::SmartPtr.33", align 8
  %69 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %70 = alloca %"class.SimTKIpopt::SmartPtr.33", align 8
  %71 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %72 = alloca %"class.SimTKIpopt::SmartPtr.33", align 8
  %73 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %74 = alloca %"class.SimTKIpopt::SmartPtr.33", align 8
  %75 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %76 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %77 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %78 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %79 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %80 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %81 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %82 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %83 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %84 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %85 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %86 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %87 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %88 = alloca %"class.SimTKIpopt::SmartPtr.33", align 8
  %89 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %90 = alloca %"class.SimTKIpopt::SmartPtr.33", align 8
  %91 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %92 = alloca %"class.SimTKIpopt::SmartPtr.33", align 8
  %93 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %94 = alloca %"class.SimTKIpopt::SmartPtr.33", align 8
  %95 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %96 = alloca %"class.SimTKIpopt::SmartPtr.33", align 8
  %97 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %98 = alloca %"class.SimTKIpopt::SmartPtr.33", align 8
  %99 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %100 = alloca %"class.SimTKIpopt::SmartPtr.33", align 8
  %101 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %102 = alloca %"class.SimTKIpopt::SmartPtr.33", align 8
  %103 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %104 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %105 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %106 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %107 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %108 = alloca %"class.SimTKIpopt::SmartPtr.33", align 8
  %109 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %110 = alloca %"class.SimTKIpopt::SmartPtr.33", align 8
  %111 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %112 = alloca %"class.SimTKIpopt::SmartPtr.33", align 8
  %113 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %114 = alloca %"class.SimTKIpopt::SmartPtr.33", align 8
  %115 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %116 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %117 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %118 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %119 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %120 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %121 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %122 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %123 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %124 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %125 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %126 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %127 = alloca %"class.SimTKIpopt::SmartPtr.11", align 8
  %128 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %129 = alloca %"class.SimTKIpopt::SmartPtr.11", align 8
  %130 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %131 = alloca %"class.SimTKIpopt::SmartPtr.11", align 8
  %132 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %133 = alloca %"class.SimTKIpopt::SmartPtr.11", align 8
  %134 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %135 = alloca %"class.SimTKIpopt::SmartPtr.50", align 8
  %136 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %137 = alloca %"class.SimTKIpopt::SmartPtr.50", align 8
  %138 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %139 = alloca %"class.SimTKIpopt::SmartPtr.50", align 8
  %140 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %141 = alloca %"class.SimTKIpopt::SmartPtr.50", align 8
  %142 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %143 = alloca %"class.SimTKIpopt::SmartPtr.11", align 8
  %144 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %145 = alloca %"class.SimTKIpopt::SmartPtr.11", align 8
  %146 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %147 = alloca %"class.SimTKIpopt::SmartPtr.11", align 8
  %148 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %149 = alloca %"class.SimTKIpopt::SmartPtr.11", align 8
  %150 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %151 = alloca %"class.SimTKIpopt::SmartPtr.50", align 8
  %152 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %153 = alloca %"class.SimTKIpopt::SmartPtr.50", align 8
  %154 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %155 = alloca %"class.SimTKIpopt::SmartPtr.50", align 8
  %156 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %157 = alloca %"class.SimTKIpopt::SmartPtr.50", align 8
  %158 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %159 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %160 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %161 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %162 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %163 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %164 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %165 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %166 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %167 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %168 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %169 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %170 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %171 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %172 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %173 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %174 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %175 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %176 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %177 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %178 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %179 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %180 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %181 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %182 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %183 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %184 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %185 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %186 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %187 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %188 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %189 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %190 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %191 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %192 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %193 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %194 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %195 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %196 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %197 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %198 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %199 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %200 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %201 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %202 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %203 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %204 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %205 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %206 = alloca %"class.SimTKIpopt::SmartPtr.12", align 8
  %207 = alloca %"class.SimTKIpopt::SmartPtr.32", align 8
  %208 = alloca %"class.SimTKIpopt::SmartPtr.33", align 8
  %209 = alloca %"class.SimTKIpopt::SmartPtr.33", align 8
  %210 = alloca [40 x i8], align 16
  %211 = alloca %"class.std::__cxx11::basic_string", align 8
  %212 = alloca %"class.std::allocator.14", align 1
  %213 = alloca %"class.std::__cxx11::basic_string", align 8
  %214 = alloca %"class.std::allocator.14", align 1
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %5) #7
  %215 = tail call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
  %216 = load ptr, ptr %215, align 8, !tbaa !5
  %217 = getelementptr inbounds i8, ptr %216, i64 96
  %218 = load ptr, ptr %217, align 8
  call void %218(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %5, ptr noundef nonnull align 8 dereferenceable(24) %215)
  %219 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %5)
  %220 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector7MakeNewEv(ptr noundef nonnull align 8 dereferenceable(205) %219)
          to label %221 unwind label %444

221:                                              ; preds = %4
  %222 = getelementptr inbounds i8, ptr %0, i64 120
  %223 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %222, ptr noundef %220)
          to label %224 unwind label %444

224:                                              ; preds = %221
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %5) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %5) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %6) #7
  %225 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
  %226 = load ptr, ptr %225, align 8, !tbaa !5
  %227 = getelementptr inbounds i8, ptr %226, i64 112
  %228 = load ptr, ptr %227, align 8
  call void %228(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %6, ptr noundef nonnull align 8 dereferenceable(24) %225)
  %229 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %6)
  %230 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector7MakeNewEv(ptr noundef nonnull align 8 dereferenceable(205) %229)
          to label %231 unwind label %446

231:                                              ; preds = %224
  %232 = getelementptr inbounds i8, ptr %0, i64 128
  %233 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %232, ptr noundef %230)
          to label %234 unwind label %446

234:                                              ; preds = %231
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %6) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %7) #7
  %235 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
  %236 = load ptr, ptr %235, align 8, !tbaa !5
  %237 = getelementptr inbounds i8, ptr %236, i64 128
  %238 = load ptr, ptr %237, align 8
  call void %238(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %7, ptr noundef nonnull align 8 dereferenceable(24) %235)
  %239 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %7)
  %240 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector7MakeNewEv(ptr noundef nonnull align 8 dereferenceable(205) %239)
          to label %241 unwind label %448

241:                                              ; preds = %234
  %242 = getelementptr inbounds i8, ptr %0, i64 136
  %243 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %242, ptr noundef %240)
          to label %244 unwind label %448

244:                                              ; preds = %241
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %7) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %8) #7
  %245 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
  %246 = load ptr, ptr %245, align 8, !tbaa !5
  %247 = getelementptr inbounds i8, ptr %246, i64 144
  %248 = load ptr, ptr %247, align 8
  call void %248(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %8, ptr noundef nonnull align 8 dereferenceable(24) %245)
  %249 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %8)
  %250 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector7MakeNewEv(ptr noundef nonnull align 8 dereferenceable(205) %249)
          to label %251 unwind label %450

251:                                              ; preds = %244
  %252 = getelementptr inbounds i8, ptr %0, i64 144
  %253 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %252, ptr noundef %250)
          to label %254 unwind label %450

254:                                              ; preds = %251
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %8) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %9) #7
  %255 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
  %256 = load ptr, ptr %255, align 8, !tbaa !5
  %257 = getelementptr inbounds i8, ptr %256, i64 96
  %258 = load ptr, ptr %257, align 8
  call void %258(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %9, ptr noundef nonnull align 8 dereferenceable(24) %255)
  %259 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %9)
  %260 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector7MakeNewEv(ptr noundef nonnull align 8 dereferenceable(205) %259)
          to label %261 unwind label %452

261:                                              ; preds = %254
  %262 = getelementptr inbounds i8, ptr %0, i64 152
  %263 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %262, ptr noundef %260)
          to label %264 unwind label %452

264:                                              ; preds = %261
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %9) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %9) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %10) #7
  %265 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
  %266 = load ptr, ptr %265, align 8, !tbaa !5
  %267 = getelementptr inbounds i8, ptr %266, i64 112
  %268 = load ptr, ptr %267, align 8
  call void %268(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %10, ptr noundef nonnull align 8 dereferenceable(24) %265)
  %269 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %10)
  %270 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector7MakeNewEv(ptr noundef nonnull align 8 dereferenceable(205) %269)
          to label %271 unwind label %454

271:                                              ; preds = %264
  %272 = getelementptr inbounds i8, ptr %0, i64 160
  %273 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %272, ptr noundef %270)
          to label %274 unwind label %454

274:                                              ; preds = %271
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %10) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %11) #7
  %275 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
  %276 = load ptr, ptr %275, align 8, !tbaa !5
  %277 = getelementptr inbounds i8, ptr %276, i64 128
  %278 = load ptr, ptr %277, align 8
  call void %278(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %11, ptr noundef nonnull align 8 dereferenceable(24) %275)
  %279 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %11)
  %280 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector7MakeNewEv(ptr noundef nonnull align 8 dereferenceable(205) %279)
          to label %281 unwind label %456

281:                                              ; preds = %274
  %282 = getelementptr inbounds i8, ptr %0, i64 168
  %283 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %282, ptr noundef %280)
          to label %284 unwind label %456

284:                                              ; preds = %281
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %11) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %12) #7
  %285 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
  %286 = load ptr, ptr %285, align 8, !tbaa !5
  %287 = getelementptr inbounds i8, ptr %286, i64 144
  %288 = load ptr, ptr %287, align 8
  call void %288(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %12, ptr noundef nonnull align 8 dereferenceable(24) %285)
  %289 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %12)
  %290 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector7MakeNewEv(ptr noundef nonnull align 8 dereferenceable(205) %289)
          to label %291 unwind label %458

291:                                              ; preds = %284
  %292 = getelementptr inbounds i8, ptr %0, i64 176
  %293 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %292, ptr noundef %290)
          to label %294 unwind label %458

294:                                              ; preds = %291
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %12) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %13) #7
  %295 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
  %296 = load ptr, ptr %295, align 8, !tbaa !5
  %297 = getelementptr inbounds i8, ptr %296, i64 96
  %298 = load ptr, ptr %297, align 8
  call void %298(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %13, ptr noundef nonnull align 8 dereferenceable(24) %295)
  %299 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %13)
  %300 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector7MakeNewEv(ptr noundef nonnull align 8 dereferenceable(205) %299)
          to label %301 unwind label %460

301:                                              ; preds = %294
  %302 = getelementptr inbounds i8, ptr %0, i64 184
  %303 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %302, ptr noundef %300)
          to label %304 unwind label %460

304:                                              ; preds = %301
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %13) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %14) #7
  %305 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
  %306 = load ptr, ptr %305, align 8, !tbaa !5
  %307 = getelementptr inbounds i8, ptr %306, i64 112
  %308 = load ptr, ptr %307, align 8
  call void %308(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %14, ptr noundef nonnull align 8 dereferenceable(24) %305)
  %309 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %14)
  %310 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector7MakeNewEv(ptr noundef nonnull align 8 dereferenceable(205) %309)
          to label %311 unwind label %462

311:                                              ; preds = %304
  %312 = getelementptr inbounds i8, ptr %0, i64 192
  %313 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %312, ptr noundef %310)
          to label %314 unwind label %462

314:                                              ; preds = %311
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %14) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %15) #7
  %315 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
  %316 = load ptr, ptr %315, align 8, !tbaa !5
  %317 = getelementptr inbounds i8, ptr %316, i64 128
  %318 = load ptr, ptr %317, align 8
  call void %318(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %15, ptr noundef nonnull align 8 dereferenceable(24) %315)
  %319 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %15)
  %320 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector7MakeNewEv(ptr noundef nonnull align 8 dereferenceable(205) %319)
          to label %321 unwind label %464

321:                                              ; preds = %314
  %322 = getelementptr inbounds i8, ptr %0, i64 200
  %323 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %322, ptr noundef %320)
          to label %324 unwind label %464

324:                                              ; preds = %321
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %15) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %16) #7
  %325 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
  %326 = load ptr, ptr %325, align 8, !tbaa !5
  %327 = getelementptr inbounds i8, ptr %326, i64 144
  %328 = load ptr, ptr %327, align 8
  call void %328(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %16, ptr noundef nonnull align 8 dereferenceable(24) %325)
  %329 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %16)
  %330 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector7MakeNewEv(ptr noundef nonnull align 8 dereferenceable(205) %329)
          to label %331 unwind label %466

331:                                              ; preds = %324
  %332 = getelementptr inbounds i8, ptr %0, i64 208
  %333 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %332, ptr noundef %330)
          to label %334 unwind label %466

334:                                              ; preds = %331
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %16) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %17) #7
  %335 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
  %336 = load ptr, ptr %335, align 8, !tbaa !5
  %337 = getelementptr inbounds i8, ptr %336, i64 96
  %338 = load ptr, ptr %337, align 8
  call void %338(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %17, ptr noundef nonnull align 8 dereferenceable(24) %335)
  %339 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %17)
  %340 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector7MakeNewEv(ptr noundef nonnull align 8 dereferenceable(205) %339)
          to label %341 unwind label %468

341:                                              ; preds = %334
  %342 = getelementptr inbounds i8, ptr %0, i64 216
  %343 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %342, ptr noundef %340)
          to label %344 unwind label %468

344:                                              ; preds = %341
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %17) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %18) #7
  %345 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
  %346 = load ptr, ptr %345, align 8, !tbaa !5
  %347 = getelementptr inbounds i8, ptr %346, i64 112
  %348 = load ptr, ptr %347, align 8
  call void %348(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %18, ptr noundef nonnull align 8 dereferenceable(24) %345)
  %349 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %18)
  %350 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector7MakeNewEv(ptr noundef nonnull align 8 dereferenceable(205) %349)
          to label %351 unwind label %470

351:                                              ; preds = %344
  %352 = getelementptr inbounds i8, ptr %0, i64 224
  %353 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %352, ptr noundef %350)
          to label %354 unwind label %470

354:                                              ; preds = %351
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %18) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %19) #7
  %355 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
  %356 = load ptr, ptr %355, align 8, !tbaa !5
  %357 = getelementptr inbounds i8, ptr %356, i64 128
  %358 = load ptr, ptr %357, align 8
  call void %358(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %19, ptr noundef nonnull align 8 dereferenceable(24) %355)
  %359 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %19)
  %360 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector7MakeNewEv(ptr noundef nonnull align 8 dereferenceable(205) %359)
          to label %361 unwind label %472

361:                                              ; preds = %354
  %362 = getelementptr inbounds i8, ptr %0, i64 232
  %363 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %362, ptr noundef %360)
          to label %364 unwind label %472

364:                                              ; preds = %361
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %19) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %19) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %20) #7
  %365 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
  %366 = load ptr, ptr %365, align 8, !tbaa !5
  %367 = getelementptr inbounds i8, ptr %366, i64 144
  %368 = load ptr, ptr %367, align 8
  call void %368(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %20, ptr noundef nonnull align 8 dereferenceable(24) %365)
  %369 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %20)
  %370 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector7MakeNewEv(ptr noundef nonnull align 8 dereferenceable(205) %369)
          to label %371 unwind label %474

371:                                              ; preds = %364
  %372 = getelementptr inbounds i8, ptr %0, i64 240
  %373 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %372, ptr noundef %370)
          to label %374 unwind label %474

374:                                              ; preds = %371
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %20) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %20) #7
  %375 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5JnlstEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
  call void (ptr, i32, i32, ptr, ...) @_ZNK10SimTKIpopt10Journalist6PrintfENS_13EJournalLevelENS_16EJournalCategoryEPKcz(ptr noundef nonnull align 8 dereferenceable(40) %375, i32 noundef 5, i32 noundef 4, ptr noundef nonnull @.str.42)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %21) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %22) #7
  %376 = call noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
  call void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.33") align 8 %22, ptr noundef nonnull align 8 dereferenceable(864) %376)
  %377 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %22)
  invoke void @_ZNK10SimTKIpopt14IteratesVector21MakeNewIteratesVectorEb(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.32") align 8 %21, ptr noundef nonnull align 8 dereferenceable(280) %377, i1 noundef zeroext false)
          to label %378 unwind label %476

378:                                              ; preds = %374
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %22) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %22) #7
  %379 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %21)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %23) #7
  %380 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %381 unwind label %478

381:                                              ; preds = %378
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities15curr_grad_lag_xEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %23, ptr noundef nonnull align 8 dereferenceable(2025) %380)
          to label %382 unwind label %478

382:                                              ; preds = %381
  %383 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %23)
  invoke void @_ZN10SimTKIpopt14IteratesVector5Set_xERKNS_6VectorE(ptr noundef nonnull align 8 dereferenceable(280) %379, ptr noundef nonnull align 8 dereferenceable(205) %383)
          to label %384 unwind label %480

384:                                              ; preds = %382
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %23) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %23) #7
  %385 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %21)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %24) #7
  %386 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %387 unwind label %483

387:                                              ; preds = %384
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities15curr_grad_lag_sEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %24, ptr noundef nonnull align 8 dereferenceable(2025) %386)
          to label %388 unwind label %483

388:                                              ; preds = %387
  %389 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %24)
  invoke void @_ZN10SimTKIpopt14IteratesVector5Set_sERKNS_6VectorE(ptr noundef nonnull align 8 dereferenceable(280) %385, ptr noundef nonnull align 8 dereferenceable(205) %389)
          to label %390 unwind label %485

390:                                              ; preds = %388
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %24) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24) #7
  %391 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %21)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %25) #7
  %392 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %393 unwind label %488

393:                                              ; preds = %390
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities6curr_cEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %25, ptr noundef nonnull align 8 dereferenceable(2025) %392)
          to label %394 unwind label %488

394:                                              ; preds = %393
  %395 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %25)
  invoke void @_ZN10SimTKIpopt14IteratesVector7Set_y_cERKNS_6VectorE(ptr noundef nonnull align 8 dereferenceable(280) %391, ptr noundef nonnull align 8 dereferenceable(205) %395)
          to label %396 unwind label %490

396:                                              ; preds = %394
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %25) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25) #7
  %397 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %21)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %26) #7
  %398 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %399 unwind label %493

399:                                              ; preds = %396
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_d_minus_sEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %26, ptr noundef nonnull align 8 dereferenceable(2025) %398)
          to label %400 unwind label %493

400:                                              ; preds = %399
  %401 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %26)
  invoke void @_ZN10SimTKIpopt14IteratesVector7Set_y_dERKNS_6VectorE(ptr noundef nonnull align 8 dereferenceable(280) %397, ptr noundef nonnull align 8 dereferenceable(205) %401)
          to label %402 unwind label %495

402:                                              ; preds = %400
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %26) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %26) #7
  %403 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %21)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %27) #7
  %404 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %405 unwind label %498

405:                                              ; preds = %402
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_compl_x_LEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %27, ptr noundef nonnull align 8 dereferenceable(2025) %404)
          to label %406 unwind label %498

406:                                              ; preds = %405
  %407 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %27)
  invoke void @_ZN10SimTKIpopt14IteratesVector7Set_z_LERKNS_6VectorE(ptr noundef nonnull align 8 dereferenceable(280) %403, ptr noundef nonnull align 8 dereferenceable(205) %407)
          to label %408 unwind label %500

408:                                              ; preds = %406
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %27) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %27) #7
  %409 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %21)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %28) #7
  %410 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %411 unwind label %503

411:                                              ; preds = %408
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_compl_x_UEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %28, ptr noundef nonnull align 8 dereferenceable(2025) %410)
          to label %412 unwind label %503

412:                                              ; preds = %411
  %413 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %28)
  invoke void @_ZN10SimTKIpopt14IteratesVector7Set_z_UERKNS_6VectorE(ptr noundef nonnull align 8 dereferenceable(280) %409, ptr noundef nonnull align 8 dereferenceable(205) %413)
          to label %414 unwind label %505

414:                                              ; preds = %412
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %28) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %28) #7
  %415 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %21)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %29) #7
  %416 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %417 unwind label %508

417:                                              ; preds = %414
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_compl_s_LEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %29, ptr noundef nonnull align 8 dereferenceable(2025) %416)
          to label %418 unwind label %508

418:                                              ; preds = %417
  %419 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %29)
  invoke void @_ZN10SimTKIpopt14IteratesVector7Set_v_LERKNS_6VectorE(ptr noundef nonnull align 8 dereferenceable(280) %415, ptr noundef nonnull align 8 dereferenceable(205) %419)
          to label %420 unwind label %510

420:                                              ; preds = %418
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %29) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %29) #7
  %421 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %21)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %30) #7
  %422 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %423 unwind label %513

423:                                              ; preds = %420
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_compl_s_UEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %30, ptr noundef nonnull align 8 dereferenceable(2025) %422)
          to label %424 unwind label %513

424:                                              ; preds = %423
  %425 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %30)
  invoke void @_ZN10SimTKIpopt14IteratesVector7Set_v_UERKNS_6VectorE(ptr noundef nonnull align 8 dereferenceable(280) %421, ptr noundef nonnull align 8 dereferenceable(205) %425)
          to label %426 unwind label %515

426:                                              ; preds = %424
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %30) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %31) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %32) #7
  %427 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %428 unwind label %518

428:                                              ; preds = %426
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.33") align 8 %32, ptr noundef nonnull align 8 dereferenceable(864) %427)
          to label %429 unwind label %518

429:                                              ; preds = %428
  %430 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %32)
  invoke void @_ZNK10SimTKIpopt14IteratesVector21MakeNewIteratesVectorEb(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.32") align 8 %31, ptr noundef nonnull align 8 dereferenceable(280) %430, i1 noundef zeroext true)
          to label %431 unwind label %520

431:                                              ; preds = %429
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %32) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %32) #7
  %432 = getelementptr inbounds i8, ptr %0, i64 56
  %433 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14PDSystemSolverEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %432)
  %434 = call noundef nonnull align 8 dereferenceable(280) ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %21)
  %435 = call noundef nonnull align 8 dereferenceable(280) ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %31)
  %436 = load ptr, ptr %433, align 8, !tbaa !5
  %437 = getelementptr inbounds i8, ptr %436, i64 24
  %438 = load ptr, ptr %437, align 8
  %439 = invoke noundef zeroext i1 %438(ptr noundef nonnull align 8 dereferenceable(49) %433, double noundef -1.000000e+00, double noundef 0.000000e+00, ptr noundef nonnull align 8 dereferenceable(280) %434, ptr noundef nonnull align 8 dereferenceable(280) %435, i1 noundef zeroext true, i1 noundef zeroext false)
          to label %440 unwind label %523

440:                                              ; preds = %431
  br i1 %439, label %525, label %441

441:                                              ; preds = %440
  %442 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5JnlstEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %443 unwind label %523

443:                                              ; preds = %441
  invoke void (ptr, i32, i32, ptr, ...) @_ZNK10SimTKIpopt10Journalist6PrintfENS_13EJournalLevelENS_16EJournalCategoryEPKcz(ptr noundef nonnull align 8 dereferenceable(40) %442, i32 noundef 5, i32 noundef 4, ptr noundef nonnull @.str.43)
          to label %2210 unwind label %523

444:                                              ; preds = %221, %4
  %445 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %5) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %5) #7
  br label %2215

446:                                              ; preds = %231, %224
  %447 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %6) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #7
  br label %2215

448:                                              ; preds = %241, %234
  %449 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %7) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #7
  br label %2215

450:                                              ; preds = %251, %244
  %451 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %8) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) #7
  br label %2215

452:                                              ; preds = %261, %254
  %453 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %9) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %9) #7
  br label %2215

454:                                              ; preds = %271, %264
  %455 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %10) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) #7
  br label %2215

456:                                              ; preds = %281, %274
  %457 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %11) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11) #7
  br label %2215

458:                                              ; preds = %291, %284
  %459 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %12) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) #7
  br label %2215

460:                                              ; preds = %301, %294
  %461 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %13) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #7
  br label %2215

462:                                              ; preds = %311, %304
  %463 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %14) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) #7
  br label %2215

464:                                              ; preds = %321, %314
  %465 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %15) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15) #7
  br label %2215

466:                                              ; preds = %331, %324
  %467 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %16) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #7
  br label %2215

468:                                              ; preds = %341, %334
  %469 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %17) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #7
  br label %2215

470:                                              ; preds = %351, %344
  %471 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %18) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #7
  br label %2215

472:                                              ; preds = %361, %354
  %473 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %19) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %19) #7
  br label %2215

474:                                              ; preds = %371, %364
  %475 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %20) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %20) #7
  br label %2215

476:                                              ; preds = %374
  %477 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %22) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %22) #7
  br label %2214

478:                                              ; preds = %381, %378
  %479 = landingpad { ptr, i32 }
          cleanup
  br label %482

480:                                              ; preds = %382
  %481 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %23) #7
  br label %482

482:                                              ; preds = %480, %478
  %.pn = phi { ptr, i32 } [ %481, %480 ], [ %479, %478 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %23) #7
  br label %2213

483:                                              ; preds = %387, %384
  %484 = landingpad { ptr, i32 }
          cleanup
  br label %487

485:                                              ; preds = %388
  %486 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %24) #7
  br label %487

487:                                              ; preds = %485, %483
  %.pn323 = phi { ptr, i32 } [ %486, %485 ], [ %484, %483 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24) #7
  br label %2213

488:                                              ; preds = %393, %390
  %489 = landingpad { ptr, i32 }
          cleanup
  br label %492

490:                                              ; preds = %394
  %491 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %25) #7
  br label %492

492:                                              ; preds = %490, %488
  %.pn325 = phi { ptr, i32 } [ %491, %490 ], [ %489, %488 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25) #7
  br label %2213

493:                                              ; preds = %399, %396
  %494 = landingpad { ptr, i32 }
          cleanup
  br label %497

495:                                              ; preds = %400
  %496 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %26) #7
  br label %497

497:                                              ; preds = %495, %493
  %.pn327 = phi { ptr, i32 } [ %496, %495 ], [ %494, %493 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %26) #7
  br label %2213

498:                                              ; preds = %405, %402
  %499 = landingpad { ptr, i32 }
          cleanup
  br label %502

500:                                              ; preds = %406
  %501 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %27) #7
  br label %502

502:                                              ; preds = %500, %498
  %.pn329 = phi { ptr, i32 } [ %501, %500 ], [ %499, %498 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %27) #7
  br label %2213

503:                                              ; preds = %411, %408
  %504 = landingpad { ptr, i32 }
          cleanup
  br label %507

505:                                              ; preds = %412
  %506 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %28) #7
  br label %507

507:                                              ; preds = %505, %503
  %.pn331 = phi { ptr, i32 } [ %506, %505 ], [ %504, %503 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %28) #7
  br label %2213

508:                                              ; preds = %417, %414
  %509 = landingpad { ptr, i32 }
          cleanup
  br label %512

510:                                              ; preds = %418
  %511 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %29) #7
  br label %512

512:                                              ; preds = %510, %508
  %.pn333 = phi { ptr, i32 } [ %511, %510 ], [ %509, %508 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %29) #7
  br label %2213

513:                                              ; preds = %423, %420
  %514 = landingpad { ptr, i32 }
          cleanup
  br label %517

515:                                              ; preds = %424
  %516 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %30) #7
  br label %517

517:                                              ; preds = %515, %513
  %.pn335 = phi { ptr, i32 } [ %516, %515 ], [ %514, %513 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30) #7
  br label %2213

518:                                              ; preds = %428, %426
  %519 = landingpad { ptr, i32 }
          cleanup
  br label %522

520:                                              ; preds = %429
  %521 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %32) #7
  br label %522

522:                                              ; preds = %520, %518
  %.pn337 = phi { ptr, i32 } [ %521, %520 ], [ %519, %518 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %32) #7
  br label %2212

523:                                              ; preds = %443, %441, %431
  %524 = landingpad { ptr, i32 }
          cleanup
  br label %2211

525:                                              ; preds = %440
  %526 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %527 unwind label %595

527:                                              ; preds = %525
  %528 = invoke noundef double @_ZN10SimTKIpopt25IpoptCalculatedQuantities15curr_avrg_complEv(ptr noundef nonnull align 8 dereferenceable(2025) %526)
          to label %529 unwind label %595

529:                                              ; preds = %527
  %530 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5JnlstEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %531 unwind label %595

531:                                              ; preds = %529
  invoke void (ptr, i32, i32, ptr, ...) @_ZNK10SimTKIpopt10Journalist6PrintfENS_13EJournalLevelENS_16EJournalCategoryEPKcz(ptr noundef nonnull align 8 dereferenceable(40) %530, i32 noundef 5, i32 noundef 4, ptr noundef nonnull @.str.44)
          to label %532 unwind label %595

532:                                              ; preds = %531
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %33) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %34) #7
  %533 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %534 unwind label %597

534:                                              ; preds = %532
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.33") align 8 %34, ptr noundef nonnull align 8 dereferenceable(864) %533)
          to label %535 unwind label %597

535:                                              ; preds = %534
  %536 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %34)
  invoke void @_ZNK10SimTKIpopt14IteratesVector21MakeNewIteratesVectorEb(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.32") align 8 %33, ptr noundef nonnull align 8 dereferenceable(280) %536, i1 noundef zeroext true)
          to label %537 unwind label %599

537:                                              ; preds = %535
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %34) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %34) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %35) #7
  %538 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %33)
  invoke void @_ZN10SimTKIpopt14IteratesVector10x_NonConstEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.11") align 8 %35, ptr noundef nonnull align 8 dereferenceable(280) %538)
          to label %539 unwind label %602

539:                                              ; preds = %537
  %540 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %35)
  %541 = fneg double %528
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %36) #7
  %542 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %543 unwind label %604

543:                                              ; preds = %539
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities26grad_kappa_times_damping_xEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %36, ptr noundef nonnull align 8 dereferenceable(2025) %542)
          to label %544 unwind label %604

544:                                              ; preds = %543
  %545 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %36)
  invoke void @_ZN10SimTKIpopt6Vector12AddOneVectorEdRKS0_d(ptr noundef nonnull align 8 dereferenceable(205) %540, double noundef %541, ptr noundef nonnull align 8 dereferenceable(205) %545, double noundef 0.000000e+00)
          to label %546 unwind label %606

546:                                              ; preds = %544
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %36) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %36) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %35) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %35) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %37) #7
  %547 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %33)
  invoke void @_ZN10SimTKIpopt14IteratesVector10s_NonConstEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.11") align 8 %37, ptr noundef nonnull align 8 dereferenceable(280) %547)
          to label %548 unwind label %610

548:                                              ; preds = %546
  %549 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %37)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %38) #7
  %550 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %551 unwind label %612

551:                                              ; preds = %548
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities26grad_kappa_times_damping_sEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %38, ptr noundef nonnull align 8 dereferenceable(2025) %550)
          to label %552 unwind label %612

552:                                              ; preds = %551
  %553 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %38)
  invoke void @_ZN10SimTKIpopt6Vector12AddOneVectorEdRKS0_d(ptr noundef nonnull align 8 dereferenceable(205) %549, double noundef %541, ptr noundef nonnull align 8 dereferenceable(205) %553, double noundef 0.000000e+00)
          to label %554 unwind label %614

554:                                              ; preds = %552
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %38) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %38) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %37) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %37) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %39) #7
  %555 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %33)
  invoke void @_ZN10SimTKIpopt14IteratesVector12y_c_NonConstEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.11") align 8 %39, ptr noundef nonnull align 8 dereferenceable(280) %555)
          to label %556 unwind label %618

556:                                              ; preds = %554
  %557 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %39)
  invoke void @_ZN10SimTKIpopt6Vector3SetEd(ptr noundef nonnull align 8 dereferenceable(205) %557, double noundef 0.000000e+00)
          to label %558 unwind label %620

558:                                              ; preds = %556
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %39) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %39) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %40) #7
  %559 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %33)
  invoke void @_ZN10SimTKIpopt14IteratesVector12y_d_NonConstEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.11") align 8 %40, ptr noundef nonnull align 8 dereferenceable(280) %559)
          to label %560 unwind label %623

560:                                              ; preds = %558
  %561 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %40)
  invoke void @_ZN10SimTKIpopt6Vector3SetEd(ptr noundef nonnull align 8 dereferenceable(205) %561, double noundef 0.000000e+00)
          to label %562 unwind label %625

562:                                              ; preds = %560
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %40) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %40) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %41) #7
  %563 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %33)
  invoke void @_ZN10SimTKIpopt14IteratesVector12z_L_NonConstEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.11") align 8 %41, ptr noundef nonnull align 8 dereferenceable(280) %563)
          to label %564 unwind label %628

564:                                              ; preds = %562
  %565 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %41)
  invoke void @_ZN10SimTKIpopt6Vector3SetEd(ptr noundef nonnull align 8 dereferenceable(205) %565, double noundef %528)
          to label %566 unwind label %630

566:                                              ; preds = %564
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %41) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %41) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %42) #7
  %567 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %33)
  invoke void @_ZN10SimTKIpopt14IteratesVector12z_U_NonConstEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.11") align 8 %42, ptr noundef nonnull align 8 dereferenceable(280) %567)
          to label %568 unwind label %633

568:                                              ; preds = %566
  %569 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %42)
  invoke void @_ZN10SimTKIpopt6Vector3SetEd(ptr noundef nonnull align 8 dereferenceable(205) %569, double noundef %528)
          to label %570 unwind label %635

570:                                              ; preds = %568
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %42) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %42) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %43) #7
  %571 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %33)
  invoke void @_ZN10SimTKIpopt14IteratesVector12v_L_NonConstEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.11") align 8 %43, ptr noundef nonnull align 8 dereferenceable(280) %571)
          to label %572 unwind label %638

572:                                              ; preds = %570
  %573 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %43)
  invoke void @_ZN10SimTKIpopt6Vector3SetEd(ptr noundef nonnull align 8 dereferenceable(205) %573, double noundef %528)
          to label %574 unwind label %640

574:                                              ; preds = %572
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %43) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %43) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %44) #7
  %575 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %33)
  invoke void @_ZN10SimTKIpopt14IteratesVector12v_U_NonConstEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.11") align 8 %44, ptr noundef nonnull align 8 dereferenceable(280) %575)
          to label %576 unwind label %643

576:                                              ; preds = %574
  %577 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %44)
  invoke void @_ZN10SimTKIpopt6Vector3SetEd(ptr noundef nonnull align 8 dereferenceable(205) %577, double noundef %528)
          to label %578 unwind label %645

578:                                              ; preds = %576
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %44) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %44) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %45) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %46) #7
  %579 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %580 unwind label %648

580:                                              ; preds = %578
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.33") align 8 %46, ptr noundef nonnull align 8 dereferenceable(864) %579)
          to label %581 unwind label %648

581:                                              ; preds = %580
  %582 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %46)
  invoke void @_ZNK10SimTKIpopt14IteratesVector21MakeNewIteratesVectorEb(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.32") align 8 %45, ptr noundef nonnull align 8 dereferenceable(280) %582, i1 noundef zeroext true)
          to label %583 unwind label %650

583:                                              ; preds = %581
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %46) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %46) #7
  %584 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14PDSystemSolverEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %432)
  %585 = call noundef nonnull align 8 dereferenceable(280) ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %33)
  %586 = call noundef nonnull align 8 dereferenceable(280) ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %45)
  %587 = load ptr, ptr %584, align 8, !tbaa !5
  %588 = getelementptr inbounds i8, ptr %587, i64 24
  %589 = load ptr, ptr %588, align 8
  %590 = invoke noundef zeroext i1 %589(ptr noundef nonnull align 8 dereferenceable(49) %584, double noundef 1.000000e+00, double noundef 0.000000e+00, ptr noundef nonnull align 8 dereferenceable(280) %585, ptr noundef nonnull align 8 dereferenceable(280) %586, i1 noundef zeroext true, i1 noundef zeroext false)
          to label %591 unwind label %653

591:                                              ; preds = %583
  br i1 %590, label %655, label %592

592:                                              ; preds = %591
  %593 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5JnlstEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %594 unwind label %653

594:                                              ; preds = %592
  invoke void (ptr, i32, i32, ptr, ...) @_ZNK10SimTKIpopt10Journalist6PrintfENS_13EJournalLevelENS_16EJournalCategoryEPKcz(ptr noundef nonnull align 8 dereferenceable(40) %593, i32 noundef 5, i32 noundef 4, ptr noundef nonnull @.str.45)
          to label %2205 unwind label %653

595:                                              ; preds = %531, %529, %527, %525
  %596 = landingpad { ptr, i32 }
          cleanup
  br label %2211

597:                                              ; preds = %534, %532
  %598 = landingpad { ptr, i32 }
          cleanup
  br label %601

599:                                              ; preds = %535
  %600 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %34) #7
  br label %601

601:                                              ; preds = %599, %597
  %.pn339 = phi { ptr, i32 } [ %600, %599 ], [ %598, %597 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %34) #7
  br label %2209

602:                                              ; preds = %537
  %603 = landingpad { ptr, i32 }
          cleanup
  br label %609

604:                                              ; preds = %543, %539
  %605 = landingpad { ptr, i32 }
          cleanup
  br label %608

606:                                              ; preds = %544
  %607 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %36) #7
  br label %608

608:                                              ; preds = %606, %604
  %.pn341 = phi { ptr, i32 } [ %607, %606 ], [ %605, %604 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %36) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %35) #7
  br label %609

609:                                              ; preds = %608, %602
  %.pn341.pn = phi { ptr, i32 } [ %.pn341, %608 ], [ %603, %602 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %35) #7
  br label %2208

610:                                              ; preds = %546
  %611 = landingpad { ptr, i32 }
          cleanup
  br label %617

612:                                              ; preds = %551, %548
  %613 = landingpad { ptr, i32 }
          cleanup
  br label %616

614:                                              ; preds = %552
  %615 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %38) #7
  br label %616

616:                                              ; preds = %614, %612
  %.pn344 = phi { ptr, i32 } [ %615, %614 ], [ %613, %612 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %38) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %37) #7
  br label %617

617:                                              ; preds = %616, %610
  %.pn344.pn = phi { ptr, i32 } [ %.pn344, %616 ], [ %611, %610 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %37) #7
  br label %2208

618:                                              ; preds = %554
  %619 = landingpad { ptr, i32 }
          cleanup
  br label %622

620:                                              ; preds = %556
  %621 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %39) #7
  br label %622

622:                                              ; preds = %620, %618
  %.pn347 = phi { ptr, i32 } [ %621, %620 ], [ %619, %618 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %39) #7
  br label %2208

623:                                              ; preds = %558
  %624 = landingpad { ptr, i32 }
          cleanup
  br label %627

625:                                              ; preds = %560
  %626 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %40) #7
  br label %627

627:                                              ; preds = %625, %623
  %.pn349 = phi { ptr, i32 } [ %626, %625 ], [ %624, %623 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %40) #7
  br label %2208

628:                                              ; preds = %562
  %629 = landingpad { ptr, i32 }
          cleanup
  br label %632

630:                                              ; preds = %564
  %631 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %41) #7
  br label %632

632:                                              ; preds = %630, %628
  %.pn351 = phi { ptr, i32 } [ %631, %630 ], [ %629, %628 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %41) #7
  br label %2208

633:                                              ; preds = %566
  %634 = landingpad { ptr, i32 }
          cleanup
  br label %637

635:                                              ; preds = %568
  %636 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %42) #7
  br label %637

637:                                              ; preds = %635, %633
  %.pn353 = phi { ptr, i32 } [ %636, %635 ], [ %634, %633 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %42) #7
  br label %2208

638:                                              ; preds = %570
  %639 = landingpad { ptr, i32 }
          cleanup
  br label %642

640:                                              ; preds = %572
  %641 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %43) #7
  br label %642

642:                                              ; preds = %640, %638
  %.pn355 = phi { ptr, i32 } [ %641, %640 ], [ %639, %638 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %43) #7
  br label %2208

643:                                              ; preds = %574
  %644 = landingpad { ptr, i32 }
          cleanup
  br label %647

645:                                              ; preds = %576
  %646 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %44) #7
  br label %647

647:                                              ; preds = %645, %643
  %.pn357 = phi { ptr, i32 } [ %646, %645 ], [ %644, %643 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %44) #7
  br label %2208

648:                                              ; preds = %580, %578
  %649 = landingpad { ptr, i32 }
          cleanup
  br label %652

650:                                              ; preds = %581
  %651 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %46) #7
  br label %652

652:                                              ; preds = %650, %648
  %.pn359 = phi { ptr, i32 } [ %651, %650 ], [ %649, %648 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %46) #7
  br label %2207

653:                                              ; preds = %1473, %1269, %1267, %1070, %865, %863, %657, %655, %594, %592, %583
  %654 = landingpad { ptr, i32 }
          cleanup
  br label %2206

655:                                              ; preds = %591
  %656 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %657 unwind label %653

657:                                              ; preds = %655
  %658 = call noundef nonnull align 8 dereferenceable(664) ptr @_ZN10SimTKIpopt9IpoptData11TimingStatsEv(ptr noundef nonnull align 8 dereferenceable(864) %656)
  %659 = call noundef nonnull align 8 dereferenceable(18) ptr @_ZN10SimTKIpopt16TimingStatistics21QualityFunctionSearchEv(ptr noundef nonnull align 8 dereferenceable(664) %658)
  invoke void @_ZN10SimTKIpopt9TimedTask5StartEv(ptr noundef nonnull align 8 dereferenceable(18) %659)
          to label %660 unwind label %653

660:                                              ; preds = %657
  %661 = getelementptr inbounds i8, ptr %0, i64 252
  %662 = load i8, ptr %661, align 4, !tbaa !8, !range !28, !noundef !29
  %663 = trunc nuw i8 %662 to i1
  br i1 %663, label %806, label %664

664:                                              ; preds = %660
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %47) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %48) #7
  %665 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %666 unwind label %737

666:                                              ; preds = %664
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.33") align 8 %48, ptr noundef nonnull align 8 dereferenceable(864) %665)
          to label %667 unwind label %737

667:                                              ; preds = %666
  %668 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %48)
  invoke void @_ZNK10SimTKIpopt14IteratesVector1xEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %47, ptr noundef nonnull align 8 dereferenceable(280) %668)
          to label %669 unwind label %739

669:                                              ; preds = %667
  %670 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %47)
  %671 = invoke noundef i32 @_ZNK10SimTKIpopt6Vector3DimEv(ptr noundef nonnull align 8 dereferenceable(205) %670)
          to label %672 unwind label %741

672:                                              ; preds = %669
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %49) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %50) #7
  %673 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %674 unwind label %743

674:                                              ; preds = %672
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.33") align 8 %50, ptr noundef nonnull align 8 dereferenceable(864) %673)
          to label %675 unwind label %743

675:                                              ; preds = %674
  %676 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %50)
  invoke void @_ZNK10SimTKIpopt14IteratesVector1sEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %49, ptr noundef nonnull align 8 dereferenceable(280) %676)
          to label %677 unwind label %745

677:                                              ; preds = %675
  %678 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %49)
  %679 = invoke noundef i32 @_ZNK10SimTKIpopt6Vector3DimEv(ptr noundef nonnull align 8 dereferenceable(205) %678)
          to label %680 unwind label %747

680:                                              ; preds = %677
  %681 = add nsw i32 %679, %671
  %682 = getelementptr inbounds i8, ptr %0, i64 256
  store i32 %681, ptr %682, align 8, !tbaa !30
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %49) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %50) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %50) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %49) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %47) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %48) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %48) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %47) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %51) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %52) #7
  %683 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %684 unwind label %754

684:                                              ; preds = %680
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.33") align 8 %52, ptr noundef nonnull align 8 dereferenceable(864) %683)
          to label %685 unwind label %754

685:                                              ; preds = %684
  %686 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %52)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3y_cEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %51, ptr noundef nonnull align 8 dereferenceable(280) %686)
          to label %687 unwind label %756

687:                                              ; preds = %685
  %688 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %51)
  %689 = invoke noundef i32 @_ZNK10SimTKIpopt6Vector3DimEv(ptr noundef nonnull align 8 dereferenceable(205) %688)
          to label %690 unwind label %758

690:                                              ; preds = %687
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %53) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %54) #7
  %691 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %692 unwind label %760

692:                                              ; preds = %690
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.33") align 8 %54, ptr noundef nonnull align 8 dereferenceable(864) %691)
          to label %693 unwind label %760

693:                                              ; preds = %692
  %694 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %54)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3y_dEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %53, ptr noundef nonnull align 8 dereferenceable(280) %694)
          to label %695 unwind label %762

695:                                              ; preds = %693
  %696 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %53)
  %697 = invoke noundef i32 @_ZNK10SimTKIpopt6Vector3DimEv(ptr noundef nonnull align 8 dereferenceable(205) %696)
          to label %698 unwind label %764

698:                                              ; preds = %695
  %699 = add nsw i32 %697, %689
  %700 = getelementptr inbounds i8, ptr %0, i64 260
  store i32 %699, ptr %700, align 4, !tbaa !31
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %53) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %54) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %54) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %53) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %51) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %52) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %52) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %51) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %55) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %56) #7
  %701 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %702 unwind label %771

702:                                              ; preds = %698
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.33") align 8 %56, ptr noundef nonnull align 8 dereferenceable(864) %701)
          to label %703 unwind label %771

703:                                              ; preds = %702
  %704 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %56)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_LEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %55, ptr noundef nonnull align 8 dereferenceable(280) %704)
          to label %705 unwind label %773

705:                                              ; preds = %703
  %706 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %55)
  %707 = invoke noundef i32 @_ZNK10SimTKIpopt6Vector3DimEv(ptr noundef nonnull align 8 dereferenceable(205) %706)
          to label %708 unwind label %775

708:                                              ; preds = %705
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %57) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %58) #7
  %709 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %710 unwind label %777

710:                                              ; preds = %708
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.33") align 8 %58, ptr noundef nonnull align 8 dereferenceable(864) %709)
          to label %711 unwind label %777

711:                                              ; preds = %710
  %712 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %58)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_UEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %57, ptr noundef nonnull align 8 dereferenceable(280) %712)
          to label %713 unwind label %779

713:                                              ; preds = %711
  %714 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %57)
  %715 = invoke noundef i32 @_ZNK10SimTKIpopt6Vector3DimEv(ptr noundef nonnull align 8 dereferenceable(205) %714)
          to label %716 unwind label %781

716:                                              ; preds = %713
  %717 = add nsw i32 %715, %707
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %59) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %60) #7
  %718 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %719 unwind label %783

719:                                              ; preds = %716
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.33") align 8 %60, ptr noundef nonnull align 8 dereferenceable(864) %718)
          to label %720 unwind label %783

720:                                              ; preds = %719
  %721 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %60)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_LEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %59, ptr noundef nonnull align 8 dereferenceable(280) %721)
          to label %722 unwind label %785

722:                                              ; preds = %720
  %723 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %59)
  %724 = invoke noundef i32 @_ZNK10SimTKIpopt6Vector3DimEv(ptr noundef nonnull align 8 dereferenceable(205) %723)
          to label %725 unwind label %787

725:                                              ; preds = %722
  %726 = add nsw i32 %717, %724
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %61) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %62) #7
  %727 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %728 unwind label %789

728:                                              ; preds = %725
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.33") align 8 %62, ptr noundef nonnull align 8 dereferenceable(864) %727)
          to label %729 unwind label %789

729:                                              ; preds = %728
  %730 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %62)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_UEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %61, ptr noundef nonnull align 8 dereferenceable(280) %730)
          to label %731 unwind label %791

731:                                              ; preds = %729
  %732 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %61)
  %733 = invoke noundef i32 @_ZNK10SimTKIpopt6Vector3DimEv(ptr noundef nonnull align 8 dereferenceable(205) %732)
          to label %734 unwind label %793

734:                                              ; preds = %731
  %735 = add nsw i32 %726, %733
  %736 = getelementptr inbounds i8, ptr %0, i64 264
  store i32 %735, ptr %736, align 8, !tbaa !32
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %61) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %62) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %62) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %61) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %59) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %60) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %60) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %59) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %57) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %58) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %58) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %57) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %55) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %56) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %56) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %55) #7
  store i8 1, ptr %661, align 4, !tbaa !8
  br label %806

737:                                              ; preds = %666, %664
  %738 = landingpad { ptr, i32 }
          cleanup
  br label %753

739:                                              ; preds = %667
  %740 = landingpad { ptr, i32 }
          cleanup
  br label %752

741:                                              ; preds = %669
  %742 = landingpad { ptr, i32 }
          cleanup
  br label %751

743:                                              ; preds = %674, %672
  %744 = landingpad { ptr, i32 }
          cleanup
  br label %750

745:                                              ; preds = %675
  %746 = landingpad { ptr, i32 }
          cleanup
  br label %749

747:                                              ; preds = %677
  %748 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %49) #7
  br label %749

749:                                              ; preds = %747, %745
  %.pn361 = phi { ptr, i32 } [ %748, %747 ], [ %746, %745 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %50) #7
  br label %750

750:                                              ; preds = %749, %743
  %.pn361.pn = phi { ptr, i32 } [ %.pn361, %749 ], [ %744, %743 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %50) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %49) #7
  br label %751

751:                                              ; preds = %750, %741
  %.pn361.pn.pn = phi { ptr, i32 } [ %.pn361.pn, %750 ], [ %742, %741 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %47) #7
  br label %752

752:                                              ; preds = %751, %739
  %.pn361.pn.pn.pn = phi { ptr, i32 } [ %.pn361.pn.pn, %751 ], [ %740, %739 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %48) #7
  br label %753

753:                                              ; preds = %752, %737
  %.pn361.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn361.pn.pn.pn, %752 ], [ %738, %737 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %48) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %47) #7
  br label %2206

754:                                              ; preds = %684, %680
  %755 = landingpad { ptr, i32 }
          cleanup
  br label %770

756:                                              ; preds = %685
  %757 = landingpad { ptr, i32 }
          cleanup
  br label %769

758:                                              ; preds = %687
  %759 = landingpad { ptr, i32 }
          cleanup
  br label %768

760:                                              ; preds = %692, %690
  %761 = landingpad { ptr, i32 }
          cleanup
  br label %767

762:                                              ; preds = %693
  %763 = landingpad { ptr, i32 }
          cleanup
  br label %766

764:                                              ; preds = %695
  %765 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %53) #7
  br label %766

766:                                              ; preds = %764, %762
  %.pn367 = phi { ptr, i32 } [ %765, %764 ], [ %763, %762 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %54) #7
  br label %767

767:                                              ; preds = %766, %760
  %.pn367.pn = phi { ptr, i32 } [ %.pn367, %766 ], [ %761, %760 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %54) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %53) #7
  br label %768

768:                                              ; preds = %767, %758
  %.pn367.pn.pn = phi { ptr, i32 } [ %.pn367.pn, %767 ], [ %759, %758 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %51) #7
  br label %769

769:                                              ; preds = %768, %756
  %.pn367.pn.pn.pn = phi { ptr, i32 } [ %.pn367.pn.pn, %768 ], [ %757, %756 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %52) #7
  br label %770

770:                                              ; preds = %769, %754
  %.pn367.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn367.pn.pn.pn, %769 ], [ %755, %754 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %52) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %51) #7
  br label %2206

771:                                              ; preds = %702, %698
  %772 = landingpad { ptr, i32 }
          cleanup
  br label %805

773:                                              ; preds = %703
  %774 = landingpad { ptr, i32 }
          cleanup
  br label %804

775:                                              ; preds = %705
  %776 = landingpad { ptr, i32 }
          cleanup
  br label %803

777:                                              ; preds = %710, %708
  %778 = landingpad { ptr, i32 }
          cleanup
  br label %802

779:                                              ; preds = %711
  %780 = landingpad { ptr, i32 }
          cleanup
  br label %801

781:                                              ; preds = %713
  %782 = landingpad { ptr, i32 }
          cleanup
  br label %800

783:                                              ; preds = %719, %716
  %784 = landingpad { ptr, i32 }
          cleanup
  br label %799

785:                                              ; preds = %720
  %786 = landingpad { ptr, i32 }
          cleanup
  br label %798

787:                                              ; preds = %722
  %788 = landingpad { ptr, i32 }
          cleanup
  br label %797

789:                                              ; preds = %728, %725
  %790 = landingpad { ptr, i32 }
          cleanup
  br label %796

791:                                              ; preds = %729
  %792 = landingpad { ptr, i32 }
          cleanup
  br label %795

793:                                              ; preds = %731
  %794 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %61) #7
  br label %795

795:                                              ; preds = %793, %791
  %.pn373 = phi { ptr, i32 } [ %794, %793 ], [ %792, %791 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %62) #7
  br label %796

796:                                              ; preds = %795, %789
  %.pn373.pn = phi { ptr, i32 } [ %.pn373, %795 ], [ %790, %789 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %62) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %61) #7
  br label %797

797:                                              ; preds = %796, %787
  %.pn373.pn.pn = phi { ptr, i32 } [ %.pn373.pn, %796 ], [ %788, %787 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %59) #7
  br label %798

798:                                              ; preds = %797, %785
  %.pn373.pn.pn.pn = phi { ptr, i32 } [ %.pn373.pn.pn, %797 ], [ %786, %785 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %60) #7
  br label %799

799:                                              ; preds = %798, %783
  %.pn373.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn373.pn.pn.pn, %798 ], [ %784, %783 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %60) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %59) #7
  br label %800

800:                                              ; preds = %799, %781
  %.pn373.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn373.pn.pn.pn.pn, %799 ], [ %782, %781 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %57) #7
  br label %801

801:                                              ; preds = %800, %779
  %.pn373.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn373.pn.pn.pn.pn.pn, %800 ], [ %780, %779 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %58) #7
  br label %802

802:                                              ; preds = %801, %777
  %.pn373.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn373.pn.pn.pn.pn.pn.pn, %801 ], [ %778, %777 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %58) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %57) #7
  br label %803

803:                                              ; preds = %802, %775
  %.pn373.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn373.pn.pn.pn.pn.pn.pn.pn, %802 ], [ %776, %775 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %55) #7
  br label %804

804:                                              ; preds = %803, %773
  %.pn373.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn373.pn.pn.pn.pn.pn.pn.pn.pn, %803 ], [ %774, %773 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %56) #7
  br label %805

805:                                              ; preds = %804, %771
  %.pn373.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn373.pn.pn.pn.pn.pn.pn.pn.pn.pn, %804 ], [ %772, %771 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %56) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %55) #7
  br label %2206

806:                                              ; preds = %734, %660
  %807 = getelementptr inbounds i8, ptr %0, i64 248
  store i32 0, ptr %807, align 8, !tbaa !33
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %63) #7
  %808 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %809 unwind label %871

809:                                              ; preds = %806
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_slack_x_LEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %63, ptr noundef nonnull align 8 dereferenceable(2025) %808)
          to label %810 unwind label %871

810:                                              ; preds = %809
  %811 = getelementptr inbounds i8, ptr %0, i64 272
  %812 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %811, ptr noundef nonnull align 8 dereferenceable(8) %63)
          to label %813 unwind label %873

813:                                              ; preds = %810
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %63) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %63) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %64) #7
  %814 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %815 unwind label %876

815:                                              ; preds = %813
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_slack_x_UEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %64, ptr noundef nonnull align 8 dereferenceable(2025) %814)
          to label %816 unwind label %876

816:                                              ; preds = %815
  %817 = getelementptr inbounds i8, ptr %0, i64 280
  %818 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %817, ptr noundef nonnull align 8 dereferenceable(8) %64)
          to label %819 unwind label %878

819:                                              ; preds = %816
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %64) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %64) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %65) #7
  %820 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %821 unwind label %881

821:                                              ; preds = %819
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_slack_s_LEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %65, ptr noundef nonnull align 8 dereferenceable(2025) %820)
          to label %822 unwind label %881

822:                                              ; preds = %821
  %823 = getelementptr inbounds i8, ptr %0, i64 288
  %824 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %823, ptr noundef nonnull align 8 dereferenceable(8) %65)
          to label %825 unwind label %883

825:                                              ; preds = %822
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %65) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %65) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %66) #7
  %826 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %827 unwind label %886

827:                                              ; preds = %825
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_slack_s_UEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %66, ptr noundef nonnull align 8 dereferenceable(2025) %826)
          to label %828 unwind label %886

828:                                              ; preds = %827
  %829 = getelementptr inbounds i8, ptr %0, i64 296
  %830 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %829, ptr noundef nonnull align 8 dereferenceable(8) %66)
          to label %831 unwind label %888

831:                                              ; preds = %828
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %66) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %66) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %67) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %68) #7
  %832 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %833 unwind label %891

833:                                              ; preds = %831
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.33") align 8 %68, ptr noundef nonnull align 8 dereferenceable(864) %832)
          to label %834 unwind label %891

834:                                              ; preds = %833
  %835 = 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.12") align 8 %67, ptr noundef nonnull align 8 dereferenceable(280) %835)
          to label %836 unwind label %893

836:                                              ; preds = %834
  %837 = getelementptr inbounds i8, ptr %0, i64 304
  %838 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %837, ptr noundef nonnull align 8 dereferenceable(8) %67)
          to label %839 unwind label %895

839:                                              ; preds = %836
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %67) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %68) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %68) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %67) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %69) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %70) #7
  %840 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %841 unwind label %899

841:                                              ; preds = %839
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.33") align 8 %70, ptr noundef nonnull align 8 dereferenceable(864) %840)
          to label %842 unwind label %899

842:                                              ; preds = %841
  %843 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %70)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_UEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %69, ptr noundef nonnull align 8 dereferenceable(280) %843)
          to label %844 unwind label %901

844:                                              ; preds = %842
  %845 = getelementptr inbounds i8, ptr %0, i64 312
  %846 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %845, ptr noundef nonnull align 8 dereferenceable(8) %69)
          to label %847 unwind label %903

847:                                              ; preds = %844
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %69) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %70) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %70) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %69) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %71) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %72) #7
  %848 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %849 unwind label %907

849:                                              ; preds = %847
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.33") align 8 %72, ptr noundef nonnull align 8 dereferenceable(864) %848)
          to label %850 unwind label %907

850:                                              ; preds = %849
  %851 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %72)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_LEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %71, ptr noundef nonnull align 8 dereferenceable(280) %851)
          to label %852 unwind label %909

852:                                              ; preds = %850
  %853 = getelementptr inbounds i8, ptr %0, i64 320
  %854 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %853, ptr noundef nonnull align 8 dereferenceable(8) %71)
          to label %855 unwind label %911

855:                                              ; preds = %852
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %71) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %72) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %72) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %71) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %73) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %74) #7
  %856 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %857 unwind label %915

857:                                              ; preds = %855
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.33") align 8 %74, ptr noundef nonnull align 8 dereferenceable(864) %856)
          to label %858 unwind label %915

858:                                              ; preds = %857
  %859 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %74)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_UEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %73, ptr noundef nonnull align 8 dereferenceable(280) %859)
          to label %860 unwind label %917

860:                                              ; preds = %858
  %861 = getelementptr inbounds i8, ptr %0, i64 328
  %862 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %861, ptr noundef nonnull align 8 dereferenceable(8) %73)
          to label %863 unwind label %919

863:                                              ; preds = %860
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %73) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %74) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %74) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %73) #7
  %864 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %865 unwind label %653

865:                                              ; preds = %863
  %866 = call noundef nonnull align 8 dereferenceable(664) ptr @_ZN10SimTKIpopt9IpoptData11TimingStatsEv(ptr noundef nonnull align 8 dereferenceable(864) %864)
  %867 = call noundef nonnull align 8 dereferenceable(18) ptr @_ZN10SimTKIpopt16TimingStatistics5Task5Ev(ptr noundef nonnull align 8 dereferenceable(664) %866)
  invoke void @_ZN10SimTKIpopt9TimedTask5StartEv(ptr noundef nonnull align 8 dereferenceable(18) %867)
          to label %868 unwind label %653

868:                                              ; preds = %865
  %869 = getelementptr inbounds i8, ptr %0, i64 80
  %870 = load i32, ptr %869, align 8, !tbaa !34
  switch i32 %870, label %1070 [
    i32 0, label %923
    i32 1, label %972
    i32 3, label %972
    i32 2, label %1021
  ]

871:                                              ; preds = %809, %806
  %872 = landingpad { ptr, i32 }
          cleanup
  br label %875

873:                                              ; preds = %810
  %874 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %63) #7
  br label %875

875:                                              ; preds = %873, %871
  %.pn385 = phi { ptr, i32 } [ %874, %873 ], [ %872, %871 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %63) #7
  br label %2206

876:                                              ; preds = %815, %813
  %877 = landingpad { ptr, i32 }
          cleanup
  br label %880

878:                                              ; preds = %816
  %879 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %64) #7
  br label %880

880:                                              ; preds = %878, %876
  %.pn387 = phi { ptr, i32 } [ %879, %878 ], [ %877, %876 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %64) #7
  br label %2206

881:                                              ; preds = %821, %819
  %882 = landingpad { ptr, i32 }
          cleanup
  br label %885

883:                                              ; preds = %822
  %884 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %65) #7
  br label %885

885:                                              ; preds = %883, %881
  %.pn389 = phi { ptr, i32 } [ %884, %883 ], [ %882, %881 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %65) #7
  br label %2206

886:                                              ; preds = %827, %825
  %887 = landingpad { ptr, i32 }
          cleanup
  br label %890

888:                                              ; preds = %828
  %889 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %66) #7
  br label %890

890:                                              ; preds = %888, %886
  %.pn391 = phi { ptr, i32 } [ %889, %888 ], [ %887, %886 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %66) #7
  br label %2206

891:                                              ; preds = %833, %831
  %892 = landingpad { ptr, i32 }
          cleanup
  br label %898

893:                                              ; preds = %834
  %894 = landingpad { ptr, i32 }
          cleanup
  br label %897

895:                                              ; preds = %836
  %896 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %67) #7
  br label %897

897:                                              ; preds = %895, %893
  %.pn393 = phi { ptr, i32 } [ %896, %895 ], [ %894, %893 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %68) #7
  br label %898

898:                                              ; preds = %897, %891
  %.pn393.pn = phi { ptr, i32 } [ %.pn393, %897 ], [ %892, %891 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %68) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %67) #7
  br label %2206

899:                                              ; preds = %841, %839
  %900 = landingpad { ptr, i32 }
          cleanup
  br label %906

901:                                              ; preds = %842
  %902 = landingpad { ptr, i32 }
          cleanup
  br label %905

903:                                              ; preds = %844
  %904 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %69) #7
  br label %905

905:                                              ; preds = %903, %901
  %.pn396 = phi { ptr, i32 } [ %904, %903 ], [ %902, %901 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %70) #7
  br label %906

906:                                              ; preds = %905, %899
  %.pn396.pn = phi { ptr, i32 } [ %.pn396, %905 ], [ %900, %899 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %70) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %69) #7
  br label %2206

907:                                              ; preds = %849, %847
  %908 = landingpad { ptr, i32 }
          cleanup
  br label %914

909:                                              ; preds = %850
  %910 = landingpad { ptr, i32 }
          cleanup
  br label %913

911:                                              ; preds = %852
  %912 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %71) #7
  br label %913

913:                                              ; preds = %911, %909
  %.pn399 = phi { ptr, i32 } [ %912, %911 ], [ %910, %909 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %72) #7
  br label %914

914:                                              ; preds = %913, %907
  %.pn399.pn = phi { ptr, i32 } [ %.pn399, %913 ], [ %908, %907 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %72) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %71) #7
  br label %2206

915:                                              ; preds = %857, %855
  %916 = landingpad { ptr, i32 }
          cleanup
  br label %922

917:                                              ; preds = %858
  %918 = landingpad { ptr, i32 }
          cleanup
  br label %921

919:                                              ; preds = %860
  %920 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %73) #7
  br label %921

921:                                              ; preds = %919, %917
  %.pn402 = phi { ptr, i32 } [ %920, %919 ], [ %918, %917 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %74) #7
  br label %922

922:                                              ; preds = %921, %915
  %.pn402.pn = phi { ptr, i32 } [ %.pn402, %921 ], [ %916, %915 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %74) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %73) #7
  br label %2206

923:                                              ; preds = %868
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %75) #7
  %924 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %925 unwind label %952

925:                                              ; preds = %923
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities15curr_grad_lag_xEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %75, ptr noundef nonnull align 8 dereferenceable(2025) %924)
          to label %926 unwind label %952

926:                                              ; preds = %925
  %927 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %75)
  %928 = invoke noundef double @_ZNK10SimTKIpopt6Vector4AsumEv(ptr noundef nonnull align 8 dereferenceable(205) %927)
          to label %929 unwind label %954

929:                                              ; preds = %926
  %930 = getelementptr inbounds i8, ptr %0, i64 336
  store double %928, ptr %930, align 8, !tbaa !35
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %75) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %75) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %76) #7
  %931 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %932 unwind label %957

932:                                              ; preds = %929
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities15curr_grad_lag_sEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %76, ptr noundef nonnull align 8 dereferenceable(2025) %931)
          to label %933 unwind label %957

933:                                              ; preds = %932
  %934 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %76)
  %935 = invoke noundef double @_ZNK10SimTKIpopt6Vector4AsumEv(ptr noundef nonnull align 8 dereferenceable(205) %934)
          to label %936 unwind label %959

936:                                              ; preds = %933
  %937 = getelementptr inbounds i8, ptr %0, i64 344
  store double %935, ptr %937, align 8, !tbaa !36
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %76) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %76) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %77) #7
  %938 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %939 unwind label %962

939:                                              ; preds = %936
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities6curr_cEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %77, ptr noundef nonnull align 8 dereferenceable(2025) %938)
          to label %940 unwind label %962

940:                                              ; preds = %939
  %941 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %77)
  %942 = invoke noundef double @_ZNK10SimTKIpopt6Vector4AsumEv(ptr noundef nonnull align 8 dereferenceable(205) %941)
          to label %943 unwind label %964

943:                                              ; preds = %940
  %944 = getelementptr inbounds i8, ptr %0, i64 352
  store double %942, ptr %944, align 8, !tbaa !37
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %77) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %77) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %78) #7
  %945 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %946 unwind label %967

946:                                              ; preds = %943
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_d_minus_sEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %78, ptr noundef nonnull align 8 dereferenceable(2025) %945)
          to label %947 unwind label %967

947:                                              ; preds = %946
  %948 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %78)
  %949 = invoke noundef double @_ZNK10SimTKIpopt6Vector4AsumEv(ptr noundef nonnull align 8 dereferenceable(205) %948)
          to label %950 unwind label %969

950:                                              ; preds = %947
  %951 = getelementptr inbounds i8, ptr %0, i64 360
  store double %949, ptr %951, align 8, !tbaa !38
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %78) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %78) #7
  br label %1070

952:                                              ; preds = %925, %923
  %953 = landingpad { ptr, i32 }
          cleanup
  br label %956

954:                                              ; preds = %926
  %955 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %75) #7
  br label %956

956:                                              ; preds = %954, %952
  %.pn421 = phi { ptr, i32 } [ %955, %954 ], [ %953, %952 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %75) #7
  br label %2206

957:                                              ; preds = %932, %929
  %958 = landingpad { ptr, i32 }
          cleanup
  br label %961

959:                                              ; preds = %933
  %960 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %76) #7
  br label %961

961:                                              ; preds = %959, %957
  %.pn423 = phi { ptr, i32 } [ %960, %959 ], [ %958, %957 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %76) #7
  br label %2206

962:                                              ; preds = %939, %936
  %963 = landingpad { ptr, i32 }
          cleanup
  br label %966

964:                                              ; preds = %940
  %965 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %77) #7
  br label %966

966:                                              ; preds = %964, %962
  %.pn425 = phi { ptr, i32 } [ %965, %964 ], [ %963, %962 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %77) #7
  br label %2206

967:                                              ; preds = %946, %943
  %968 = landingpad { ptr, i32 }
          cleanup
  br label %971

969:                                              ; preds = %947
  %970 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %78) #7
  br label %971

971:                                              ; preds = %969, %967
  %.pn427 = phi { ptr, i32 } [ %970, %969 ], [ %968, %967 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %78) #7
  br label %2206

972:                                              ; preds = %868, %868
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %79) #7
  %973 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %974 unwind label %1001

974:                                              ; preds = %972
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities15curr_grad_lag_xEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %79, ptr noundef nonnull align 8 dereferenceable(2025) %973)
          to label %975 unwind label %1001

975:                                              ; preds = %974
  %976 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %79)
  %977 = invoke noundef double @_ZNK10SimTKIpopt6Vector4Nrm2Ev(ptr noundef nonnull align 8 dereferenceable(205) %976)
          to label %978 unwind label %1003

978:                                              ; preds = %975
  %979 = getelementptr inbounds i8, ptr %0, i64 368
  store double %977, ptr %979, align 8, !tbaa !39
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %79) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %79) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %80) #7
  %980 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %981 unwind label %1006

981:                                              ; preds = %978
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities15curr_grad_lag_sEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %80, ptr noundef nonnull align 8 dereferenceable(2025) %980)
          to label %982 unwind label %1006

982:                                              ; preds = %981
  %983 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %80)
  %984 = invoke noundef double @_ZNK10SimTKIpopt6Vector4Nrm2Ev(ptr noundef nonnull align 8 dereferenceable(205) %983)
          to label %985 unwind label %1008

985:                                              ; preds = %982
  %986 = getelementptr inbounds i8, ptr %0, i64 376
  store double %984, ptr %986, align 8, !tbaa !40
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %80) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %80) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %81) #7
  %987 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %988 unwind label %1011

988:                                              ; preds = %985
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities6curr_cEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %81, ptr noundef nonnull align 8 dereferenceable(2025) %987)
          to label %989 unwind label %1011

989:                                              ; preds = %988
  %990 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %81)
  %991 = invoke noundef double @_ZNK10SimTKIpopt6Vector4Nrm2Ev(ptr noundef nonnull align 8 dereferenceable(205) %990)
          to label %992 unwind label %1013

992:                                              ; preds = %989
  %993 = getelementptr inbounds i8, ptr %0, i64 384
  store double %991, ptr %993, align 8, !tbaa !41
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %81) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %81) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %82) #7
  %994 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %995 unwind label %1016

995:                                              ; preds = %992
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_d_minus_sEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %82, ptr noundef nonnull align 8 dereferenceable(2025) %994)
          to label %996 unwind label %1016

996:                                              ; preds = %995
  %997 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %82)
  %998 = invoke noundef double @_ZNK10SimTKIpopt6Vector4Nrm2Ev(ptr noundef nonnull align 8 dereferenceable(205) %997)
          to label %999 unwind label %1018

999:                                              ; preds = %996
  %1000 = getelementptr inbounds i8, ptr %0, i64 392
  store double %998, ptr %1000, align 8, !tbaa !42
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %82) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %82) #7
  br label %1070

1001:                                             ; preds = %974, %972
  %1002 = landingpad { ptr, i32 }
          cleanup
  br label %1005

1003:                                             ; preds = %975
  %1004 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %79) #7
  br label %1005

1005:                                             ; preds = %1003, %1001
  %.pn413 = phi { ptr, i32 } [ %1004, %1003 ], [ %1002, %1001 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %79) #7
  br label %2206

1006:                                             ; preds = %981, %978
  %1007 = landingpad { ptr, i32 }
          cleanup
  br label %1010

1008:                                             ; preds = %982
  %1009 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %80) #7
  br label %1010

1010:                                             ; preds = %1008, %1006
  %.pn415 = phi { ptr, i32 } [ %1009, %1008 ], [ %1007, %1006 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %80) #7
  br label %2206

1011:                                             ; preds = %988, %985
  %1012 = landingpad { ptr, i32 }
          cleanup
  br label %1015

1013:                                             ; preds = %989
  %1014 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %81) #7
  br label %1015

1015:                                             ; preds = %1013, %1011
  %.pn417 = phi { ptr, i32 } [ %1014, %1013 ], [ %1012, %1011 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %81) #7
  br label %2206

1016:                                             ; preds = %995, %992
  %1017 = landingpad { ptr, i32 }
          cleanup
  br label %1020

1018:                                             ; preds = %996
  %1019 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %82) #7
  br label %1020

1020:                                             ; preds = %1018, %1016
  %.pn419 = phi { ptr, i32 } [ %1019, %1018 ], [ %1017, %1016 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %82) #7
  br label %2206

1021:                                             ; preds = %868
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %83) #7
  %1022 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %1023 unwind label %1050

1023:                                             ; preds = %1021
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities15curr_grad_lag_xEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %83, ptr noundef nonnull align 8 dereferenceable(2025) %1022)
          to label %1024 unwind label %1050

1024:                                             ; preds = %1023
  %1025 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %83)
  %1026 = invoke noundef double @_ZNK10SimTKIpopt6Vector4AmaxEv(ptr noundef nonnull align 8 dereferenceable(205) %1025)
          to label %1027 unwind label %1052

1027:                                             ; preds = %1024
  %1028 = getelementptr inbounds i8, ptr %0, i64 400
  store double %1026, ptr %1028, align 8, !tbaa !43
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %83) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %83) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %84) #7
  %1029 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %1030 unwind label %1055

1030:                                             ; preds = %1027
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities15curr_grad_lag_sEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %84, ptr noundef nonnull align 8 dereferenceable(2025) %1029)
          to label %1031 unwind label %1055

1031:                                             ; preds = %1030
  %1032 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %84)
  %1033 = invoke noundef double @_ZNK10SimTKIpopt6Vector4AmaxEv(ptr noundef nonnull align 8 dereferenceable(205) %1032)
          to label %1034 unwind label %1057

1034:                                             ; preds = %1031
  %1035 = getelementptr inbounds i8, ptr %0, i64 408
  store double %1033, ptr %1035, align 8, !tbaa !44
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %84) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %84) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %85) #7
  %1036 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %1037 unwind label %1060

1037:                                             ; preds = %1034
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities6curr_cEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %85, ptr noundef nonnull align 8 dereferenceable(2025) %1036)
          to label %1038 unwind label %1060

1038:                                             ; preds = %1037
  %1039 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %85)
  %1040 = invoke noundef double @_ZNK10SimTKIpopt6Vector4AmaxEv(ptr noundef nonnull align 8 dereferenceable(205) %1039)
          to label %1041 unwind label %1062

1041:                                             ; preds = %1038
  %1042 = getelementptr inbounds i8, ptr %0, i64 416
  store double %1040, ptr %1042, align 8, !tbaa !45
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %85) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %85) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %86) #7
  %1043 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %1044 unwind label %1065

1044:                                             ; preds = %1041
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_d_minus_sEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %86, ptr noundef nonnull align 8 dereferenceable(2025) %1043)
          to label %1045 unwind label %1065

1045:                                             ; preds = %1044
  %1046 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %86)
  %1047 = invoke noundef double @_ZNK10SimTKIpopt6Vector4AmaxEv(ptr noundef nonnull align 8 dereferenceable(205) %1046)
          to label %1048 unwind label %1067

1048:                                             ; preds = %1045
  %1049 = getelementptr inbounds i8, ptr %0, i64 424
  store double %1047, ptr %1049, align 8, !tbaa !46
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %86) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %86) #7
  br label %1070

1050:                                             ; preds = %1023, %1021
  %1051 = landingpad { ptr, i32 }
          cleanup
  br label %1054

1052:                                             ; preds = %1024
  %1053 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %83) #7
  br label %1054

1054:                                             ; preds = %1052, %1050
  %.pn405 = phi { ptr, i32 } [ %1053, %1052 ], [ %1051, %1050 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %83) #7
  br label %2206

1055:                                             ; preds = %1030, %1027
  %1056 = landingpad { ptr, i32 }
          cleanup
  br label %1059

1057:                                             ; preds = %1031
  %1058 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %84) #7
  br label %1059

1059:                                             ; preds = %1057, %1055
  %.pn407 = phi { ptr, i32 } [ %1058, %1057 ], [ %1056, %1055 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %84) #7
  br label %2206

1060:                                             ; preds = %1037, %1034
  %1061 = landingpad { ptr, i32 }
          cleanup
  br label %1064

1062:                                             ; preds = %1038
  %1063 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %85) #7
  br label %1064

1064:                                             ; preds = %1062, %1060
  %.pn409 = phi { ptr, i32 } [ %1063, %1062 ], [ %1061, %1060 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %85) #7
  br label %2206

1065:                                             ; preds = %1044, %1041
  %1066 = landingpad { ptr, i32 }
          cleanup
  br label %1069

1067:                                             ; preds = %1045
  %1068 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %86) #7
  br label %1069

1069:                                             ; preds = %1067, %1065
  %.pn411 = phi { ptr, i32 } [ %1068, %1067 ], [ %1066, %1065 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %86) #7
  br label %2206

1070:                                             ; preds = %868, %1048, %999, %950
  %1071 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %1072 unwind label %653

1072:                                             ; preds = %1070
  %1073 = call noundef nonnull align 8 dereferenceable(664) ptr @_ZN10SimTKIpopt9IpoptData11TimingStatsEv(ptr noundef nonnull align 8 dereferenceable(864) %1071)
  %1074 = call noundef nonnull align 8 dereferenceable(18) ptr @_ZN10SimTKIpopt16TimingStatistics5Task5Ev(ptr noundef nonnull align 8 dereferenceable(664) %1073)
  call void @_ZN10SimTKIpopt9TimedTask3EndEv(ptr noundef nonnull align 8 dereferenceable(18) %1074)
  %1075 = load i8, ptr %661, align 4, !tbaa !8, !range !28, !noundef !29
  %1076 = trunc nuw i8 %1075 to i1
  br i1 %1076, label %1219, label %1077

1077:                                             ; preds = %1072
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %87) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %88) #7
  %1078 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %1079 unwind label %1150

1079:                                             ; preds = %1077
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.33") align 8 %88, ptr noundef nonnull align 8 dereferenceable(864) %1078)
          to label %1080 unwind label %1150

1080:                                             ; preds = %1079
  %1081 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %88)
  invoke void @_ZNK10SimTKIpopt14IteratesVector1xEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %87, ptr noundef nonnull align 8 dereferenceable(280) %1081)
          to label %1082 unwind label %1152

1082:                                             ; preds = %1080
  %1083 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %87)
  %1084 = invoke noundef i32 @_ZNK10SimTKIpopt6Vector3DimEv(ptr noundef nonnull align 8 dereferenceable(205) %1083)
          to label %1085 unwind label %1154

1085:                                             ; preds = %1082
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %89) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %90) #7
  %1086 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %1087 unwind label %1156

1087:                                             ; preds = %1085
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.33") align 8 %90, ptr noundef nonnull align 8 dereferenceable(864) %1086)
          to label %1088 unwind label %1156

1088:                                             ; preds = %1087
  %1089 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %90)
  invoke void @_ZNK10SimTKIpopt14IteratesVector1sEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %89, ptr noundef nonnull align 8 dereferenceable(280) %1089)
          to label %1090 unwind label %1158

1090:                                             ; preds = %1088
  %1091 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %89)
  %1092 = invoke noundef i32 @_ZNK10SimTKIpopt6Vector3DimEv(ptr noundef nonnull align 8 dereferenceable(205) %1091)
          to label %1093 unwind label %1160

1093:                                             ; preds = %1090
  %1094 = add nsw i32 %1092, %1084
  %1095 = getelementptr inbounds i8, ptr %0, i64 256
  store i32 %1094, ptr %1095, align 8, !tbaa !30
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %89) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %90) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %90) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %89) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %87) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %88) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %88) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %87) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %91) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %92) #7
  %1096 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %1097 unwind label %1167

1097:                                             ; preds = %1093
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.33") align 8 %92, ptr noundef nonnull align 8 dereferenceable(864) %1096)
          to label %1098 unwind label %1167

1098:                                             ; preds = %1097
  %1099 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %92)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3y_cEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %91, ptr noundef nonnull align 8 dereferenceable(280) %1099)
          to label %1100 unwind label %1169

1100:                                             ; preds = %1098
  %1101 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %91)
  %1102 = invoke noundef i32 @_ZNK10SimTKIpopt6Vector3DimEv(ptr noundef nonnull align 8 dereferenceable(205) %1101)
          to label %1103 unwind label %1171

1103:                                             ; preds = %1100
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %93) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %94) #7
  %1104 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %1105 unwind label %1173

1105:                                             ; preds = %1103
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.33") align 8 %94, ptr noundef nonnull align 8 dereferenceable(864) %1104)
          to label %1106 unwind label %1173

1106:                                             ; preds = %1105
  %1107 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %94)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3y_dEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %93, ptr noundef nonnull align 8 dereferenceable(280) %1107)
          to label %1108 unwind label %1175

1108:                                             ; preds = %1106
  %1109 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %93)
  %1110 = invoke noundef i32 @_ZNK10SimTKIpopt6Vector3DimEv(ptr noundef nonnull align 8 dereferenceable(205) %1109)
          to label %1111 unwind label %1177

1111:                                             ; preds = %1108
  %1112 = add nsw i32 %1110, %1102
  %1113 = getelementptr inbounds i8, ptr %0, i64 260
  store i32 %1112, ptr %1113, align 4, !tbaa !31
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %93) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %94) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %94) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %93) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %91) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %92) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %92) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %91) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %95) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %96) #7
  %1114 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %1115 unwind label %1184

1115:                                             ; preds = %1111
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.33") align 8 %96, ptr noundef nonnull align 8 dereferenceable(864) %1114)
          to label %1116 unwind label %1184

1116:                                             ; preds = %1115
  %1117 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %96)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_LEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %95, ptr noundef nonnull align 8 dereferenceable(280) %1117)
          to label %1118 unwind label %1186

1118:                                             ; preds = %1116
  %1119 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %95)
  %1120 = invoke noundef i32 @_ZNK10SimTKIpopt6Vector3DimEv(ptr noundef nonnull align 8 dereferenceable(205) %1119)
          to label %1121 unwind label %1188

1121:                                             ; preds = %1118
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %97) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %98) #7
  %1122 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %1123 unwind label %1190

1123:                                             ; preds = %1121
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.33") align 8 %98, ptr noundef nonnull align 8 dereferenceable(864) %1122)
          to label %1124 unwind label %1190

1124:                                             ; preds = %1123
  %1125 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %98)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_UEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %97, ptr noundef nonnull align 8 dereferenceable(280) %1125)
          to label %1126 unwind label %1192

1126:                                             ; preds = %1124
  %1127 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %97)
  %1128 = invoke noundef i32 @_ZNK10SimTKIpopt6Vector3DimEv(ptr noundef nonnull align 8 dereferenceable(205) %1127)
          to label %1129 unwind label %1194

1129:                                             ; preds = %1126
  %1130 = add nsw i32 %1128, %1120
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %99) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %100) #7
  %1131 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %1132 unwind label %1196

1132:                                             ; preds = %1129
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.33") align 8 %100, ptr noundef nonnull align 8 dereferenceable(864) %1131)
          to label %1133 unwind label %1196

1133:                                             ; preds = %1132
  %1134 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %100)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_LEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %99, ptr noundef nonnull align 8 dereferenceable(280) %1134)
          to label %1135 unwind label %1198

1135:                                             ; preds = %1133
  %1136 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %99)
  %1137 = invoke noundef i32 @_ZNK10SimTKIpopt6Vector3DimEv(ptr noundef nonnull align 8 dereferenceable(205) %1136)
          to label %1138 unwind label %1200

1138:                                             ; preds = %1135
  %1139 = add nsw i32 %1130, %1137
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %101) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %102) #7
  %1140 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %1141 unwind label %1202

1141:                                             ; preds = %1138
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.33") align 8 %102, ptr noundef nonnull align 8 dereferenceable(864) %1140)
          to label %1142 unwind label %1202

1142:                                             ; preds = %1141
  %1143 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %102)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_UEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %101, ptr noundef nonnull align 8 dereferenceable(280) %1143)
          to label %1144 unwind label %1204

1144:                                             ; preds = %1142
  %1145 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %101)
  %1146 = invoke noundef i32 @_ZNK10SimTKIpopt6Vector3DimEv(ptr noundef nonnull align 8 dereferenceable(205) %1145)
          to label %1147 unwind label %1206

1147:                                             ; preds = %1144
  %1148 = add nsw i32 %1139, %1146
  %1149 = getelementptr inbounds i8, ptr %0, i64 264
  store i32 %1148, ptr %1149, align 8, !tbaa !32
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %101) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %102) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %102) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %101) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %99) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %100) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %100) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %99) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %97) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %98) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %98) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %97) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %95) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %96) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %96) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %95) #7
  store i8 1, ptr %661, align 4, !tbaa !8
  br label %1219

1150:                                             ; preds = %1079, %1077
  %1151 = landingpad { ptr, i32 }
          cleanup
  br label %1166

1152:                                             ; preds = %1080
  %1153 = landingpad { ptr, i32 }
          cleanup
  br label %1165

1154:                                             ; preds = %1082
  %1155 = landingpad { ptr, i32 }
          cleanup
  br label %1164

1156:                                             ; preds = %1087, %1085
  %1157 = landingpad { ptr, i32 }
          cleanup
  br label %1163

1158:                                             ; preds = %1088
  %1159 = landingpad { ptr, i32 }
          cleanup
  br label %1162

1160:                                             ; preds = %1090
  %1161 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %89) #7
  br label %1162

1162:                                             ; preds = %1160, %1158
  %.pn429 = phi { ptr, i32 } [ %1161, %1160 ], [ %1159, %1158 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %90) #7
  br label %1163

1163:                                             ; preds = %1162, %1156
  %.pn429.pn = phi { ptr, i32 } [ %.pn429, %1162 ], [ %1157, %1156 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %90) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %89) #7
  br label %1164

1164:                                             ; preds = %1163, %1154
  %.pn429.pn.pn = phi { ptr, i32 } [ %.pn429.pn, %1163 ], [ %1155, %1154 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %87) #7
  br label %1165

1165:                                             ; preds = %1164, %1152
  %.pn429.pn.pn.pn = phi { ptr, i32 } [ %.pn429.pn.pn, %1164 ], [ %1153, %1152 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %88) #7
  br label %1166

1166:                                             ; preds = %1165, %1150
  %.pn429.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn429.pn.pn.pn, %1165 ], [ %1151, %1150 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %88) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %87) #7
  br label %2206

1167:                                             ; preds = %1097, %1093
  %1168 = landingpad { ptr, i32 }
          cleanup
  br label %1183

1169:                                             ; preds = %1098
  %1170 = landingpad { ptr, i32 }
          cleanup
  br label %1182

1171:                                             ; preds = %1100
  %1172 = landingpad { ptr, i32 }
          cleanup
  br label %1181

1173:                                             ; preds = %1105, %1103
  %1174 = landingpad { ptr, i32 }
          cleanup
  br label %1180

1175:                                             ; preds = %1106
  %1176 = landingpad { ptr, i32 }
          cleanup
  br label %1179

1177:                                             ; preds = %1108
  %1178 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %93) #7
  br label %1179

1179:                                             ; preds = %1177, %1175
  %.pn435 = phi { ptr, i32 } [ %1178, %1177 ], [ %1176, %1175 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %94) #7
  br label %1180

1180:                                             ; preds = %1179, %1173
  %.pn435.pn = phi { ptr, i32 } [ %.pn435, %1179 ], [ %1174, %1173 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %94) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %93) #7
  br label %1181

1181:                                             ; preds = %1180, %1171
  %.pn435.pn.pn = phi { ptr, i32 } [ %.pn435.pn, %1180 ], [ %1172, %1171 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %91) #7
  br label %1182

1182:                                             ; preds = %1181, %1169
  %.pn435.pn.pn.pn = phi { ptr, i32 } [ %.pn435.pn.pn, %1181 ], [ %1170, %1169 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %92) #7
  br label %1183

1183:                                             ; preds = %1182, %1167
  %.pn435.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn435.pn.pn.pn, %1182 ], [ %1168, %1167 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %92) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %91) #7
  br label %2206

1184:                                             ; preds = %1115, %1111
  %1185 = landingpad { ptr, i32 }
          cleanup
  br label %1218

1186:                                             ; preds = %1116
  %1187 = landingpad { ptr, i32 }
          cleanup
  br label %1217

1188:                                             ; preds = %1118
  %1189 = landingpad { ptr, i32 }
          cleanup
  br label %1216

1190:                                             ; preds = %1123, %1121
  %1191 = landingpad { ptr, i32 }
          cleanup
  br label %1215

1192:                                             ; preds = %1124
  %1193 = landingpad { ptr, i32 }
          cleanup
  br label %1214

1194:                                             ; preds = %1126
  %1195 = landingpad { ptr, i32 }
          cleanup
  br label %1213

1196:                                             ; preds = %1132, %1129
  %1197 = landingpad { ptr, i32 }
          cleanup
  br label %1212

1198:                                             ; preds = %1133
  %1199 = landingpad { ptr, i32 }
          cleanup
  br label %1211

1200:                                             ; preds = %1135
  %1201 = landingpad { ptr, i32 }
          cleanup
  br label %1210

1202:                                             ; preds = %1141, %1138
  %1203 = landingpad { ptr, i32 }
          cleanup
  br label %1209

1204:                                             ; preds = %1142
  %1205 = landingpad { ptr, i32 }
          cleanup
  br label %1208

1206:                                             ; preds = %1144
  %1207 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %101) #7
  br label %1208

1208:                                             ; preds = %1206, %1204
  %.pn441 = phi { ptr, i32 } [ %1207, %1206 ], [ %1205, %1204 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %102) #7
  br label %1209

1209:                                             ; preds = %1208, %1202
  %.pn441.pn = phi { ptr, i32 } [ %.pn441, %1208 ], [ %1203, %1202 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %102) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %101) #7
  br label %1210

1210:                                             ; preds = %1209, %1200
  %.pn441.pn.pn = phi { ptr, i32 } [ %.pn441.pn, %1209 ], [ %1201, %1200 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %99) #7
  br label %1211

1211:                                             ; preds = %1210, %1198
  %.pn441.pn.pn.pn = phi { ptr, i32 } [ %.pn441.pn.pn, %1210 ], [ %1199, %1198 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %100) #7
  br label %1212

1212:                                             ; preds = %1211, %1196
  %.pn441.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn441.pn.pn.pn, %1211 ], [ %1197, %1196 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %100) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %99) #7
  br label %1213

1213:                                             ; preds = %1212, %1194
  %.pn441.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn441.pn.pn.pn.pn, %1212 ], [ %1195, %1194 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %97) #7
  br label %1214

1214:                                             ; preds = %1213, %1192
  %.pn441.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn441.pn.pn.pn.pn.pn, %1213 ], [ %1193, %1192 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %98) #7
  br label %1215

1215:                                             ; preds = %1214, %1190
  %.pn441.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn441.pn.pn.pn.pn.pn.pn, %1214 ], [ %1191, %1190 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %98) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %97) #7
  br label %1216

1216:                                             ; preds = %1215, %1188
  %.pn441.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn441.pn.pn.pn.pn.pn.pn.pn, %1215 ], [ %1189, %1188 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %95) #7
  br label %1217

1217:                                             ; preds = %1216, %1186
  %.pn441.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn441.pn.pn.pn.pn.pn.pn.pn.pn, %1216 ], [ %1187, %1186 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %96) #7
  br label %1218

1218:                                             ; preds = %1217, %1184
  %.pn441.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn441.pn.pn.pn.pn.pn.pn.pn.pn.pn, %1217 ], [ %1185, %1184 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %96) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %95) #7
  br label %2206

1219:                                             ; preds = %1147, %1072
  store i32 0, ptr %807, align 8, !tbaa !33
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %103) #7
  %1220 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %1221 unwind label %1274

1221:                                             ; preds = %1219
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_slack_x_LEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %103, ptr noundef nonnull align 8 dereferenceable(2025) %1220)
          to label %1222 unwind label %1274

1222:                                             ; preds = %1221
  %1223 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %811, ptr noundef nonnull align 8 dereferenceable(8) %103)
          to label %1224 unwind label %1276

1224:                                             ; preds = %1222
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %103) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %103) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %104) #7
  %1225 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %1226 unwind label %1279

1226:                                             ; preds = %1224
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_slack_x_UEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %104, ptr noundef nonnull align 8 dereferenceable(2025) %1225)
          to label %1227 unwind label %1279

1227:                                             ; preds = %1226
  %1228 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %817, ptr noundef nonnull align 8 dereferenceable(8) %104)
          to label %1229 unwind label %1281

1229:                                             ; preds = %1227
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %104) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %104) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %105) #7
  %1230 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %1231 unwind label %1284

1231:                                             ; preds = %1229
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_slack_s_LEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %105, ptr noundef nonnull align 8 dereferenceable(2025) %1230)
          to label %1232 unwind label %1284

1232:                                             ; preds = %1231
  %1233 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %823, ptr noundef nonnull align 8 dereferenceable(8) %105)
          to label %1234 unwind label %1286

1234:                                             ; preds = %1232
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %105) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %105) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %106) #7
  %1235 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %1236 unwind label %1289

1236:                                             ; preds = %1234
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_slack_s_UEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %106, ptr noundef nonnull align 8 dereferenceable(2025) %1235)
          to label %1237 unwind label %1289

1237:                                             ; preds = %1236
  %1238 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %829, ptr noundef nonnull align 8 dereferenceable(8) %106)
          to label %1239 unwind label %1291

1239:                                             ; preds = %1237
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %106) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %106) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %107) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %108) #7
  %1240 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %1241 unwind label %1294

1241:                                             ; preds = %1239
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.33") align 8 %108, ptr noundef nonnull align 8 dereferenceable(864) %1240)
          to label %1242 unwind label %1294

1242:                                             ; preds = %1241
  %1243 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %108)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_LEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %107, ptr noundef nonnull align 8 dereferenceable(280) %1243)
          to label %1244 unwind label %1296

1244:                                             ; preds = %1242
  %1245 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %837, ptr noundef nonnull align 8 dereferenceable(8) %107)
          to label %1246 unwind label %1298

1246:                                             ; preds = %1244
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %107) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %108) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %108) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %107) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %109) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %110) #7
  %1247 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %1248 unwind label %1302

1248:                                             ; preds = %1246
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.33") align 8 %110, ptr noundef nonnull align 8 dereferenceable(864) %1247)
          to label %1249 unwind label %1302

1249:                                             ; preds = %1248
  %1250 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %110)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_UEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %109, ptr noundef nonnull align 8 dereferenceable(280) %1250)
          to label %1251 unwind label %1304

1251:                                             ; preds = %1249
  %1252 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %845, ptr noundef nonnull align 8 dereferenceable(8) %109)
          to label %1253 unwind label %1306

1253:                                             ; preds = %1251
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %109) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %110) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %110) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %109) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %111) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %112) #7
  %1254 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %1255 unwind label %1310

1255:                                             ; preds = %1253
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.33") align 8 %112, ptr noundef nonnull align 8 dereferenceable(864) %1254)
          to label %1256 unwind label %1310

1256:                                             ; preds = %1255
  %1257 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %112)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_LEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %111, ptr noundef nonnull align 8 dereferenceable(280) %1257)
          to label %1258 unwind label %1312

1258:                                             ; preds = %1256
  %1259 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %853, ptr noundef nonnull align 8 dereferenceable(8) %111)
          to label %1260 unwind label %1314

1260:                                             ; preds = %1258
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %111) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %112) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %112) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %111) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %113) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %114) #7
  %1261 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %1262 unwind label %1318

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

1263:                                             ; preds = %1262
  %1264 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %114)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_UEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %113, ptr noundef nonnull align 8 dereferenceable(280) %1264)
          to label %1265 unwind label %1320

1265:                                             ; preds = %1263
  %1266 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %861, ptr noundef nonnull align 8 dereferenceable(8) %113)
          to label %1267 unwind label %1322

1267:                                             ; preds = %1265
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %113) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %114) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %114) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %113) #7
  %1268 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %1269 unwind label %653

1269:                                             ; preds = %1267
  %1270 = call noundef nonnull align 8 dereferenceable(664) ptr @_ZN10SimTKIpopt9IpoptData11TimingStatsEv(ptr noundef nonnull align 8 dereferenceable(864) %1268)
  %1271 = call noundef nonnull align 8 dereferenceable(18) ptr @_ZN10SimTKIpopt16TimingStatistics5Task5Ev(ptr noundef nonnull align 8 dereferenceable(664) %1270)
  invoke void @_ZN10SimTKIpopt9TimedTask5StartEv(ptr noundef nonnull align 8 dereferenceable(18) %1271)
          to label %1272 unwind label %653

1272:                                             ; preds = %1269
  %1273 = load i32, ptr %869, align 8, !tbaa !34
  switch i32 %1273, label %1473 [
    i32 0, label %1326
    i32 1, label %1375
    i32 3, label %1375
    i32 2, label %1424
  ]

1274:                                             ; preds = %1221, %1219
  %1275 = landingpad { ptr, i32 }
          cleanup
  br label %1278

1276:                                             ; preds = %1222
  %1277 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %103) #7
  br label %1278

1278:                                             ; preds = %1276, %1274
  %.pn453 = phi { ptr, i32 } [ %1277, %1276 ], [ %1275, %1274 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %103) #7
  br label %2206

1279:                                             ; preds = %1226, %1224
  %1280 = landingpad { ptr, i32 }
          cleanup
  br label %1283

1281:                                             ; preds = %1227
  %1282 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %104) #7
  br label %1283

1283:                                             ; preds = %1281, %1279
  %.pn455 = phi { ptr, i32 } [ %1282, %1281 ], [ %1280, %1279 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %104) #7
  br label %2206

1284:                                             ; preds = %1231, %1229
  %1285 = landingpad { ptr, i32 }
          cleanup
  br label %1288

1286:                                             ; preds = %1232
  %1287 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %105) #7
  br label %1288

1288:                                             ; preds = %1286, %1284
  %.pn457 = phi { ptr, i32 } [ %1287, %1286 ], [ %1285, %1284 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %105) #7
  br label %2206

1289:                                             ; preds = %1236, %1234
  %1290 = landingpad { ptr, i32 }
          cleanup
  br label %1293

1291:                                             ; preds = %1237
  %1292 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %106) #7
  br label %1293

1293:                                             ; preds = %1291, %1289
  %.pn459 = phi { ptr, i32 } [ %1292, %1291 ], [ %1290, %1289 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %106) #7
  br label %2206

1294:                                             ; preds = %1241, %1239
  %1295 = landingpad { ptr, i32 }
          cleanup
  br label %1301

1296:                                             ; preds = %1242
  %1297 = landingpad { ptr, i32 }
          cleanup
  br label %1300

1298:                                             ; preds = %1244
  %1299 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %107) #7
  br label %1300

1300:                                             ; preds = %1298, %1296
  %.pn461 = phi { ptr, i32 } [ %1299, %1298 ], [ %1297, %1296 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %108) #7
  br label %1301

1301:                                             ; preds = %1300, %1294
  %.pn461.pn = phi { ptr, i32 } [ %.pn461, %1300 ], [ %1295, %1294 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %108) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %107) #7
  br label %2206

1302:                                             ; preds = %1248, %1246
  %1303 = landingpad { ptr, i32 }
          cleanup
  br label %1309

1304:                                             ; preds = %1249
  %1305 = landingpad { ptr, i32 }
          cleanup
  br label %1308

1306:                                             ; preds = %1251
  %1307 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %109) #7
  br label %1308

1308:                                             ; preds = %1306, %1304
  %.pn464 = phi { ptr, i32 } [ %1307, %1306 ], [ %1305, %1304 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %110) #7
  br label %1309

1309:                                             ; preds = %1308, %1302
  %.pn464.pn = phi { ptr, i32 } [ %.pn464, %1308 ], [ %1303, %1302 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %110) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %109) #7
  br label %2206

1310:                                             ; preds = %1255, %1253
  %1311 = landingpad { ptr, i32 }
          cleanup
  br label %1317

1312:                                             ; preds = %1256
  %1313 = landingpad { ptr, i32 }
          cleanup
  br label %1316

1314:                                             ; preds = %1258
  %1315 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %111) #7
  br label %1316

1316:                                             ; preds = %1314, %1312
  %.pn467 = phi { ptr, i32 } [ %1315, %1314 ], [ %1313, %1312 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %112) #7
  br label %1317

1317:                                             ; preds = %1316, %1310
  %.pn467.pn = phi { ptr, i32 } [ %.pn467, %1316 ], [ %1311, %1310 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %112) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %111) #7
  br label %2206

1318:                                             ; preds = %1262, %1260
  %1319 = landingpad { ptr, i32 }
          cleanup
  br label %1325

1320:                                             ; preds = %1263
  %1321 = landingpad { ptr, i32 }
          cleanup
  br label %1324

1322:                                             ; preds = %1265
  %1323 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %113) #7
  br label %1324

1324:                                             ; preds = %1322, %1320
  %.pn470 = phi { ptr, i32 } [ %1323, %1322 ], [ %1321, %1320 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %114) #7
  br label %1325

1325:                                             ; preds = %1324, %1318
  %.pn470.pn = phi { ptr, i32 } [ %.pn470, %1324 ], [ %1319, %1318 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %114) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %113) #7
  br label %2206

1326:                                             ; preds = %1272
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %115) #7
  %1327 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %1328 unwind label %1355

1328:                                             ; preds = %1326
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities15curr_grad_lag_xEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %115, ptr noundef nonnull align 8 dereferenceable(2025) %1327)
          to label %1329 unwind label %1355

1329:                                             ; preds = %1328
  %1330 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %115)
  %1331 = invoke noundef double @_ZNK10SimTKIpopt6Vector4AsumEv(ptr noundef nonnull align 8 dereferenceable(205) %1330)
          to label %1332 unwind label %1357

1332:                                             ; preds = %1329
  %1333 = getelementptr inbounds i8, ptr %0, i64 336
  store double %1331, ptr %1333, align 8, !tbaa !35
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %115) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %115) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %116) #7
  %1334 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %1335 unwind label %1360

1335:                                             ; preds = %1332
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities15curr_grad_lag_sEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %116, ptr noundef nonnull align 8 dereferenceable(2025) %1334)
          to label %1336 unwind label %1360

1336:                                             ; preds = %1335
  %1337 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %116)
  %1338 = invoke noundef double @_ZNK10SimTKIpopt6Vector4AsumEv(ptr noundef nonnull align 8 dereferenceable(205) %1337)
          to label %1339 unwind label %1362

1339:                                             ; preds = %1336
  %1340 = getelementptr inbounds i8, ptr %0, i64 344
  store double %1338, ptr %1340, align 8, !tbaa !36
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %116) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %116) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %117) #7
  %1341 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %1342 unwind label %1365

1342:                                             ; preds = %1339
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities6curr_cEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %117, ptr noundef nonnull align 8 dereferenceable(2025) %1341)
          to label %1343 unwind label %1365

1343:                                             ; preds = %1342
  %1344 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %117)
  %1345 = invoke noundef double @_ZNK10SimTKIpopt6Vector4AsumEv(ptr noundef nonnull align 8 dereferenceable(205) %1344)
          to label %1346 unwind label %1367

1346:                                             ; preds = %1343
  %1347 = getelementptr inbounds i8, ptr %0, i64 352
  store double %1345, ptr %1347, align 8, !tbaa !37
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %117) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %117) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %118) #7
  %1348 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %1349 unwind label %1370

1349:                                             ; preds = %1346
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_d_minus_sEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %118, ptr noundef nonnull align 8 dereferenceable(2025) %1348)
          to label %1350 unwind label %1370

1350:                                             ; preds = %1349
  %1351 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %118)
  %1352 = invoke noundef double @_ZNK10SimTKIpopt6Vector4AsumEv(ptr noundef nonnull align 8 dereferenceable(205) %1351)
          to label %1353 unwind label %1372

1353:                                             ; preds = %1350
  %1354 = getelementptr inbounds i8, ptr %0, i64 360
  store double %1352, ptr %1354, align 8, !tbaa !38
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %118) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %118) #7
  br label %1473

1355:                                             ; preds = %1328, %1326
  %1356 = landingpad { ptr, i32 }
          cleanup
  br label %1359

1357:                                             ; preds = %1329
  %1358 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %115) #7
  br label %1359

1359:                                             ; preds = %1357, %1355
  %.pn489 = phi { ptr, i32 } [ %1358, %1357 ], [ %1356, %1355 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %115) #7
  br label %2206

1360:                                             ; preds = %1335, %1332
  %1361 = landingpad { ptr, i32 }
          cleanup
  br label %1364

1362:                                             ; preds = %1336
  %1363 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %116) #7
  br label %1364

1364:                                             ; preds = %1362, %1360
  %.pn491 = phi { ptr, i32 } [ %1363, %1362 ], [ %1361, %1360 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %116) #7
  br label %2206

1365:                                             ; preds = %1342, %1339
  %1366 = landingpad { ptr, i32 }
          cleanup
  br label %1369

1367:                                             ; preds = %1343
  %1368 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %117) #7
  br label %1369

1369:                                             ; preds = %1367, %1365
  %.pn493 = phi { ptr, i32 } [ %1368, %1367 ], [ %1366, %1365 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %117) #7
  br label %2206

1370:                                             ; preds = %1349, %1346
  %1371 = landingpad { ptr, i32 }
          cleanup
  br label %1374

1372:                                             ; preds = %1350
  %1373 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %118) #7
  br label %1374

1374:                                             ; preds = %1372, %1370
  %.pn495 = phi { ptr, i32 } [ %1373, %1372 ], [ %1371, %1370 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %118) #7
  br label %2206

1375:                                             ; preds = %1272, %1272
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %119) #7
  %1376 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %1377 unwind label %1404

1377:                                             ; preds = %1375
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities15curr_grad_lag_xEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %119, ptr noundef nonnull align 8 dereferenceable(2025) %1376)
          to label %1378 unwind label %1404

1378:                                             ; preds = %1377
  %1379 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %119)
  %1380 = invoke noundef double @_ZNK10SimTKIpopt6Vector4Nrm2Ev(ptr noundef nonnull align 8 dereferenceable(205) %1379)
          to label %1381 unwind label %1406

1381:                                             ; preds = %1378
  %1382 = getelementptr inbounds i8, ptr %0, i64 368
  store double %1380, ptr %1382, align 8, !tbaa !39
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %119) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %119) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %120) #7
  %1383 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %1384 unwind label %1409

1384:                                             ; preds = %1381
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities15curr_grad_lag_sEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %120, ptr noundef nonnull align 8 dereferenceable(2025) %1383)
          to label %1385 unwind label %1409

1385:                                             ; preds = %1384
  %1386 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %120)
  %1387 = invoke noundef double @_ZNK10SimTKIpopt6Vector4Nrm2Ev(ptr noundef nonnull align 8 dereferenceable(205) %1386)
          to label %1388 unwind label %1411

1388:                                             ; preds = %1385
  %1389 = getelementptr inbounds i8, ptr %0, i64 376
  store double %1387, ptr %1389, align 8, !tbaa !40
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %120) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %120) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %121) #7
  %1390 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %1391 unwind label %1414

1391:                                             ; preds = %1388
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities6curr_cEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %121, ptr noundef nonnull align 8 dereferenceable(2025) %1390)
          to label %1392 unwind label %1414

1392:                                             ; preds = %1391
  %1393 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %121)
  %1394 = invoke noundef double @_ZNK10SimTKIpopt6Vector4Nrm2Ev(ptr noundef nonnull align 8 dereferenceable(205) %1393)
          to label %1395 unwind label %1416

1395:                                             ; preds = %1392
  %1396 = getelementptr inbounds i8, ptr %0, i64 384
  store double %1394, ptr %1396, align 8, !tbaa !41
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %121) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %121) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %122) #7
  %1397 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %1398 unwind label %1419

1398:                                             ; preds = %1395
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_d_minus_sEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %122, ptr noundef nonnull align 8 dereferenceable(2025) %1397)
          to label %1399 unwind label %1419

1399:                                             ; preds = %1398
  %1400 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %122)
  %1401 = invoke noundef double @_ZNK10SimTKIpopt6Vector4Nrm2Ev(ptr noundef nonnull align 8 dereferenceable(205) %1400)
          to label %1402 unwind label %1421

1402:                                             ; preds = %1399
  %1403 = getelementptr inbounds i8, ptr %0, i64 392
  store double %1401, ptr %1403, align 8, !tbaa !42
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %122) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %122) #7
  br label %1473

1404:                                             ; preds = %1377, %1375
  %1405 = landingpad { ptr, i32 }
          cleanup
  br label %1408

1406:                                             ; preds = %1378
  %1407 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %119) #7
  br label %1408

1408:                                             ; preds = %1406, %1404
  %.pn481 = phi { ptr, i32 } [ %1407, %1406 ], [ %1405, %1404 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %119) #7
  br label %2206

1409:                                             ; preds = %1384, %1381
  %1410 = landingpad { ptr, i32 }
          cleanup
  br label %1413

1411:                                             ; preds = %1385
  %1412 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %120) #7
  br label %1413

1413:                                             ; preds = %1411, %1409
  %.pn483 = phi { ptr, i32 } [ %1412, %1411 ], [ %1410, %1409 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %120) #7
  br label %2206

1414:                                             ; preds = %1391, %1388
  %1415 = landingpad { ptr, i32 }
          cleanup
  br label %1418

1416:                                             ; preds = %1392
  %1417 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %121) #7
  br label %1418

1418:                                             ; preds = %1416, %1414
  %.pn485 = phi { ptr, i32 } [ %1417, %1416 ], [ %1415, %1414 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %121) #7
  br label %2206

1419:                                             ; preds = %1398, %1395
  %1420 = landingpad { ptr, i32 }
          cleanup
  br label %1423

1421:                                             ; preds = %1399
  %1422 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %122) #7
  br label %1423

1423:                                             ; preds = %1421, %1419
  %.pn487 = phi { ptr, i32 } [ %1422, %1421 ], [ %1420, %1419 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %122) #7
  br label %2206

1424:                                             ; preds = %1272
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %123) #7
  %1425 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %1426 unwind label %1453

1426:                                             ; preds = %1424
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities15curr_grad_lag_xEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %123, ptr noundef nonnull align 8 dereferenceable(2025) %1425)
          to label %1427 unwind label %1453

1427:                                             ; preds = %1426
  %1428 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %123)
  %1429 = invoke noundef double @_ZNK10SimTKIpopt6Vector4AmaxEv(ptr noundef nonnull align 8 dereferenceable(205) %1428)
          to label %1430 unwind label %1455

1430:                                             ; preds = %1427
  %1431 = getelementptr inbounds i8, ptr %0, i64 400
  store double %1429, ptr %1431, align 8, !tbaa !43
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %123) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %123) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %124) #7
  %1432 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %1433 unwind label %1458

1433:                                             ; preds = %1430
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities15curr_grad_lag_sEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %124, ptr noundef nonnull align 8 dereferenceable(2025) %1432)
          to label %1434 unwind label %1458

1434:                                             ; preds = %1433
  %1435 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %124)
  %1436 = invoke noundef double @_ZNK10SimTKIpopt6Vector4AmaxEv(ptr noundef nonnull align 8 dereferenceable(205) %1435)
          to label %1437 unwind label %1460

1437:                                             ; preds = %1434
  %1438 = getelementptr inbounds i8, ptr %0, i64 408
  store double %1436, ptr %1438, align 8, !tbaa !44
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %124) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %124) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %125) #7
  %1439 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %1440 unwind label %1463

1440:                                             ; preds = %1437
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities6curr_cEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %125, ptr noundef nonnull align 8 dereferenceable(2025) %1439)
          to label %1441 unwind label %1463

1441:                                             ; preds = %1440
  %1442 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %125)
  %1443 = invoke noundef double @_ZNK10SimTKIpopt6Vector4AmaxEv(ptr noundef nonnull align 8 dereferenceable(205) %1442)
          to label %1444 unwind label %1465

1444:                                             ; preds = %1441
  %1445 = getelementptr inbounds i8, ptr %0, i64 416
  store double %1443, ptr %1445, align 8, !tbaa !45
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %125) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %125) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %126) #7
  %1446 = invoke noundef nonnull align 8 dereferenceable(2025) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject4IpCqEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %1447 unwind label %1468

1447:                                             ; preds = %1444
  invoke void @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_d_minus_sEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %126, ptr noundef nonnull align 8 dereferenceable(2025) %1446)
          to label %1448 unwind label %1468

1448:                                             ; preds = %1447
  %1449 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %126)
  %1450 = invoke noundef double @_ZNK10SimTKIpopt6Vector4AmaxEv(ptr noundef nonnull align 8 dereferenceable(205) %1449)
          to label %1451 unwind label %1470

1451:                                             ; preds = %1448
  %1452 = getelementptr inbounds i8, ptr %0, i64 424
  store double %1450, ptr %1452, align 8, !tbaa !46
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %126) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %126) #7
  br label %1473

1453:                                             ; preds = %1426, %1424
  %1454 = landingpad { ptr, i32 }
          cleanup
  br label %1457

1455:                                             ; preds = %1427
  %1456 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %123) #7
  br label %1457

1457:                                             ; preds = %1455, %1453
  %.pn473 = phi { ptr, i32 } [ %1456, %1455 ], [ %1454, %1453 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %123) #7
  br label %2206

1458:                                             ; preds = %1433, %1430
  %1459 = landingpad { ptr, i32 }
          cleanup
  br label %1462

1460:                                             ; preds = %1434
  %1461 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %124) #7
  br label %1462

1462:                                             ; preds = %1460, %1458
  %.pn475 = phi { ptr, i32 } [ %1461, %1460 ], [ %1459, %1458 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %124) #7
  br label %2206

1463:                                             ; preds = %1440, %1437
  %1464 = landingpad { ptr, i32 }
          cleanup
  br label %1467

1465:                                             ; preds = %1441
  %1466 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %125) #7
  br label %1467

1467:                                             ; preds = %1465, %1463
  %.pn477 = phi { ptr, i32 } [ %1466, %1465 ], [ %1464, %1463 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %125) #7
  br label %2206

1468:                                             ; preds = %1447, %1444
  %1469 = landingpad { ptr, i32 }
          cleanup
  br label %1472

1470:                                             ; preds = %1448
  %1471 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %126) #7
  br label %1472

1472:                                             ; preds = %1470, %1468
  %.pn479 = phi { ptr, i32 } [ %1471, %1470 ], [ %1469, %1468 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %126) #7
  br label %2206

1473:                                             ; preds = %1272, %1451, %1402, %1353
  %1474 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %1475 unwind label %653

1475:                                             ; preds = %1473
  %1476 = call noundef nonnull align 8 dereferenceable(664) ptr @_ZN10SimTKIpopt9IpoptData11TimingStatsEv(ptr noundef nonnull align 8 dereferenceable(864) %1474)
  %1477 = call noundef nonnull align 8 dereferenceable(18) ptr @_ZN10SimTKIpopt16TimingStatistics5Task5Ev(ptr noundef nonnull align 8 dereferenceable(664) %1476)
  call void @_ZN10SimTKIpopt9TimedTask3EndEv(ptr noundef nonnull align 8 dereferenceable(18) %1477)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %127) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %128) #7
  %1478 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %31)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_LEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %128, ptr noundef nonnull align 8 dereferenceable(280) %1478)
          to label %1479 unwind label %1717

1479:                                             ; preds = %1475
  %1480 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %128)
  %1481 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector7MakeNewEv(ptr noundef nonnull align 8 dereferenceable(205) %1480)
          to label %1482 unwind label %1719

1482:                                             ; preds = %1479
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8) %127, ptr noundef %1481)
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %128) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %128) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %129) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %130) #7
  %1483 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %31)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_UEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %130, ptr noundef nonnull align 8 dereferenceable(280) %1483)
          to label %1484 unwind label %1722

1484:                                             ; preds = %1482
  %1485 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %130)
  %1486 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector7MakeNewEv(ptr noundef nonnull align 8 dereferenceable(205) %1485)
          to label %1487 unwind label %1724

1487:                                             ; preds = %1484
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8) %129, ptr noundef %1486)
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %130) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %130) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %131) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %132) #7
  %1488 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %31)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_LEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %132, ptr noundef nonnull align 8 dereferenceable(280) %1488)
          to label %1489 unwind label %1727

1489:                                             ; preds = %1487
  %1490 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %132)
  %1491 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector7MakeNewEv(ptr noundef nonnull align 8 dereferenceable(205) %1490)
          to label %1492 unwind label %1729

1492:                                             ; preds = %1489
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8) %131, ptr noundef %1491)
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %132) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %132) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %133) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %134) #7
  %1493 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %31)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_UEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %134, ptr noundef nonnull align 8 dereferenceable(280) %1493)
          to label %1494 unwind label %1732

1494:                                             ; preds = %1492
  %1495 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %134)
  %1496 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector7MakeNewEv(ptr noundef nonnull align 8 dereferenceable(205) %1495)
          to label %1497 unwind label %1734

1497:                                             ; preds = %1494
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8) %133, ptr noundef %1496)
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %134) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %134) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %135) #7
  %1498 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %1499 unwind label %1737

1499:                                             ; preds = %1497
  %1500 = load ptr, ptr %1498, align 8, !tbaa !5
  %1501 = getelementptr inbounds i8, ptr %1500, i64 104
  %1502 = load ptr, ptr %1501, align 8
  invoke void %1502(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.50") align 8 %135, ptr noundef nonnull align 8 dereferenceable(24) %1498)
          to label %1503 unwind label %1737

1503:                                             ; preds = %1499
  %1504 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6MatrixEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %135)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %136) #7
  %1505 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %31)
  invoke void @_ZNK10SimTKIpopt14IteratesVector1xEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %136, ptr noundef nonnull align 8 dereferenceable(280) %1505)
          to label %1506 unwind label %1739

1506:                                             ; preds = %1503
  %1507 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %136)
  %1508 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %127)
  invoke void @_ZNK10SimTKIpopt6Matrix15TransMultVectorEdRKNS_6VectorEdRS1_(ptr noundef nonnull align 8 dereferenceable(69) %1504, double noundef 1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %1507, double noundef 0.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %1508)
          to label %1509 unwind label %1741

1509:                                             ; preds = %1506
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %136) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %136) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %135) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %135) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %137) #7
  %1510 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %1511 unwind label %1745

1511:                                             ; preds = %1509
  %1512 = load ptr, ptr %1510, align 8, !tbaa !5
  %1513 = getelementptr inbounds i8, ptr %1512, i64 120
  %1514 = load ptr, ptr %1513, align 8
  invoke void %1514(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.50") align 8 %137, ptr noundef nonnull align 8 dereferenceable(24) %1510)
          to label %1515 unwind label %1745

1515:                                             ; preds = %1511
  %1516 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6MatrixEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %137)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %138) #7
  %1517 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %31)
  invoke void @_ZNK10SimTKIpopt14IteratesVector1xEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %138, ptr noundef nonnull align 8 dereferenceable(280) %1517)
          to label %1518 unwind label %1747

1518:                                             ; preds = %1515
  %1519 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %138)
  %1520 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %129)
  invoke void @_ZNK10SimTKIpopt6Matrix15TransMultVectorEdRKNS_6VectorEdRS1_(ptr noundef nonnull align 8 dereferenceable(69) %1516, double noundef -1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %1519, double noundef 0.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %1520)
          to label %1521 unwind label %1749

1521:                                             ; preds = %1518
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %138) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %138) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %137) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %137) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %139) #7
  %1522 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %1523 unwind label %1753

1523:                                             ; preds = %1521
  %1524 = load ptr, ptr %1522, align 8, !tbaa !5
  %1525 = getelementptr inbounds i8, ptr %1524, i64 136
  %1526 = load ptr, ptr %1525, align 8
  invoke void %1526(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.50") align 8 %139, ptr noundef nonnull align 8 dereferenceable(24) %1522)
          to label %1527 unwind label %1753

1527:                                             ; preds = %1523
  %1528 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6MatrixEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %139)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %140) #7
  %1529 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %31)
  invoke void @_ZNK10SimTKIpopt14IteratesVector1sEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %140, ptr noundef nonnull align 8 dereferenceable(280) %1529)
          to label %1530 unwind label %1755

1530:                                             ; preds = %1527
  %1531 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %140)
  %1532 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %131)
  invoke void @_ZNK10SimTKIpopt6Matrix15TransMultVectorEdRKNS_6VectorEdRS1_(ptr noundef nonnull align 8 dereferenceable(69) %1528, double noundef 1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %1531, double noundef 0.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %1532)
          to label %1533 unwind label %1757

1533:                                             ; preds = %1530
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %140) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %140) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %139) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %139) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %141) #7
  %1534 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %1535 unwind label %1761

1535:                                             ; preds = %1533
  %1536 = load ptr, ptr %1534, align 8, !tbaa !5
  %1537 = getelementptr inbounds i8, ptr %1536, i64 152
  %1538 = load ptr, ptr %1537, align 8
  invoke void %1538(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.50") align 8 %141, ptr noundef nonnull align 8 dereferenceable(24) %1534)
          to label %1539 unwind label %1761

1539:                                             ; preds = %1535
  %1540 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6MatrixEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %141)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %142) #7
  %1541 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %31)
  invoke void @_ZNK10SimTKIpopt14IteratesVector1sEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %142, ptr noundef nonnull align 8 dereferenceable(280) %1541)
          to label %1542 unwind label %1763

1542:                                             ; preds = %1539
  %1543 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %142)
  %1544 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %133)
  invoke void @_ZNK10SimTKIpopt6Matrix15TransMultVectorEdRKNS_6VectorEdRS1_(ptr noundef nonnull align 8 dereferenceable(69) %1540, double noundef -1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %1543, double noundef 0.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %1544)
          to label %1545 unwind label %1765

1545:                                             ; preds = %1542
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %142) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %142) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %141) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %141) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %143) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %144) #7
  %1546 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %45)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_LEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %144, ptr noundef nonnull align 8 dereferenceable(280) %1546)
          to label %1547 unwind label %1769

1547:                                             ; preds = %1545
  %1548 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %144)
  %1549 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector7MakeNewEv(ptr noundef nonnull align 8 dereferenceable(205) %1548)
          to label %1550 unwind label %1771

1550:                                             ; preds = %1547
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8) %143, ptr noundef %1549)
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %144) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %144) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %145) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %146) #7
  %1551 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %45)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_UEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %146, ptr noundef nonnull align 8 dereferenceable(280) %1551)
          to label %1552 unwind label %1774

1552:                                             ; preds = %1550
  %1553 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %146)
  %1554 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector7MakeNewEv(ptr noundef nonnull align 8 dereferenceable(205) %1553)
          to label %1555 unwind label %1776

1555:                                             ; preds = %1552
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8) %145, ptr noundef %1554)
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %146) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %146) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %147) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %148) #7
  %1556 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %45)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_LEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %148, ptr noundef nonnull align 8 dereferenceable(280) %1556)
          to label %1557 unwind label %1779

1557:                                             ; preds = %1555
  %1558 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %148)
  %1559 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector7MakeNewEv(ptr noundef nonnull align 8 dereferenceable(205) %1558)
          to label %1560 unwind label %1781

1560:                                             ; preds = %1557
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8) %147, ptr noundef %1559)
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %148) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %148) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %149) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %150) #7
  %1561 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %45)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_UEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %150, ptr noundef nonnull align 8 dereferenceable(280) %1561)
          to label %1562 unwind label %1784

1562:                                             ; preds = %1560
  %1563 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %150)
  %1564 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector7MakeNewEv(ptr noundef nonnull align 8 dereferenceable(205) %1563)
          to label %1565 unwind label %1786

1565:                                             ; preds = %1562
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8) %149, ptr noundef %1564)
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %150) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %150) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %151) #7
  %1566 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %1567 unwind label %1789

1567:                                             ; preds = %1565
  %1568 = load ptr, ptr %1566, align 8, !tbaa !5
  %1569 = getelementptr inbounds i8, ptr %1568, i64 104
  %1570 = load ptr, ptr %1569, align 8
  invoke void %1570(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.50") align 8 %151, ptr noundef nonnull align 8 dereferenceable(24) %1566)
          to label %1571 unwind label %1789

1571:                                             ; preds = %1567
  %1572 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6MatrixEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %151)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %152) #7
  %1573 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %45)
  invoke void @_ZNK10SimTKIpopt14IteratesVector1xEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %152, ptr noundef nonnull align 8 dereferenceable(280) %1573)
          to label %1574 unwind label %1791

1574:                                             ; preds = %1571
  %1575 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %152)
  %1576 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %143)
  invoke void @_ZNK10SimTKIpopt6Matrix15TransMultVectorEdRKNS_6VectorEdRS1_(ptr noundef nonnull align 8 dereferenceable(69) %1572, double noundef 1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %1575, double noundef 0.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %1576)
          to label %1577 unwind label %1793

1577:                                             ; preds = %1574
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %152) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %152) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %151) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %151) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %153) #7
  %1578 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %1579 unwind label %1797

1579:                                             ; preds = %1577
  %1580 = load ptr, ptr %1578, align 8, !tbaa !5
  %1581 = getelementptr inbounds i8, ptr %1580, i64 120
  %1582 = load ptr, ptr %1581, align 8
  invoke void %1582(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.50") align 8 %153, ptr noundef nonnull align 8 dereferenceable(24) %1578)
          to label %1583 unwind label %1797

1583:                                             ; preds = %1579
  %1584 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6MatrixEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %153)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %154) #7
  %1585 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %45)
  invoke void @_ZNK10SimTKIpopt14IteratesVector1xEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %154, ptr noundef nonnull align 8 dereferenceable(280) %1585)
          to label %1586 unwind label %1799

1586:                                             ; preds = %1583
  %1587 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %154)
  %1588 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %145)
  invoke void @_ZNK10SimTKIpopt6Matrix15TransMultVectorEdRKNS_6VectorEdRS1_(ptr noundef nonnull align 8 dereferenceable(69) %1584, double noundef -1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %1587, double noundef 0.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %1588)
          to label %1589 unwind label %1801

1589:                                             ; preds = %1586
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %154) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %154) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %153) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %153) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %155) #7
  %1590 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %1591 unwind label %1805

1591:                                             ; preds = %1589
  %1592 = load ptr, ptr %1590, align 8, !tbaa !5
  %1593 = getelementptr inbounds i8, ptr %1592, i64 136
  %1594 = load ptr, ptr %1593, align 8
  invoke void %1594(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.50") align 8 %155, ptr noundef nonnull align 8 dereferenceable(24) %1590)
          to label %1595 unwind label %1805

1595:                                             ; preds = %1591
  %1596 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6MatrixEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %155)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %156) #7
  %1597 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %45)
  invoke void @_ZNK10SimTKIpopt14IteratesVector1sEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %156, ptr noundef nonnull align 8 dereferenceable(280) %1597)
          to label %1598 unwind label %1807

1598:                                             ; preds = %1595
  %1599 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %156)
  %1600 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %147)
  invoke void @_ZNK10SimTKIpopt6Matrix15TransMultVectorEdRKNS_6VectorEdRS1_(ptr noundef nonnull align 8 dereferenceable(69) %1596, double noundef 1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %1599, double noundef 0.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %1600)
          to label %1601 unwind label %1809

1601:                                             ; preds = %1598
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %156) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %156) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %155) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %155) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %157) #7
  %1602 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5IpNLPEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %1603 unwind label %1813

1603:                                             ; preds = %1601
  %1604 = load ptr, ptr %1602, align 8, !tbaa !5
  %1605 = getelementptr inbounds i8, ptr %1604, i64 152
  %1606 = load ptr, ptr %1605, align 8
  invoke void %1606(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.50") align 8 %157, ptr noundef nonnull align 8 dereferenceable(24) %1602)
          to label %1607 unwind label %1813

1607:                                             ; preds = %1603
  %1608 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6MatrixEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %157)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %158) #7
  %1609 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %45)
  invoke void @_ZNK10SimTKIpopt14IteratesVector1sEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %158, ptr noundef nonnull align 8 dereferenceable(280) %1609)
          to label %1610 unwind label %1815

1610:                                             ; preds = %1607
  %1611 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %158)
  %1612 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %149)
  invoke void @_ZNK10SimTKIpopt6Matrix15TransMultVectorEdRKNS_6VectorEdRS1_(ptr noundef nonnull align 8 dereferenceable(69) %1608, double noundef -1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %1611, double noundef 0.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %1612)
          to label %1613 unwind label %1817

1613:                                             ; preds = %1610
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %158) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %158) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %157) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %157) #7
  %1614 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %127)
  %1615 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %129)
  %1616 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %131)
  %1617 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %133)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %159) #7
  %1618 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %31)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3y_cEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %159, ptr noundef nonnull align 8 dereferenceable(280) %1618)
          to label %1619 unwind label %1821

1619:                                             ; preds = %1613
  %1620 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %159)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %160) #7
  %1621 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %31)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3y_dEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %160, ptr noundef nonnull align 8 dereferenceable(280) %1621)
          to label %1622 unwind label %1823

1622:                                             ; preds = %1619
  %1623 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %160)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %161) #7
  %1624 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %31)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_LEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %161, ptr noundef nonnull align 8 dereferenceable(280) %1624)
          to label %1625 unwind label %1825

1625:                                             ; preds = %1622
  %1626 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %161)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %162) #7
  %1627 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %31)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_UEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %162, ptr noundef nonnull align 8 dereferenceable(280) %1627)
          to label %1628 unwind label %1827

1628:                                             ; preds = %1625
  %1629 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %162)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %163) #7
  %1630 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %31)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_LEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %163, ptr noundef nonnull align 8 dereferenceable(280) %1630)
          to label %1631 unwind label %1829

1631:                                             ; preds = %1628
  %1632 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %163)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %164) #7
  %1633 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %31)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_UEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %164, ptr noundef nonnull align 8 dereferenceable(280) %1633)
          to label %1634 unwind label %1831

1634:                                             ; preds = %1631
  %1635 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %164)
  %1636 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %143)
  %1637 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %145)
  %1638 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %147)
  %1639 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %149)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %165) #7
  %1640 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %45)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3y_cEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %165, ptr noundef nonnull align 8 dereferenceable(280) %1640)
          to label %1641 unwind label %1833

1641:                                             ; preds = %1634
  %1642 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %165)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %166) #7
  %1643 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %45)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3y_dEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %166, ptr noundef nonnull align 8 dereferenceable(280) %1643)
          to label %1644 unwind label %1835

1644:                                             ; preds = %1641
  %1645 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %166)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %167) #7
  %1646 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %45)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_LEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %167, ptr noundef nonnull align 8 dereferenceable(280) %1646)
          to label %1647 unwind label %1837

1647:                                             ; preds = %1644
  %1648 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %167)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %168) #7
  %1649 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %45)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_UEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %168, ptr noundef nonnull align 8 dereferenceable(280) %1649)
          to label %1650 unwind label %1839

1650:                                             ; preds = %1647
  %1651 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %168)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %169) #7
  %1652 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %45)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_LEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %169, ptr noundef nonnull align 8 dereferenceable(280) %1652)
          to label %1653 unwind label %1841

1653:                                             ; preds = %1650
  %1654 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %169)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %170) #7
  %1655 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %45)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_UEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %170, ptr noundef nonnull align 8 dereferenceable(280) %1655)
          to label %1656 unwind label %1843

1656:                                             ; preds = %1653
  %1657 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %170)
  %1658 = invoke noundef double @_ZN10SimTKIpopt23QualityFunctionMuOracle24CalculateQualityFunctionEdRKNS_6VectorES3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_(ptr noundef nonnull align 8 dereferenceable(432) %0, double noundef 1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %1614, ptr noundef nonnull align 8 dereferenceable(205) %1615, ptr noundef nonnull align 8 dereferenceable(205) %1616, ptr noundef nonnull align 8 dereferenceable(205) %1617, ptr noundef nonnull align 8 dereferenceable(205) %1620, ptr noundef nonnull align 8 dereferenceable(205) %1623, ptr noundef nonnull align 8 dereferenceable(205) %1626, ptr noundef nonnull align 8 dereferenceable(205) %1629, ptr noundef nonnull align 8 dereferenceable(205) %1632, ptr noundef nonnull align 8 dereferenceable(205) %1635, ptr noundef nonnull align 8 dereferenceable(205) %1636, ptr noundef nonnull align 8 dereferenceable(205) %1637, ptr noundef nonnull align 8 dereferenceable(205) %1638, ptr noundef nonnull align 8 dereferenceable(205) %1639, ptr noundef nonnull align 8 dereferenceable(205) %1642, ptr noundef nonnull align 8 dereferenceable(205) %1645, ptr noundef nonnull align 8 dereferenceable(205) %1648, ptr noundef nonnull align 8 dereferenceable(205) %1651, ptr noundef nonnull align 8 dereferenceable(205) %1654, ptr noundef nonnull align 8 dereferenceable(205) %1657)
          to label %1659 unwind label %1845

1659:                                             ; preds = %1656
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %170) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %170) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %169) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %169) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %168) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %168) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %167) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %167) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %166) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %166) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %165) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %165) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %164) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %164) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %163) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %163) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %162) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %162) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %161) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %161) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %160) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %160) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %159) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %159) #7
  %1660 = getelementptr inbounds i8, ptr %0, i64 96
  %1661 = load double, ptr %1660, align 8, !tbaa !47
  %1662 = call noundef double @_ZN10SimTKIpopt3MaxEdd(double noundef 1.000000e-04, double noundef %1661)
  %1663 = fsub double 1.000000e+00, %1662
  %1664 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %127)
  %1665 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %129)
  %1666 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %131)
  %1667 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %133)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %171) #7
  %1668 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %31)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3y_cEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %171, ptr noundef nonnull align 8 dereferenceable(280) %1668)
          to label %1669 unwind label %1861

1669:                                             ; preds = %1659
  %1670 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %171)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %172) #7
  %1671 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %31)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3y_dEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %172, ptr noundef nonnull align 8 dereferenceable(280) %1671)
          to label %1672 unwind label %1863

1672:                                             ; preds = %1669
  %1673 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %172)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %173) #7
  %1674 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %31)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_LEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %173, ptr noundef nonnull align 8 dereferenceable(280) %1674)
          to label %1675 unwind label %1865

1675:                                             ; preds = %1672
  %1676 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %173)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %174) #7
  %1677 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %31)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_UEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %174, ptr noundef nonnull align 8 dereferenceable(280) %1677)
          to label %1678 unwind label %1867

1678:                                             ; preds = %1675
  %1679 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %174)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %175) #7
  %1680 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %31)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_LEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %175, ptr noundef nonnull align 8 dereferenceable(280) %1680)
          to label %1681 unwind label %1869

1681:                                             ; preds = %1678
  %1682 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %175)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %176) #7
  %1683 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %31)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_UEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %176, ptr noundef nonnull align 8 dereferenceable(280) %1683)
          to label %1684 unwind label %1871

1684:                                             ; preds = %1681
  %1685 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %176)
  %1686 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %143)
  %1687 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %145)
  %1688 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %147)
  %1689 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %149)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %177) #7
  %1690 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %45)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3y_cEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %177, ptr noundef nonnull align 8 dereferenceable(280) %1690)
          to label %1691 unwind label %1873

1691:                                             ; preds = %1684
  %1692 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %177)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %178) #7
  %1693 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %45)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3y_dEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %178, ptr noundef nonnull align 8 dereferenceable(280) %1693)
          to label %1694 unwind label %1875

1694:                                             ; preds = %1691
  %1695 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %178)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %179) #7
  %1696 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %45)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_LEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %179, ptr noundef nonnull align 8 dereferenceable(280) %1696)
          to label %1697 unwind label %1877

1697:                                             ; preds = %1694
  %1698 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %179)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %180) #7
  %1699 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %45)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_UEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %180, ptr noundef nonnull align 8 dereferenceable(280) %1699)
          to label %1700 unwind label %1879

1700:                                             ; preds = %1697
  %1701 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %180)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %181) #7
  %1702 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %45)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_LEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %181, ptr noundef nonnull align 8 dereferenceable(280) %1702)
          to label %1703 unwind label %1881

1703:                                             ; preds = %1700
  %1704 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %181)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %182) #7
  %1705 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %45)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_UEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %182, ptr noundef nonnull align 8 dereferenceable(280) %1705)
          to label %1706 unwind label %1883

1706:                                             ; preds = %1703
  %1707 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %182)
  %1708 = invoke noundef double @_ZN10SimTKIpopt23QualityFunctionMuOracle24CalculateQualityFunctionEdRKNS_6VectorES3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_(ptr noundef nonnull align 8 dereferenceable(432) %0, double noundef %1663, ptr noundef nonnull align 8 dereferenceable(205) %1664, ptr noundef nonnull align 8 dereferenceable(205) %1665, ptr noundef nonnull align 8 dereferenceable(205) %1666, ptr noundef nonnull align 8 dereferenceable(205) %1667, ptr noundef nonnull align 8 dereferenceable(205) %1670, ptr noundef nonnull align 8 dereferenceable(205) %1673, ptr noundef nonnull align 8 dereferenceable(205) %1676, ptr noundef nonnull align 8 dereferenceable(205) %1679, ptr noundef nonnull align 8 dereferenceable(205) %1682, ptr noundef nonnull align 8 dereferenceable(205) %1685, ptr noundef nonnull align 8 dereferenceable(205) %1686, ptr noundef nonnull align 8 dereferenceable(205) %1687, ptr noundef nonnull align 8 dereferenceable(205) %1688, ptr noundef nonnull align 8 dereferenceable(205) %1689, ptr noundef nonnull align 8 dereferenceable(205) %1692, ptr noundef nonnull align 8 dereferenceable(205) %1695, ptr noundef nonnull align 8 dereferenceable(205) %1698, ptr noundef nonnull align 8 dereferenceable(205) %1701, ptr noundef nonnull align 8 dereferenceable(205) %1704, ptr noundef nonnull align 8 dereferenceable(205) %1707)
          to label %1709 unwind label %1885

1709:                                             ; preds = %1706
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %182) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %182) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %181) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %181) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %180) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %180) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %179) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %179) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %178) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %178) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %177) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %177) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %176) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %176) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %175) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %175) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %174) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %174) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %173) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %173) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %172) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %172) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %171) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %171) #7
  %1710 = fcmp ogt double %1708, %1658
  br i1 %1710, label %1711, label %1987

1711:                                             ; preds = %1709
  %1712 = getelementptr inbounds i8, ptr %0, i64 64
  %1713 = load double, ptr %1712, align 8, !tbaa !48
  %1714 = fdiv double %2, %528
  %1715 = call noundef double @_ZN10SimTKIpopt3MinEdd(double noundef %1713, double noundef %1714)
  %1716 = fcmp ugt double %1715, 1.000000e+00
  br i1 %1716, label %1899, label %2084

1717:                                             ; preds = %1475
  %1718 = landingpad { ptr, i32 }
          cleanup
  br label %1721

1719:                                             ; preds = %1479
  %1720 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %128) #7
  br label %1721

1721:                                             ; preds = %1719, %1717
  %.pn497 = phi { ptr, i32 } [ %1720, %1719 ], [ %1718, %1717 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %128) #7
  br label %2204

1722:                                             ; preds = %1482
  %1723 = landingpad { ptr, i32 }
          cleanup
  br label %1726

1724:                                             ; preds = %1484
  %1725 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %130) #7
  br label %1726

1726:                                             ; preds = %1724, %1722
  %.pn499 = phi { ptr, i32 } [ %1725, %1724 ], [ %1723, %1722 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %130) #7
  br label %2203

1727:                                             ; preds = %1487
  %1728 = landingpad { ptr, i32 }
          cleanup
  br label %1731

1729:                                             ; preds = %1489
  %1730 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %132) #7
  br label %1731

1731:                                             ; preds = %1729, %1727
  %.pn501 = phi { ptr, i32 } [ %1730, %1729 ], [ %1728, %1727 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %132) #7
  br label %2202

1732:                                             ; preds = %1492
  %1733 = landingpad { ptr, i32 }
          cleanup
  br label %1736

1734:                                             ; preds = %1494
  %1735 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %134) #7
  br label %1736

1736:                                             ; preds = %1734, %1732
  %.pn503 = phi { ptr, i32 } [ %1735, %1734 ], [ %1733, %1732 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %134) #7
  br label %2201

1737:                                             ; preds = %1499, %1497
  %1738 = landingpad { ptr, i32 }
          cleanup
  br label %1744

1739:                                             ; preds = %1503
  %1740 = landingpad { ptr, i32 }
          cleanup
  br label %1743

1741:                                             ; preds = %1506
  %1742 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %136) #7
  br label %1743

1743:                                             ; preds = %1741, %1739
  %.pn505 = phi { ptr, i32 } [ %1742, %1741 ], [ %1740, %1739 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %136) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %135) #7
  br label %1744

1744:                                             ; preds = %1743, %1737
  %.pn505.pn = phi { ptr, i32 } [ %.pn505, %1743 ], [ %1738, %1737 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %135) #7
  br label %2200

1745:                                             ; preds = %1511, %1509
  %1746 = landingpad { ptr, i32 }
          cleanup
  br label %1752

1747:                                             ; preds = %1515
  %1748 = landingpad { ptr, i32 }
          cleanup
  br label %1751

1749:                                             ; preds = %1518
  %1750 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %138) #7
  br label %1751

1751:                                             ; preds = %1749, %1747
  %.pn508 = phi { ptr, i32 } [ %1750, %1749 ], [ %1748, %1747 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %138) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %137) #7
  br label %1752

1752:                                             ; preds = %1751, %1745
  %.pn508.pn = phi { ptr, i32 } [ %.pn508, %1751 ], [ %1746, %1745 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %137) #7
  br label %2200

1753:                                             ; preds = %1523, %1521
  %1754 = landingpad { ptr, i32 }
          cleanup
  br label %1760

1755:                                             ; preds = %1527
  %1756 = landingpad { ptr, i32 }
          cleanup
  br label %1759

1757:                                             ; preds = %1530
  %1758 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %140) #7
  br label %1759

1759:                                             ; preds = %1757, %1755
  %.pn511 = phi { ptr, i32 } [ %1758, %1757 ], [ %1756, %1755 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %140) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %139) #7
  br label %1760

1760:                                             ; preds = %1759, %1753
  %.pn511.pn = phi { ptr, i32 } [ %.pn511, %1759 ], [ %1754, %1753 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %139) #7
  br label %2200

1761:                                             ; preds = %1535, %1533
  %1762 = landingpad { ptr, i32 }
          cleanup
  br label %1768

1763:                                             ; preds = %1539
  %1764 = landingpad { ptr, i32 }
          cleanup
  br label %1767

1765:                                             ; preds = %1542
  %1766 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %142) #7
  br label %1767

1767:                                             ; preds = %1765, %1763
  %.pn514 = phi { ptr, i32 } [ %1766, %1765 ], [ %1764, %1763 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %142) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %141) #7
  br label %1768

1768:                                             ; preds = %1767, %1761
  %.pn514.pn = phi { ptr, i32 } [ %.pn514, %1767 ], [ %1762, %1761 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %141) #7
  br label %2200

1769:                                             ; preds = %1545
  %1770 = landingpad { ptr, i32 }
          cleanup
  br label %1773

1771:                                             ; preds = %1547
  %1772 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %144) #7
  br label %1773

1773:                                             ; preds = %1771, %1769
  %.pn517 = phi { ptr, i32 } [ %1772, %1771 ], [ %1770, %1769 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %144) #7
  br label %2199

1774:                                             ; preds = %1550
  %1775 = landingpad { ptr, i32 }
          cleanup
  br label %1778

1776:                                             ; preds = %1552
  %1777 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %146) #7
  br label %1778

1778:                                             ; preds = %1776, %1774
  %.pn519 = phi { ptr, i32 } [ %1777, %1776 ], [ %1775, %1774 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %146) #7
  br label %2198

1779:                                             ; preds = %1555
  %1780 = landingpad { ptr, i32 }
          cleanup
  br label %1783

1781:                                             ; preds = %1557
  %1782 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %148) #7
  br label %1783

1783:                                             ; preds = %1781, %1779
  %.pn521 = phi { ptr, i32 } [ %1782, %1781 ], [ %1780, %1779 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %148) #7
  br label %2197

1784:                                             ; preds = %1560
  %1785 = landingpad { ptr, i32 }
          cleanup
  br label %1788

1786:                                             ; preds = %1562
  %1787 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %150) #7
  br label %1788

1788:                                             ; preds = %1786, %1784
  %.pn523 = phi { ptr, i32 } [ %1787, %1786 ], [ %1785, %1784 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %150) #7
  br label %2196

1789:                                             ; preds = %1567, %1565
  %1790 = landingpad { ptr, i32 }
          cleanup
  br label %1796

1791:                                             ; preds = %1571
  %1792 = landingpad { ptr, i32 }
          cleanup
  br label %1795

1793:                                             ; preds = %1574
  %1794 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %152) #7
  br label %1795

1795:                                             ; preds = %1793, %1791
  %.pn525 = phi { ptr, i32 } [ %1794, %1793 ], [ %1792, %1791 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %152) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %151) #7
  br label %1796

1796:                                             ; preds = %1795, %1789
  %.pn525.pn = phi { ptr, i32 } [ %.pn525, %1795 ], [ %1790, %1789 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %151) #7
  br label %2195

1797:                                             ; preds = %1579, %1577
  %1798 = landingpad { ptr, i32 }
          cleanup
  br label %1804

1799:                                             ; preds = %1583
  %1800 = landingpad { ptr, i32 }
          cleanup
  br label %1803

1801:                                             ; preds = %1586
  %1802 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %154) #7
  br label %1803

1803:                                             ; preds = %1801, %1799
  %.pn528 = phi { ptr, i32 } [ %1802, %1801 ], [ %1800, %1799 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %154) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %153) #7
  br label %1804

1804:                                             ; preds = %1803, %1797
  %.pn528.pn = phi { ptr, i32 } [ %.pn528, %1803 ], [ %1798, %1797 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %153) #7
  br label %2195

1805:                                             ; preds = %1591, %1589
  %1806 = landingpad { ptr, i32 }
          cleanup
  br label %1812

1807:                                             ; preds = %1595
  %1808 = landingpad { ptr, i32 }
          cleanup
  br label %1811

1809:                                             ; preds = %1598
  %1810 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %156) #7
  br label %1811

1811:                                             ; preds = %1809, %1807
  %.pn531 = phi { ptr, i32 } [ %1810, %1809 ], [ %1808, %1807 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %156) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %155) #7
  br label %1812

1812:                                             ; preds = %1811, %1805
  %.pn531.pn = phi { ptr, i32 } [ %.pn531, %1811 ], [ %1806, %1805 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %155) #7
  br label %2195

1813:                                             ; preds = %1603, %1601
  %1814 = landingpad { ptr, i32 }
          cleanup
  br label %1820

1815:                                             ; preds = %1607
  %1816 = landingpad { ptr, i32 }
          cleanup
  br label %1819

1817:                                             ; preds = %1610
  %1818 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %158) #7
  br label %1819

1819:                                             ; preds = %1817, %1815
  %.pn534 = phi { ptr, i32 } [ %1818, %1817 ], [ %1816, %1815 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %158) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %157) #7
  br label %1820

1820:                                             ; preds = %1819, %1813
  %.pn534.pn = phi { ptr, i32 } [ %.pn534, %1819 ], [ %1814, %1813 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %157) #7
  br label %2195

1821:                                             ; preds = %1613
  %1822 = landingpad { ptr, i32 }
          cleanup
  br label %1858

1823:                                             ; preds = %1619
  %1824 = landingpad { ptr, i32 }
          cleanup
  br label %1857

1825:                                             ; preds = %1622
  %1826 = landingpad { ptr, i32 }
          cleanup
  br label %1856

1827:                                             ; preds = %1625
  %1828 = landingpad { ptr, i32 }
          cleanup
  br label %1855

1829:                                             ; preds = %1628
  %1830 = landingpad { ptr, i32 }
          cleanup
  br label %1854

1831:                                             ; preds = %1631
  %1832 = landingpad { ptr, i32 }
          cleanup
  br label %1853

1833:                                             ; preds = %1634
  %1834 = landingpad { ptr, i32 }
          cleanup
  br label %1852

1835:                                             ; preds = %1641
  %1836 = landingpad { ptr, i32 }
          cleanup
  br label %1851

1837:                                             ; preds = %1644
  %1838 = landingpad { ptr, i32 }
          cleanup
  br label %1850

1839:                                             ; preds = %1647
  %1840 = landingpad { ptr, i32 }
          cleanup
  br label %1849

1841:                                             ; preds = %1650
  %1842 = landingpad { ptr, i32 }
          cleanup
  br label %1848

1843:                                             ; preds = %1653
  %1844 = landingpad { ptr, i32 }
          cleanup
  br label %1847

1845:                                             ; preds = %1656
  %1846 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %170) #7
  br label %1847

1847:                                             ; preds = %1845, %1843
  %.pn537 = phi { ptr, i32 } [ %1846, %1845 ], [ %1844, %1843 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %170) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %169) #7
  br label %1848

1848:                                             ; preds = %1847, %1841
  %.pn537.pn = phi { ptr, i32 } [ %.pn537, %1847 ], [ %1842, %1841 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %169) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %168) #7
  br label %1849

1849:                                             ; preds = %1848, %1839
  %.pn537.pn.pn = phi { ptr, i32 } [ %.pn537.pn, %1848 ], [ %1840, %1839 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %168) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %167) #7
  br label %1850

1850:                                             ; preds = %1849, %1837
  %.pn537.pn.pn.pn = phi { ptr, i32 } [ %.pn537.pn.pn, %1849 ], [ %1838, %1837 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %167) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %166) #7
  br label %1851

1851:                                             ; preds = %1850, %1835
  %.pn537.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn537.pn.pn.pn, %1850 ], [ %1836, %1835 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %166) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %165) #7
  br label %1852

1852:                                             ; preds = %1851, %1833
  %.pn537.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn537.pn.pn.pn.pn, %1851 ], [ %1834, %1833 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %165) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %164) #7
  br label %1853

1853:                                             ; preds = %1852, %1831
  %.pn537.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn537.pn.pn.pn.pn.pn, %1852 ], [ %1832, %1831 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %164) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %163) #7
  br label %1854

1854:                                             ; preds = %1853, %1829
  %.pn537.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn537.pn.pn.pn.pn.pn.pn, %1853 ], [ %1830, %1829 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %163) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %162) #7
  br label %1855

1855:                                             ; preds = %1854, %1827
  %.pn537.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn537.pn.pn.pn.pn.pn.pn.pn, %1854 ], [ %1828, %1827 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %162) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %161) #7
  br label %1856

1856:                                             ; preds = %1855, %1825
  %.pn537.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn537.pn.pn.pn.pn.pn.pn.pn.pn, %1855 ], [ %1826, %1825 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %161) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %160) #7
  br label %1857

1857:                                             ; preds = %1856, %1823
  %.pn537.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn537.pn.pn.pn.pn.pn.pn.pn.pn.pn, %1856 ], [ %1824, %1823 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %160) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %159) #7
  br label %1858

1858:                                             ; preds = %1857, %1821
  %.pn537.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn537.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %1857 ], [ %1822, %1821 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %159) #7
  br label %2195

1859:                                             ; preds = %2090, %2086, %2084
  %1860 = landingpad { ptr, i32 }
          cleanup
  br label %2195

1861:                                             ; preds = %1659
  %1862 = landingpad { ptr, i32 }
          cleanup
  br label %1898

1863:                                             ; preds = %1669
  %1864 = landingpad { ptr, i32 }
          cleanup
  br label %1897

1865:                                             ; preds = %1672
  %1866 = landingpad { ptr, i32 }
          cleanup
  br label %1896

1867:                                             ; preds = %1675
  %1868 = landingpad { ptr, i32 }
          cleanup
  br label %1895

1869:                                             ; preds = %1678
  %1870 = landingpad { ptr, i32 }
          cleanup
  br label %1894

1871:                                             ; preds = %1681
  %1872 = landingpad { ptr, i32 }
          cleanup
  br label %1893

1873:                                             ; preds = %1684
  %1874 = landingpad { ptr, i32 }
          cleanup
  br label %1892

1875:                                             ; preds = %1691
  %1876 = landingpad { ptr, i32 }
          cleanup
  br label %1891

1877:                                             ; preds = %1694
  %1878 = landingpad { ptr, i32 }
          cleanup
  br label %1890

1879:                                             ; preds = %1697
  %1880 = landingpad { ptr, i32 }
          cleanup
  br label %1889

1881:                                             ; preds = %1700
  %1882 = landingpad { ptr, i32 }
          cleanup
  br label %1888

1883:                                             ; preds = %1703
  %1884 = landingpad { ptr, i32 }
          cleanup
  br label %1887

1885:                                             ; preds = %1706
  %1886 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %182) #7
  br label %1887

1887:                                             ; preds = %1885, %1883
  %.pn550 = phi { ptr, i32 } [ %1886, %1885 ], [ %1884, %1883 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %182) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %181) #7
  br label %1888

1888:                                             ; preds = %1887, %1881
  %.pn550.pn = phi { ptr, i32 } [ %.pn550, %1887 ], [ %1882, %1881 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %181) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %180) #7
  br label %1889

1889:                                             ; preds = %1888, %1879
  %.pn550.pn.pn = phi { ptr, i32 } [ %.pn550.pn, %1888 ], [ %1880, %1879 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %180) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %179) #7
  br label %1890

1890:                                             ; preds = %1889, %1877
  %.pn550.pn.pn.pn = phi { ptr, i32 } [ %.pn550.pn.pn, %1889 ], [ %1878, %1877 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %179) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %178) #7
  br label %1891

1891:                                             ; preds = %1890, %1875
  %.pn550.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn550.pn.pn.pn, %1890 ], [ %1876, %1875 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %178) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %177) #7
  br label %1892

1892:                                             ; preds = %1891, %1873
  %.pn550.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn550.pn.pn.pn.pn, %1891 ], [ %1874, %1873 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %177) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %176) #7
  br label %1893

1893:                                             ; preds = %1892, %1871
  %.pn550.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn550.pn.pn.pn.pn.pn, %1892 ], [ %1872, %1871 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %176) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %175) #7
  br label %1894

1894:                                             ; preds = %1893, %1869
  %.pn550.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn550.pn.pn.pn.pn.pn.pn, %1893 ], [ %1870, %1869 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %175) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %174) #7
  br label %1895

1895:                                             ; preds = %1894, %1867
  %.pn550.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn550.pn.pn.pn.pn.pn.pn.pn, %1894 ], [ %1868, %1867 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %174) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %173) #7
  br label %1896

1896:                                             ; preds = %1895, %1865
  %.pn550.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn550.pn.pn.pn.pn.pn.pn.pn.pn, %1895 ], [ %1866, %1865 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %173) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %172) #7
  br label %1897

1897:                                             ; preds = %1896, %1863
  %.pn550.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn550.pn.pn.pn.pn.pn.pn.pn.pn.pn, %1896 ], [ %1864, %1863 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %172) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %171) #7
  br label %1898

1898:                                             ; preds = %1897, %1861
  %.pn550.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn550.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %1897 ], [ %1862, %1861 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %171) #7
  br label %2195

1899:                                             ; preds = %1711
  %1900 = load double, ptr %1660, align 8, !tbaa !47
  %1901 = getelementptr inbounds i8, ptr %0, i64 104
  %1902 = load double, ptr %1901, align 8, !tbaa !49
  %1903 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %127)
  %1904 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %129)
  %1905 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %131)
  %1906 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %133)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %183) #7
  %1907 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %31)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3y_cEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %183, ptr noundef nonnull align 8 dereferenceable(280) %1907)
          to label %1908 unwind label %1949

1908:                                             ; preds = %1899
  %1909 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %183)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %184) #7
  %1910 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %31)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3y_dEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %184, ptr noundef nonnull align 8 dereferenceable(280) %1910)
          to label %1911 unwind label %1951

1911:                                             ; preds = %1908
  %1912 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %184)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %185) #7
  %1913 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %31)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_LEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %185, ptr noundef nonnull align 8 dereferenceable(280) %1913)
          to label %1914 unwind label %1953

1914:                                             ; preds = %1911
  %1915 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %185)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %186) #7
  %1916 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %31)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_UEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %186, ptr noundef nonnull align 8 dereferenceable(280) %1916)
          to label %1917 unwind label %1955

1917:                                             ; preds = %1914
  %1918 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %186)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %187) #7
  %1919 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %31)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_LEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %187, ptr noundef nonnull align 8 dereferenceable(280) %1919)
          to label %1920 unwind label %1957

1920:                                             ; preds = %1917
  %1921 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %187)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %188) #7
  %1922 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %31)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_UEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %188, ptr noundef nonnull align 8 dereferenceable(280) %1922)
          to label %1923 unwind label %1959

1923:                                             ; preds = %1920
  %1924 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %188)
  %1925 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %143)
  %1926 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %145)
  %1927 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %147)
  %1928 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %149)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %189) #7
  %1929 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %45)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3y_cEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %189, ptr noundef nonnull align 8 dereferenceable(280) %1929)
          to label %1930 unwind label %1961

1930:                                             ; preds = %1923
  %1931 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %189)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %190) #7
  %1932 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %45)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3y_dEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %190, ptr noundef nonnull align 8 dereferenceable(280) %1932)
          to label %1933 unwind label %1963

1933:                                             ; preds = %1930
  %1934 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %190)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %191) #7
  %1935 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %45)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_LEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %191, ptr noundef nonnull align 8 dereferenceable(280) %1935)
          to label %1936 unwind label %1965

1936:                                             ; preds = %1933
  %1937 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %191)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %192) #7
  %1938 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %45)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_UEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %192, ptr noundef nonnull align 8 dereferenceable(280) %1938)
          to label %1939 unwind label %1967

1939:                                             ; preds = %1936
  %1940 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %192)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %193) #7
  %1941 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %45)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_LEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %193, ptr noundef nonnull align 8 dereferenceable(280) %1941)
          to label %1942 unwind label %1969

1942:                                             ; preds = %1939
  %1943 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %193)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %194) #7
  %1944 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %45)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_UEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %194, ptr noundef nonnull align 8 dereferenceable(280) %1944)
          to label %1945 unwind label %1971

1945:                                             ; preds = %1942
  %1946 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %194)
  %1947 = invoke noundef double @_ZN10SimTKIpopt23QualityFunctionMuOracle20PerformGoldenSectionEddddddRKNS_6VectorES3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_(ptr noundef nonnull align 8 dereferenceable(432) %0, double noundef %1715, double noundef -1.000000e+02, double noundef 1.000000e+00, double noundef %1658, double noundef %1900, double noundef %1902, ptr noundef nonnull align 8 dereferenceable(205) %1903, ptr noundef nonnull align 8 dereferenceable(205) %1904, ptr noundef nonnull align 8 dereferenceable(205) %1905, ptr noundef nonnull align 8 dereferenceable(205) %1906, ptr noundef nonnull align 8 dereferenceable(205) %1909, ptr noundef nonnull align 8 dereferenceable(205) %1912, ptr noundef nonnull align 8 dereferenceable(205) %1915, ptr noundef nonnull align 8 dereferenceable(205) %1918, ptr noundef nonnull align 8 dereferenceable(205) %1921, ptr noundef nonnull align 8 dereferenceable(205) %1924, ptr noundef nonnull align 8 dereferenceable(205) %1925, ptr noundef nonnull align 8 dereferenceable(205) %1926, ptr noundef nonnull align 8 dereferenceable(205) %1927, ptr noundef nonnull align 8 dereferenceable(205) %1928, ptr noundef nonnull align 8 dereferenceable(205) %1931, ptr noundef nonnull align 8 dereferenceable(205) %1934, ptr noundef nonnull align 8 dereferenceable(205) %1937, ptr noundef nonnull align 8 dereferenceable(205) %1940, ptr noundef nonnull align 8 dereferenceable(205) %1943, ptr noundef nonnull align 8 dereferenceable(205) %1946)
          to label %1948 unwind label %1973

1948:                                             ; preds = %1945
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %194) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %194) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %193) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %193) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %192) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %192) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %191) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %191) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %190) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %190) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %189) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %189) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %188) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %188) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %187) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %187) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %186) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %186) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %185) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %185) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %184) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %184) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %183) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %183) #7
  br label %2084

1949:                                             ; preds = %1899
  %1950 = landingpad { ptr, i32 }
          cleanup
  br label %1986

1951:                                             ; preds = %1908
  %1952 = landingpad { ptr, i32 }
          cleanup
  br label %1985

1953:                                             ; preds = %1911
  %1954 = landingpad { ptr, i32 }
          cleanup
  br label %1984

1955:                                             ; preds = %1914
  %1956 = landingpad { ptr, i32 }
          cleanup
  br label %1983

1957:                                             ; preds = %1917
  %1958 = landingpad { ptr, i32 }
          cleanup
  br label %1982

1959:                                             ; preds = %1920
  %1960 = landingpad { ptr, i32 }
          cleanup
  br label %1981

1961:                                             ; preds = %1923
  %1962 = landingpad { ptr, i32 }
          cleanup
  br label %1980

1963:                                             ; preds = %1930
  %1964 = landingpad { ptr, i32 }
          cleanup
  br label %1979

1965:                                             ; preds = %1933
  %1966 = landingpad { ptr, i32 }
          cleanup
  br label %1978

1967:                                             ; preds = %1936
  %1968 = landingpad { ptr, i32 }
          cleanup
  br label %1977

1969:                                             ; preds = %1939
  %1970 = landingpad { ptr, i32 }
          cleanup
  br label %1976

1971:                                             ; preds = %1942
  %1972 = landingpad { ptr, i32 }
          cleanup
  br label %1975

1973:                                             ; preds = %1945
  %1974 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %194) #7
  br label %1975

1975:                                             ; preds = %1973, %1971
  %.pn576 = phi { ptr, i32 } [ %1974, %1973 ], [ %1972, %1971 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %194) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %193) #7
  br label %1976

1976:                                             ; preds = %1975, %1969
  %.pn576.pn = phi { ptr, i32 } [ %.pn576, %1975 ], [ %1970, %1969 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %193) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %192) #7
  br label %1977

1977:                                             ; preds = %1976, %1967
  %.pn576.pn.pn = phi { ptr, i32 } [ %.pn576.pn, %1976 ], [ %1968, %1967 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %192) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %191) #7
  br label %1978

1978:                                             ; preds = %1977, %1965
  %.pn576.pn.pn.pn = phi { ptr, i32 } [ %.pn576.pn.pn, %1977 ], [ %1966, %1965 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %191) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %190) #7
  br label %1979

1979:                                             ; preds = %1978, %1963
  %.pn576.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn576.pn.pn.pn, %1978 ], [ %1964, %1963 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %190) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %189) #7
  br label %1980

1980:                                             ; preds = %1979, %1961
  %.pn576.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn576.pn.pn.pn.pn, %1979 ], [ %1962, %1961 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %189) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %188) #7
  br label %1981

1981:                                             ; preds = %1980, %1959
  %.pn576.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn576.pn.pn.pn.pn.pn, %1980 ], [ %1960, %1959 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %188) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %187) #7
  br label %1982

1982:                                             ; preds = %1981, %1957
  %.pn576.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn576.pn.pn.pn.pn.pn.pn, %1981 ], [ %1958, %1957 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %187) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %186) #7
  br label %1983

1983:                                             ; preds = %1982, %1955
  %.pn576.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn576.pn.pn.pn.pn.pn.pn.pn, %1982 ], [ %1956, %1955 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %186) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %185) #7
  br label %1984

1984:                                             ; preds = %1983, %1953
  %.pn576.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn576.pn.pn.pn.pn.pn.pn.pn.pn, %1983 ], [ %1954, %1953 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %185) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %184) #7
  br label %1985

1985:                                             ; preds = %1984, %1951
  %.pn576.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn576.pn.pn.pn.pn.pn.pn.pn.pn.pn, %1984 ], [ %1952, %1951 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %184) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %183) #7
  br label %1986

1986:                                             ; preds = %1985, %1949
  %.pn576.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn576.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %1985 ], [ %1950, %1949 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %183) #7
  br label %2195

1987:                                             ; preds = %1709
  %1988 = getelementptr inbounds i8, ptr %0, i64 72
  %1989 = load double, ptr %1988, align 8, !tbaa !50
  %1990 = fdiv double %1, %528
  %1991 = call noundef double @_ZN10SimTKIpopt3MaxEdd(double noundef %1989, double noundef %1990)
  %1992 = call noundef double @_ZN10SimTKIpopt3MaxEdd(double noundef %1991, double noundef %1663)
  %1993 = fdiv double %2, %528
  %1994 = call noundef double @_ZN10SimTKIpopt3MinEdd(double noundef %1992, double noundef %1993)
  %1995 = fcmp ult double %1991, %1994
  br i1 %1995, label %1996, label %2084

1996:                                             ; preds = %1987
  %1997 = load double, ptr %1660, align 8, !tbaa !47
  %1998 = getelementptr inbounds i8, ptr %0, i64 104
  %1999 = load double, ptr %1998, align 8, !tbaa !49
  %2000 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %127)
  %2001 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %129)
  %2002 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %131)
  %2003 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %133)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %195) #7
  %2004 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %31)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3y_cEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %195, ptr noundef nonnull align 8 dereferenceable(280) %2004)
          to label %2005 unwind label %2046

2005:                                             ; preds = %1996
  %2006 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %195)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %196) #7
  %2007 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %31)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3y_dEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %196, ptr noundef nonnull align 8 dereferenceable(280) %2007)
          to label %2008 unwind label %2048

2008:                                             ; preds = %2005
  %2009 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %196)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %197) #7
  %2010 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %31)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_LEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %197, ptr noundef nonnull align 8 dereferenceable(280) %2010)
          to label %2011 unwind label %2050

2011:                                             ; preds = %2008
  %2012 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %197)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %198) #7
  %2013 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %31)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_UEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %198, ptr noundef nonnull align 8 dereferenceable(280) %2013)
          to label %2014 unwind label %2052

2014:                                             ; preds = %2011
  %2015 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %198)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %199) #7
  %2016 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %31)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_LEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %199, ptr noundef nonnull align 8 dereferenceable(280) %2016)
          to label %2017 unwind label %2054

2017:                                             ; preds = %2014
  %2018 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %199)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %200) #7
  %2019 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %31)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_UEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %200, ptr noundef nonnull align 8 dereferenceable(280) %2019)
          to label %2020 unwind label %2056

2020:                                             ; preds = %2017
  %2021 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %200)
  %2022 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %143)
  %2023 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %145)
  %2024 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %147)
  %2025 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %149)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %201) #7
  %2026 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %45)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3y_cEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %201, ptr noundef nonnull align 8 dereferenceable(280) %2026)
          to label %2027 unwind label %2058

2027:                                             ; preds = %2020
  %2028 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %201)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %202) #7
  %2029 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %45)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3y_dEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %202, ptr noundef nonnull align 8 dereferenceable(280) %2029)
          to label %2030 unwind label %2060

2030:                                             ; preds = %2027
  %2031 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %202)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %203) #7
  %2032 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %45)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_LEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %203, ptr noundef nonnull align 8 dereferenceable(280) %2032)
          to label %2033 unwind label %2062

2033:                                             ; preds = %2030
  %2034 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %203)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %204) #7
  %2035 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %45)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3z_UEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %204, ptr noundef nonnull align 8 dereferenceable(280) %2035)
          to label %2036 unwind label %2064

2036:                                             ; preds = %2033
  %2037 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %204)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %205) #7
  %2038 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %45)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_LEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %205, ptr noundef nonnull align 8 dereferenceable(280) %2038)
          to label %2039 unwind label %2066

2039:                                             ; preds = %2036
  %2040 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %205)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %206) #7
  %2041 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %45)
  invoke void @_ZNK10SimTKIpopt14IteratesVector3v_UEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8 %206, ptr noundef nonnull align 8 dereferenceable(280) %2041)
          to label %2042 unwind label %2068

2042:                                             ; preds = %2039
  %2043 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %206)
  %2044 = invoke noundef double @_ZN10SimTKIpopt23QualityFunctionMuOracle20PerformGoldenSectionEddddddRKNS_6VectorES3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_(ptr noundef nonnull align 8 dereferenceable(432) %0, double noundef %1994, double noundef %1708, double noundef %1991, double noundef -1.000000e+02, double noundef %1997, double noundef %1999, ptr noundef nonnull align 8 dereferenceable(205) %2000, ptr noundef nonnull align 8 dereferenceable(205) %2001, ptr noundef nonnull align 8 dereferenceable(205) %2002, ptr noundef nonnull align 8 dereferenceable(205) %2003, ptr noundef nonnull align 8 dereferenceable(205) %2006, ptr noundef nonnull align 8 dereferenceable(205) %2009, ptr noundef nonnull align 8 dereferenceable(205) %2012, ptr noundef nonnull align 8 dereferenceable(205) %2015, ptr noundef nonnull align 8 dereferenceable(205) %2018, ptr noundef nonnull align 8 dereferenceable(205) %2021, ptr noundef nonnull align 8 dereferenceable(205) %2022, ptr noundef nonnull align 8 dereferenceable(205) %2023, ptr noundef nonnull align 8 dereferenceable(205) %2024, ptr noundef nonnull align 8 dereferenceable(205) %2025, ptr noundef nonnull align 8 dereferenceable(205) %2028, ptr noundef nonnull align 8 dereferenceable(205) %2031, ptr noundef nonnull align 8 dereferenceable(205) %2034, ptr noundef nonnull align 8 dereferenceable(205) %2037, ptr noundef nonnull align 8 dereferenceable(205) %2040, ptr noundef nonnull align 8 dereferenceable(205) %2043)
          to label %2045 unwind label %2070

2045:                                             ; preds = %2042
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %206) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %206) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %205) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %205) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %204) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %204) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %203) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %203) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %202) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %202) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %201) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %201) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %200) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %200) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %199) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %199) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %198) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %198) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %197) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %197) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %196) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %196) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %195) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %195) #7
  br label %2084

2046:                                             ; preds = %1996
  %2047 = landingpad { ptr, i32 }
          cleanup
  br label %2083

2048:                                             ; preds = %2005
  %2049 = landingpad { ptr, i32 }
          cleanup
  br label %2082

2050:                                             ; preds = %2008
  %2051 = landingpad { ptr, i32 }
          cleanup
  br label %2081

2052:                                             ; preds = %2011
  %2053 = landingpad { ptr, i32 }
          cleanup
  br label %2080

2054:                                             ; preds = %2014
  %2055 = landingpad { ptr, i32 }
          cleanup
  br label %2079

2056:                                             ; preds = %2017
  %2057 = landingpad { ptr, i32 }
          cleanup
  br label %2078

2058:                                             ; preds = %2020
  %2059 = landingpad { ptr, i32 }
          cleanup
  br label %2077

2060:                                             ; preds = %2027
  %2061 = landingpad { ptr, i32 }
          cleanup
  br label %2076

2062:                                             ; preds = %2030
  %2063 = landingpad { ptr, i32 }
          cleanup
  br label %2075

2064:                                             ; preds = %2033
  %2065 = landingpad { ptr, i32 }
          cleanup
  br label %2074

2066:                                             ; preds = %2036
  %2067 = landingpad { ptr, i32 }
          cleanup
  br label %2073

2068:                                             ; preds = %2039
  %2069 = landingpad { ptr, i32 }
          cleanup
  br label %2072

2070:                                             ; preds = %2042
  %2071 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %206) #7
  br label %2072

2072:                                             ; preds = %2070, %2068
  %.pn563 = phi { ptr, i32 } [ %2071, %2070 ], [ %2069, %2068 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %206) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %205) #7
  br label %2073

2073:                                             ; preds = %2072, %2066
  %.pn563.pn = phi { ptr, i32 } [ %.pn563, %2072 ], [ %2067, %2066 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %205) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %204) #7
  br label %2074

2074:                                             ; preds = %2073, %2064
  %.pn563.pn.pn = phi { ptr, i32 } [ %.pn563.pn, %2073 ], [ %2065, %2064 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %204) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %203) #7
  br label %2075

2075:                                             ; preds = %2074, %2062
  %.pn563.pn.pn.pn = phi { ptr, i32 } [ %.pn563.pn.pn, %2074 ], [ %2063, %2062 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %203) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %202) #7
  br label %2076

2076:                                             ; preds = %2075, %2060
  %.pn563.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn563.pn.pn.pn, %2075 ], [ %2061, %2060 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %202) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %201) #7
  br label %2077

2077:                                             ; preds = %2076, %2058
  %.pn563.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn563.pn.pn.pn.pn, %2076 ], [ %2059, %2058 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %201) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %200) #7
  br label %2078

2078:                                             ; preds = %2077, %2056
  %.pn563.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn563.pn.pn.pn.pn.pn, %2077 ], [ %2057, %2056 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %200) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %199) #7
  br label %2079

2079:                                             ; preds = %2078, %2054
  %.pn563.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn563.pn.pn.pn.pn.pn.pn, %2078 ], [ %2055, %2054 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %199) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %198) #7
  br label %2080

2080:                                             ; preds = %2079, %2052
  %.pn563.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn563.pn.pn.pn.pn.pn.pn.pn, %2079 ], [ %2053, %2052 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %198) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %197) #7
  br label %2081

2081:                                             ; preds = %2080, %2050
  %.pn563.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn563.pn.pn.pn.pn.pn.pn.pn.pn, %2080 ], [ %2051, %2050 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %197) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %196) #7
  br label %2082

2082:                                             ; preds = %2081, %2048
  %.pn563.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn563.pn.pn.pn.pn.pn.pn.pn.pn.pn, %2081 ], [ %2049, %2048 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %196) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %195) #7
  br label %2083

2083:                                             ; preds = %2082, %2046
  %.pn563.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn563.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %2082 ], [ %2047, %2046 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %195) #7
  br label %2195

2084:                                             ; preds = %2045, %1987, %1948, %1711
  %.2314 = phi double [ %1947, %1948 ], [ %1715, %1711 ], [ %2044, %2045 ], [ %1991, %1987 ]
  %2085 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %2086 unwind label %1859

2086:                                             ; preds = %2084
  %2087 = call noundef nonnull align 8 dereferenceable(664) ptr @_ZN10SimTKIpopt9IpoptData11TimingStatsEv(ptr noundef nonnull align 8 dereferenceable(864) %2085)
  %2088 = call noundef nonnull align 8 dereferenceable(18) ptr @_ZN10SimTKIpopt16TimingStatistics21QualityFunctionSearchEv(ptr noundef nonnull align 8 dereferenceable(664) %2087)
  call void @_ZN10SimTKIpopt9TimedTask3EndEv(ptr noundef nonnull align 8 dereferenceable(18) %2088)
  %2089 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject5JnlstEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %2090 unwind label %1859

2090:                                             ; preds = %2086
  invoke void (ptr, i32, i32, ptr, ...) @_ZNK10SimTKIpopt10Journalist6PrintfENS_13EJournalLevelENS_16EJournalCategoryEPKcz(ptr noundef nonnull align 8 dereferenceable(40) %2089, i32 noundef 5, i32 noundef 4, ptr noundef nonnull @.str.46, double noundef %.2314)
          to label %2091 unwind label %1859

2091:                                             ; preds = %2090
  %2092 = fmul double %528, %.2314
  %2093 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %2094 unwind label %2166

2094:                                             ; preds = %2091
  invoke void @_ZN10SimTKIpopt9IpoptData13set_delta_affERNS_8SmartPtrINS_14IteratesVectorEEE(ptr noundef nonnull align 8 dereferenceable(864) %2093, ptr noundef nonnull align 8 dereferenceable(8) %31)
          to label %2095 unwind label %2166

2095:                                             ; preds = %2094
  %2096 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %2097 unwind label %2166

2097:                                             ; preds = %2095
  call void @_ZN10SimTKIpopt9IpoptData19SetHaveAffineDeltasEb(ptr noundef nonnull align 8 dereferenceable(864) %2096, i1 noundef zeroext true)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %207) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %208) #7
  %2098 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %2099 unwind label %2168

2099:                                             ; preds = %2097
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.33") align 8 %208, ptr noundef nonnull align 8 dereferenceable(864) %2098)
          to label %2100 unwind label %2168

2100:                                             ; preds = %2099
  %2101 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %208)
  invoke void @_ZNK10SimTKIpopt14IteratesVector21MakeNewIteratesVectorEb(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.32") align 8 %207, ptr noundef nonnull align 8 dereferenceable(280) %2101, i1 noundef zeroext true)
          to label %2102 unwind label %2170

2102:                                             ; preds = %2100
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %208) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %208) #7
  %2103 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %207)
  %2104 = call noundef nonnull align 8 dereferenceable(280) ptr @_ZNK10SimTKIpopt8SmartPtrINS_14IteratesVectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %45)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %209) #7
  %2105 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %2106 unwind label %2175

2106:                                             ; preds = %2102
  invoke void @_ZNK10SimTKIpopt9IpoptData9delta_affEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.33") align 8 %209, ptr noundef nonnull align 8 dereferenceable(864) %2105)
          to label %2107 unwind label %2175

2107:                                             ; preds = %2106
  %2108 = call noundef nonnull align 8 dereferenceable(280) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %209)
  invoke void @_ZN10SimTKIpopt6Vector13AddTwoVectorsEdRKS0_dS2_d(ptr noundef nonnull align 8 dereferenceable(205) %2103, double noundef %.2314, ptr noundef nonnull align 8 dereferenceable(205) %2104, double noundef 1.000000e+00, ptr noundef nonnull align 8 dereferenceable(205) %2108, double noundef 0.000000e+00)
          to label %2109 unwind label %2177

2109:                                             ; preds = %2107
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %209) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %209) #7
  %2110 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %2111 unwind label %2173

2111:                                             ; preds = %2109
  invoke void @_ZN10SimTKIpopt9IpoptData9set_deltaERNS_8SmartPtrINS_14IteratesVectorEEE(ptr noundef nonnull align 8 dereferenceable(864) %2110, ptr noundef nonnull align 8 dereferenceable(8) %207)
          to label %2112 unwind label %2173

2112:                                             ; preds = %2111
  %2113 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %2114 unwind label %2173

2114:                                             ; preds = %2112
  call void @_ZN10SimTKIpopt9IpoptData13SetHaveDeltasEb(ptr noundef nonnull align 8 dereferenceable(864) %2113, i1 noundef zeroext true)
  %2115 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %222, ptr noundef null)
          to label %2116 unwind label %2173

2116:                                             ; preds = %2114
  %2117 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %232, ptr noundef null)
          to label %2118 unwind label %2173

2118:                                             ; preds = %2116
  %2119 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %242, ptr noundef null)
          to label %2120 unwind label %2173

2120:                                             ; preds = %2118
  %2121 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %252, ptr noundef null)
          to label %2122 unwind label %2173

2122:                                             ; preds = %2120
  %2123 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %262, ptr noundef null)
          to label %2124 unwind label %2173

2124:                                             ; preds = %2122
  %2125 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %272, ptr noundef null)
          to label %2126 unwind label %2173

2126:                                             ; preds = %2124
  %2127 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %282, ptr noundef null)
          to label %2128 unwind label %2173

2128:                                             ; preds = %2126
  %2129 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %292, ptr noundef null)
          to label %2130 unwind label %2173

2130:                                             ; preds = %2128
  %2131 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %302, ptr noundef null)
          to label %2132 unwind label %2173

2132:                                             ; preds = %2130
  %2133 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %312, ptr noundef null)
          to label %2134 unwind label %2173

2134:                                             ; preds = %2132
  %2135 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %322, ptr noundef null)
          to label %2136 unwind label %2173

2136:                                             ; preds = %2134
  %2137 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %332, ptr noundef null)
          to label %2138 unwind label %2173

2138:                                             ; preds = %2136
  %2139 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %342, ptr noundef null)
          to label %2140 unwind label %2173

2140:                                             ; preds = %2138
  %2141 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %352, ptr noundef null)
          to label %2142 unwind label %2173

2142:                                             ; preds = %2140
  %2143 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %362, ptr noundef null)
          to label %2144 unwind label %2173

2144:                                             ; preds = %2142
  %2145 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %372, ptr noundef null)
          to label %2146 unwind label %2173

2146:                                             ; preds = %2144
  %2147 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEaSEPS2_(ptr noundef nonnull align 8 dereferenceable(8) %811, ptr noundef null)
          to label %2148 unwind label %2173

2148:                                             ; preds = %2146
  %2149 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEaSEPS2_(ptr noundef nonnull align 8 dereferenceable(8) %817, ptr noundef null)
          to label %2150 unwind label %2173

2150:                                             ; preds = %2148
  %2151 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEaSEPS2_(ptr noundef nonnull align 8 dereferenceable(8) %823, ptr noundef null)
          to label %2152 unwind label %2173

2152:                                             ; preds = %2150
  %2153 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEaSEPS2_(ptr noundef nonnull align 8 dereferenceable(8) %829, ptr noundef null)
          to label %2154 unwind label %2173

2154:                                             ; preds = %2152
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %210) #7
  %2155 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef nonnull dereferenceable(1) %210, i64 noundef 40, ptr noundef nonnull @.str.47, double noundef %.2314) #7
  %2156 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %2157 unwind label %2180

2157:                                             ; preds = %2154
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %211) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %212) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %212) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %211, ptr noundef nonnull %210, ptr noundef nonnull align 1 dereferenceable(1) %212)
          to label %2158 unwind label %2182

2158:                                             ; preds = %2157
  invoke void @_ZN10SimTKIpopt9IpoptData18Append_info_stringERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(864) %2156, ptr noundef nonnull align 8 dereferenceable(32) %211)
          to label %2159 unwind label %2184

2159:                                             ; preds = %2158
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %211) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %212) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %212) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %211) #7
  %2160 = load i32, ptr %807, align 8, !tbaa !33
  %2161 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef nonnull dereferenceable(1) %210, i64 noundef 40, ptr noundef nonnull @.str.48, i32 noundef %2160) #7
  %2162 = invoke noundef nonnull align 8 dereferenceable(864) ptr @_ZNK10SimTKIpopt23AlgorithmStrategyObject6IpDataEv(ptr noundef nonnull align 8 dereferenceable(49) %0)
          to label %2163 unwind label %2180

2163:                                             ; preds = %2159
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %213) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %214) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %214) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %213, ptr noundef nonnull %210, ptr noundef nonnull align 1 dereferenceable(1) %214)
          to label %2164 unwind label %2187

2164:                                             ; preds = %2163
  invoke void @_ZN10SimTKIpopt9IpoptData18Append_info_stringERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(864) %2162, ptr noundef nonnull align 8 dereferenceable(32) %213)
          to label %2165 unwind label %2189

2165:                                             ; preds = %2164
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %213) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %214) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %214) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %213) #7
  store double %2092, ptr %3, align 8, !tbaa !51
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %210) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %207) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %207) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %149) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %149) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %147) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %147) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %145) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %145) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %143) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %143) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %133) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %133) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %131) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %131) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %129) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %129) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %127) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %127) #7
  br label %2205

2166:                                             ; preds = %2095, %2094, %2091
  %2167 = landingpad { ptr, i32 }
          cleanup
  br label %2195

2168:                                             ; preds = %2099, %2097
  %2169 = landingpad { ptr, i32 }
          cleanup
  br label %2172

2170:                                             ; preds = %2100
  %2171 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %208) #7
  br label %2172

2172:                                             ; preds = %2170, %2168
  %.pn589 = phi { ptr, i32 } [ %2171, %2170 ], [ %2169, %2168 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %208) #7
  br label %2194

2173:                                             ; preds = %2152, %2150, %2148, %2146, %2144, %2142, %2140, %2138, %2136, %2134, %2132, %2130, %2128, %2126, %2124, %2122, %2120, %2118, %2116, %2114, %2112, %2111, %2109
  %2174 = landingpad { ptr, i32 }
          cleanup
  br label %2193

2175:                                             ; preds = %2106, %2102
  %2176 = landingpad { ptr, i32 }
          cleanup
  br label %2179

2177:                                             ; preds = %2107
  %2178 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %209) #7
  br label %2179

2179:                                             ; preds = %2177, %2175
  %.pn591 = phi { ptr, i32 } [ %2178, %2177 ], [ %2176, %2175 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %209) #7
  br label %2193

2180:                                             ; preds = %2159, %2154
  %2181 = landingpad { ptr, i32 }
          cleanup
  br label %2192

2182:                                             ; preds = %2157
  %2183 = landingpad { ptr, i32 }
          cleanup
  br label %2186

2184:                                             ; preds = %2158
  %2185 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %211) #7
  br label %2186

2186:                                             ; preds = %2184, %2182
  %.pn593 = phi { ptr, i32 } [ %2185, %2184 ], [ %2183, %2182 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %212) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %212) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %211) #7
  br label %2192

2187:                                             ; preds = %2163
  %2188 = landingpad { ptr, i32 }
          cleanup
  br label %2191

2189:                                             ; preds = %2164
  %2190 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %213) #7
  br label %2191

2191:                                             ; preds = %2189, %2187
  %.pn595 = phi { ptr, i32 } [ %2190, %2189 ], [ %2188, %2187 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %214) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %214) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %213) #7
  br label %2192

2192:                                             ; preds = %2191, %2186, %2180
  %.pn595.pn = phi { ptr, i32 } [ %.pn595, %2191 ], [ %2181, %2180 ], [ %.pn593, %2186 ]
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %210) #7
  br label %2193

2193:                                             ; preds = %2192, %2179, %2173
  %.pn595.pn.pn = phi { ptr, i32 } [ %.pn595.pn, %2192 ], [ %2174, %2173 ], [ %.pn591, %2179 ]
  call void @_ZN10SimTKIpopt8SmartPtrINS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %207) #7
  br label %2194

2194:                                             ; preds = %2193, %2172
  %.pn595.pn.pn.pn = phi { ptr, i32 } [ %.pn595.pn.pn, %2193 ], [ %.pn589, %2172 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %207) #7
  br label %2195

2195:                                             ; preds = %1858, %2166, %2194, %2083, %1986, %1898, %1859, %1820, %1812, %1804, %1796
  %.pn595.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn534.pn, %1820 ], [ %.pn531.pn, %1812 ], [ %.pn528.pn, %1804 ], [ %.pn525.pn, %1796 ], [ %.pn537.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %1858 ], [ %1860, %1859 ], [ %.pn576.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %1986 ], [ %.pn563.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %2083 ], [ %.pn550.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %1898 ], [ %.pn595.pn.pn.pn, %2194 ], [ %2167, %2166 ]
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %149) #7
  br label %2196

2196:                                             ; preds = %2195, %1788
  %.pn595.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn595.pn.pn.pn.pn.pn.pn.pn, %2195 ], [ %.pn523, %1788 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %149) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %147) #7
  br label %2197

2197:                                             ; preds = %2196, %1783
  %.pn595.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn595.pn.pn.pn.pn.pn.pn.pn.pn, %2196 ], [ %.pn521, %1783 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %147) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %145) #7
  br label %2198

2198:                                             ; preds = %2197, %1778
  %.pn595.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn595.pn.pn.pn.pn.pn.pn.pn.pn.pn, %2197 ], [ %.pn519, %1778 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %145) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %143) #7
  br label %2199

2199:                                             ; preds = %2198, %1773
  %.pn595.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn595.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %2198 ], [ %.pn517, %1773 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %143) #7
  br label %2200

2200:                                             ; preds = %2199, %1768, %1760, %1752, %1744
  %.pn595.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn595.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %2199 ], [ %.pn514.pn, %1768 ], [ %.pn511.pn, %1760 ], [ %.pn508.pn, %1752 ], [ %.pn505.pn, %1744 ]
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %133) #7
  br label %2201

2201:                                             ; preds = %2200, %1736
  %.pn595.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn595.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %2200 ], [ %.pn503, %1736 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %133) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %131) #7
  br label %2202

2202:                                             ; preds = %2201, %1731
  %.pn595.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn595.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %2201 ], [ %.pn501, %1731 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %131) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %129) #7
  br label %2203

2203:                                             ; preds = %2202, %1726
  %.pn595.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn595.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %2202 ], [ %.pn499, %1726 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %129) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %127) #7
  br label %2204

2204:                                             ; preds = %2203, %1721
  %.pn595.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn595.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %2203 ], [ %.pn497, %1721 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %127) #7
  br label %2206

2205:                                             ; preds = %594, %2165
  call void @_ZN10SimTKIpopt8SmartPtrINS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %45) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %45) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %33) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %33) #7
  br label %2210

2206:                                             ; preds = %2204, %1472, %1467, %1462, %1457, %1423, %1418, %1413, %1408, %1374, %1369, %1364, %1359, %1325, %1317, %1309, %1301, %1293, %1288, %1283, %1278, %1218, %1183, %1166, %1069, %1064, %1059, %1054, %1020, %1015, %1010, %1005, %971, %966, %961, %956, %922, %914, %906, %898, %890, %885, %880, %875, %805, %770, %753, %653
  %.pn595.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn595.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %2204 ], [ %654, %653 ], [ %.pn479, %1472 ], [ %.pn477, %1467 ], [ %.pn475, %1462 ], [ %.pn473, %1457 ], [ %.pn487, %1423 ], [ %.pn485, %1418 ], [ %.pn483, %1413 ], [ %.pn481, %1408 ], [ %.pn495, %1374 ], [ %.pn493, %1369 ], [ %.pn491, %1364 ], [ %.pn489, %1359 ], [ %.pn470.pn, %1325 ], [ %.pn467.pn, %1317 ], [ %.pn464.pn, %1309 ], [ %.pn461.pn, %1301 ], [ %.pn459, %1293 ], [ %.pn457, %1288 ], [ %.pn455, %1283 ], [ %.pn453, %1278 ], [ %.pn441.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %1218 ], [ %.pn435.pn.pn.pn.pn, %1183 ], [ %.pn429.pn.pn.pn.pn, %1166 ], [ %.pn411, %1069 ], [ %.pn409, %1064 ], [ %.pn407, %1059 ], [ %.pn405, %1054 ], [ %.pn419, %1020 ], [ %.pn417, %1015 ], [ %.pn415, %1010 ], [ %.pn413, %1005 ], [ %.pn427, %971 ], [ %.pn425, %966 ], [ %.pn423, %961 ], [ %.pn421, %956 ], [ %.pn402.pn, %922 ], [ %.pn399.pn, %914 ], [ %.pn396.pn, %906 ], [ %.pn393.pn, %898 ], [ %.pn391, %890 ], [ %.pn389, %885 ], [ %.pn387, %880 ], [ %.pn385, %875 ], [ %.pn373.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %805 ], [ %.pn367.pn.pn.pn.pn, %770 ], [ %.pn361.pn.pn.pn.pn, %753 ]
  call void @_ZN10SimTKIpopt8SmartPtrINS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %45) #7
  br label %2207

2207:                                             ; preds = %2206, %652
  %.pn595.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn595.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %2206 ], [ %.pn359, %652 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %45) #7
  br label %2208

2208:                                             ; preds = %2207, %647, %642, %637, %632, %627, %622, %617, %609
  %.pn595.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn595.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %2207 ], [ %.pn357, %647 ], [ %.pn355, %642 ], [ %.pn353, %637 ], [ %.pn351, %632 ], [ %.pn349, %627 ], [ %.pn347, %622 ], [ %.pn344.pn, %617 ], [ %.pn341.pn, %609 ]
  call void @_ZN10SimTKIpopt8SmartPtrINS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %33) #7
  br label %2209

2209:                                             ; preds = %2208, %601
  %.pn595.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn595.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %2208 ], [ %.pn339, %601 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %33) #7
  br label %2211

2210:                                             ; preds = %443, %2205
  %.1 = phi i1 [ %590, %2205 ], [ false, %443 ]
  call void @_ZN10SimTKIpopt8SmartPtrINS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %31) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %31) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %21) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %21) #7
  ret i1 %.1

2211:                                             ; preds = %595, %2209, %523
  %.pn595.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %524, %523 ], [ %.pn595.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %2209 ], [ %596, %595 ]
  call void @_ZN10SimTKIpopt8SmartPtrINS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %31) #7
  br label %2212

2212:                                             ; preds = %2211, %522
  %.pn595.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn595.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %2211 ], [ %.pn337, %522 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %31) #7
  br label %2213

2213:                                             ; preds = %2212, %517, %512, %507, %502, %497, %492, %487, %482
  %.pn595.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn595.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %2212 ], [ %.pn335, %517 ], [ %.pn333, %512 ], [ %.pn331, %507 ], [ %.pn329, %502 ], [ %.pn327, %497 ], [ %.pn325, %492 ], [ %.pn323, %487 ], [ %.pn, %482 ]
  call void @_ZN10SimTKIpopt8SmartPtrINS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %21) #7
  br label %2214

2214:                                             ; preds = %2213, %476
  %.pn595.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn595.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %2213 ], [ %477, %476 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %21) #7
  br label %2215

2215:                                             ; preds = %2214, %474, %472, %470, %468, %466, %464, %462, %460, %458, %456, %454, %452, %450, %448, %446, %444
  %.pn595.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn595.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %2214 ], [ %475, %474 ], [ %473, %472 ], [ %471, %470 ], [ %469, %468 ], [ %467, %466 ], [ %465, %464 ], [ %463, %462 ], [ %461, %460 ], [ %459, %458 ], [ %457, %456 ], [ %455, %454 ], [ %453, %452 ], [ %451, %450 ], [ %449, %448 ], [ %447, %446 ], [ %445, %444 ]
  resume { ptr, i32 } %.pn595.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn
}

; 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 @_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 #3 align 2

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind noalias writable sret(%"class.SimTKIpopt::SmartPtr.33") align 8, ptr noundef nonnull align 8 dereferenceable(864)) local_unnamed_addr #3 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 @_ZNK10SimTKIpopt14IteratesVector21MakeNewIteratesVectorEb(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.32") align 8, ptr noundef nonnull align 8 dereferenceable(280), i1 noundef zeroext) local_unnamed_addr #4

; 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 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

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

; 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 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

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

; 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

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

; 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

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

; 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

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

; 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

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

; 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

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

; 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 @_ZN10SimTKIpopt25IpoptCalculatedQuantities14curr_compl_s_UEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.12") align 8, ptr noundef nonnull align 8 dereferenceable(2025)) local_unnamed_addr #4

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

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

declare noundef double @_ZN10SimTKIpopt25IpoptCalculatedQuantities15curr_avrg_complEv(ptr noundef nonnull align 8 dereferenceable(2025)) local_unnamed_addr #4

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

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

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN10SimTKIpopt14IteratesVector12v_U_NonConstEv(ptr dead_on_unwind noalias writable sret(%"class.SimTKIpopt::SmartPtr.11") 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(664) ptr @_ZN10SimTKIpopt9IpoptData11TimingStatsEv(ptr noundef nonnull align 8 dereferenceable(864)) local_unnamed_addr #1 align 2

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNK10SimTKIpopt14IteratesVector1xEv(ptr dead_on_unwind noalias writable sret(%"class.SimTKIpopt::SmartPtr.12") 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 #3 align 2

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

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

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

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

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

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

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

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

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

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef double @_ZNK10SimTKIpopt6Vector4AsumEv(ptr noundef nonnull align 8 dereferenceable(205)) local_unnamed_addr #3 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef double @_ZNK10SimTKIpopt6Vector4Nrm2Ev(ptr noundef nonnull align 8 dereferenceable(205)) local_unnamed_addr #3 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef double @_ZNK10SimTKIpopt6Vector4AmaxEv(ptr noundef nonnull align 8 dereferenceable(205)) local_unnamed_addr #3 align 2

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

; 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 uwtable
declare dso_local noundef double @_ZN10SimTKIpopt23QualityFunctionMuOracle24CalculateQualityFunctionEdRKNS_6VectorES3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_(ptr noundef nonnull align 8 dereferenceable(432), double noundef, ptr noundef nonnull align 8 dereferenceable(205), ptr noundef nonnull align 8 dereferenceable(205), ptr noundef nonnull align 8 dereferenceable(205), ptr noundef nonnull align 8 dereferenceable(205), 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), 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), 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), 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 nounwind uwtable
declare dso_local noundef double @_ZN10SimTKIpopt3MaxEdd(double noundef, double noundef) local_unnamed_addr #5

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef double @_ZN10SimTKIpopt3MinEdd(double noundef, double noundef) local_unnamed_addr #5

; Function Attrs: mustprogress uwtable
declare dso_local noundef double @_ZN10SimTKIpopt23QualityFunctionMuOracle20PerformGoldenSectionEddddddRKNS_6VectorES3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_(ptr noundef nonnull align 8 dereferenceable(432), double noundef, double noundef, double noundef, double noundef, double noundef, double noundef, ptr noundef nonnull align 8 dereferenceable(205), ptr noundef nonnull align 8 dereferenceable(205), ptr noundef nonnull align 8 dereferenceable(205), ptr noundef nonnull align 8 dereferenceable(205), 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), 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), 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), 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 @_ZN10SimTKIpopt9IpoptData13set_delta_affERNS_8SmartPtrINS_14IteratesVectorEEE(ptr noundef nonnull align 8 dereferenceable(864), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN10SimTKIpopt9IpoptData19SetHaveAffineDeltasEb(ptr noundef nonnull align 8 dereferenceable(864), i1 noundef zeroext) local_unnamed_addr #1 align 2

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

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN10SimTKIpopt9IpoptData13SetHaveDeltasEb(ptr noundef nonnull align 8 dereferenceable(864), i1 noundef zeroext) local_unnamed_addr #1 align 2

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

; Function Attrs: nofree nounwind
declare noundef i32 @snprintf(ptr noalias nocapture noundef writeonly, i64 noundef, ptr nocapture noundef readonly, ...) local_unnamed_addr #6

; 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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN10SimTKIpopt8SmartPtrINS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8)) 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 = { 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 #4 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { inlinehint mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { nofree nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #7 = { 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, !20, i64 252}
!9 = !{!"_ZTSN10SimTKIpopt23QualityFunctionMuOracleE", !10, i64 0, !21, i64 56, !22, i64 64, !22, i64 72, !23, i64 80, !24, i64 84, !25, i64 88, !22, i64 96, !22, i64 104, !13, i64 112, !26, i64 120, !26, i64 128, !26, i64 136, !26, i64 144, !26, i64 152, !26, i64 160, !26, i64 168, !26, i64 176, !26, i64 184, !26, i64 192, !26, i64 200, !26, i64 208, !26, i64 216, !26, i64 224, !26, i64 232, !26, i64 240, !13, i64 248, !20, i64 252, !13, i64 256, !13, i64 260, !13, i64 264, !27, i64 272, !27, i64 280, !27, i64 288, !27, i64 296, !27, i64 304, !27, i64 312, !27, i64 320, !27, i64 328, !22, i64 336, !22, i64 344, !22, i64 352, !22, i64 360, !22, i64 368, !22, i64 376, !22, i64 384, !22, i64 392, !22, i64 400, !22, i64 408, !22, i64 416, !22, i64 424}
!10 = !{!"_ZTSN10SimTKIpopt8MuOracleE", !11, i64 0}
!11 = !{!"_ZTSN10SimTKIpopt23AlgorithmStrategyObjectE", !12, i64 0, !15, i64 16, !17, i64 24, !18, i64 32, !19, i64 40, !20, i64 48}
!12 = !{!"_ZTSN10SimTKIpopt16ReferencedObjectE", !13, i64 8}
!13 = !{!"int", !14, i64 0}
!14 = !{!"omnipotent char", !7, i64 0}
!15 = !{!"_ZTSN10SimTKIpopt8SmartPtrIKNS_10JournalistEEE", !16, i64 0}
!16 = !{!"any pointer", !14, i64 0}
!17 = !{!"_ZTSN10SimTKIpopt8SmartPtrINS_8IpoptNLPEEE", !16, i64 0}
!18 = !{!"_ZTSN10SimTKIpopt8SmartPtrINS_9IpoptDataEEE", !16, i64 0}
!19 = !{!"_ZTSN10SimTKIpopt8SmartPtrINS_25IpoptCalculatedQuantitiesEEE", !16, i64 0}
!20 = !{!"bool", !14, i64 0}
!21 = !{!"_ZTSN10SimTKIpopt8SmartPtrINS_14PDSystemSolverEEE", !16, i64 0}
!22 = !{!"double", !14, i64 0}
!23 = !{!"_ZTSN10SimTKIpopt23QualityFunctionMuOracle8NormEnumE", !14, i64 0}
!24 = !{!"_ZTSN10SimTKIpopt23QualityFunctionMuOracle14CentralityEnumE", !14, i64 0}
!25 = !{!"_ZTSN10SimTKIpopt23QualityFunctionMuOracle17BalancingTermEnumE", !14, i64 0}
!26 = !{!"_ZTSN10SimTKIpopt8SmartPtrINS_6VectorEEE", !16, i64 0}
!27 = !{!"_ZTSN10SimTKIpopt8SmartPtrIKNS_6VectorEEE", !16, i64 0}
!28 = !{i8 0, i8 2}
!29 = !{}
!30 = !{!9, !13, i64 256}
!31 = !{!9, !13, i64 260}
!32 = !{!9, !13, i64 264}
!33 = !{!9, !13, i64 248}
!34 = !{!9, !23, i64 80}
!35 = !{!9, !22, i64 336}
!36 = !{!9, !22, i64 344}
!37 = !{!9, !22, i64 352}
!38 = !{!9, !22, i64 360}
!39 = !{!9, !22, i64 368}
!40 = !{!9, !22, i64 376}
!41 = !{!9, !22, i64 384}
!42 = !{!9, !22, i64 392}
!43 = !{!9, !22, i64 400}
!44 = !{!9, !22, i64 408}
!45 = !{!9, !22, i64 416}
!46 = !{!9, !22, i64 424}
!47 = !{!9, !22, i64 96}
!48 = !{!9, !22, i64 64}
!49 = !{!9, !22, i64 104}
!50 = !{!9, !22, i64 72}
!51 = !{!22, !22, i64 0}


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