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

; 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.53" = type { ptr }
%"class.SimTKIpopt::SmartPtr.54" = type { ptr }
%"class.SimTKIpopt::SmartPtr.24" = type { ptr }
%"class.SimTKIpopt::SmartPtr" = type { ptr }
%"class.SimTKIpopt::SmartPtr.16" = type { ptr }
%"class.SimTKIpopt::SmartPtr.5" = type { ptr }
%"class.SimTKIpopt::SmartPtr.19" = 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.26" = type { i8 }
%"class.SimTKIpopt::SmartPtr.55" = type { ptr }
%"class.SimTKIpopt::SmartPtr.23" = type { ptr }
%"class.SimTKIpopt::OrigIpoptNLP" = type { %"class.SimTKIpopt::IpoptNLP", %"class.SimTKIpopt::SmartPtr.17", %"class.SimTKIpopt::SmartPtr.18", %"class.SimTKIpopt::SmartPtr", %"class.SimTKIpopt::SmartPtr", %"class.SimTKIpopt::SmartPtr", %"class.SimTKIpopt::SmartPtr", %"class.SimTKIpopt::SmartPtr.5", %"class.SimTKIpopt::SmartPtr", %"class.SimTKIpopt::SmartPtr.5", %"class.SimTKIpopt::SmartPtr", %"class.SimTKIpopt::SmartPtr.5", %"class.SimTKIpopt::SmartPtr", %"class.SimTKIpopt::SmartPtr.5", %"class.SimTKIpopt::SmartPtr.5", %"class.SimTKIpopt::SmartPtr.5", %"class.SimTKIpopt::SmartPtr.19", %"class.SimTKIpopt::SmartPtr.5", %"class.SimTKIpopt::SmartPtr.5", %"class.SimTKIpopt::SmartPtr.19", %"class.SimTKIpopt::CachedResults", %"class.SimTKIpopt::CachedResults.20", %"class.SimTKIpopt::CachedResults.20", %"class.SimTKIpopt::CachedResults.21", %"class.SimTKIpopt::CachedResults.20", %"class.SimTKIpopt::CachedResults.21", %"class.SimTKIpopt::CachedResults.22", %"class.SimTKIpopt::SmartPtr.23", %"class.SimTKIpopt::SmartPtr.24", %"class.SimTKIpopt::SmartPtr.23", %"class.SimTKIpopt::SmartPtr.24", %"class.SimTKIpopt::SmartPtr.23", %"class.SimTKIpopt::SmartPtr.24", %"class.SimTKIpopt::SmartPtr.23", %"class.SimTKIpopt::SmartPtr.24", %"class.SimTKIpopt::SmartPtr.23", %"class.SimTKIpopt::SmartPtr.23", double, i8, i8, i32, i8, i32, i32, i32, i32, i32, i32, i32, i8, [7 x i8], %"class.SimTKIpopt::TimedTask", %"class.SimTKIpopt::TimedTask", %"class.SimTKIpopt::TimedTask", %"class.SimTKIpopt::TimedTask", %"class.SimTKIpopt::TimedTask", %"class.SimTKIpopt::TimedTask", %"class.SimTKIpopt::TimedTask" }
%"class.SimTKIpopt::IpoptNLP" = type { %"class.SimTKIpopt::ReferencedObject.base", %"class.SimTKIpopt::SmartPtr.16" }
%"class.SimTKIpopt::ReferencedObject.base" = type <{ ptr, i32 }>
%"class.SimTKIpopt::SmartPtr.17" = type { ptr }
%"class.SimTKIpopt::SmartPtr.18" = type { ptr }
%"class.SimTKIpopt::CachedResults" = type { ptr, i32, ptr }
%"class.SimTKIpopt::CachedResults.20" = type { ptr, i32, ptr }
%"class.SimTKIpopt::CachedResults.21" = type { ptr, i32, ptr }
%"class.SimTKIpopt::CachedResults.22" = type { ptr, i32, ptr }
%"class.SimTKIpopt::TimedTask" = type <{ double, double, i8, i8, [6 x i8] }>

@.str.30 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [99 x i8], align 1
@_ZTIN10SimTKIpopt11TOO_FEW_DOFE = external dso_local constant { ptr, ptr, ptr }, align 8
@.str.36 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [98 x i8], align 1
@_ZTIN10SimTKIpopt17INVALID_WARMSTARTE = external dso_local constant { ptr, ptr, ptr }, align 8
@.str.40 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [1 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [21 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: nobuiltin nounwind
declare void @_ZdlPvm(ptr noundef, i64 noundef) #1

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

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

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
define dso_local noundef zeroext i1 @_ZN10SimTKIpopt12OrigIpoptNLP20InitializeStructuresERNS_8SmartPtrINS_6VectorEEEbS4_bS4_bS4_bS4_bS4_S4_(ptr noundef nonnull align 8 dereferenceable(648) %0, ptr noundef nonnull align 8 dereferenceable(8) %1, i1 noundef zeroext %2, ptr noundef nonnull align 8 dereferenceable(8) %3, i1 noundef zeroext %4, ptr noundef nonnull align 8 dereferenceable(8) %5, i1 noundef zeroext %6, ptr noundef nonnull align 8 dereferenceable(8) %7, i1 noundef zeroext %8, ptr noundef nonnull align 8 dereferenceable(8) %9, i1 noundef zeroext %10, ptr noundef nonnull align 8 dereferenceable(8) %11, ptr noundef nonnull align 8 dereferenceable(8) %12) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 {
  %14 = alloca i1, align 1
  %15 = alloca ptr, align 8
  %16 = alloca ptr, align 8
  %17 = alloca i8, align 1
  %18 = alloca ptr, align 8
  %19 = alloca i8, align 1
  %20 = alloca ptr, align 8
  %21 = alloca i8, align 1
  %22 = alloca ptr, align 8
  %23 = alloca i8, align 1
  %24 = alloca ptr, align 8
  %25 = alloca i8, align 1
  %26 = alloca ptr, align 8
  %27 = alloca ptr, align 8
  %28 = alloca i8, align 1
  %29 = alloca i32, align 4
  %30 = alloca %"class.SimTKIpopt::SmartPtr.53", align 8
  %31 = alloca %"class.SimTKIpopt::SmartPtr.54", align 8
  %32 = alloca ptr, align 8
  %33 = alloca i32, align 4
  %34 = alloca %"class.SimTKIpopt::SmartPtr.24", align 8
  %35 = alloca %"class.SimTKIpopt::SmartPtr", align 8
  %36 = alloca i1, align 1
  %37 = alloca %"class.SimTKIpopt::SmartPtr.24", align 8
  %38 = alloca %"class.SimTKIpopt::SmartPtr", align 8
  %39 = alloca i1, align 1
  %40 = alloca %"class.SimTKIpopt::SmartPtr.16", align 8
  %41 = alloca %"class.SimTKIpopt::SmartPtr", align 8
  %42 = alloca %"class.SimTKIpopt::SmartPtr", align 8
  %43 = alloca %"class.SimTKIpopt::SmartPtr", align 8
  %44 = alloca %"class.SimTKIpopt::SmartPtr.5", align 8
  %45 = alloca %"class.SimTKIpopt::SmartPtr.5", align 8
  %46 = alloca %"class.SimTKIpopt::SmartPtr.19", align 8
  %47 = alloca %"class.std::__cxx11::basic_string", align 8
  %48 = alloca %"class.std::allocator.26", align 1
  %49 = alloca %"class.std::__cxx11::basic_string", align 8
  %50 = alloca %"class.std::__cxx11::basic_string", align 8
  %51 = alloca %"class.std::allocator.26", align 1
  %52 = alloca i1, align 1
  %53 = alloca %"class.std::__cxx11::basic_string", align 8
  %54 = alloca %"class.std::allocator.26", align 1
  %55 = alloca %"class.std::__cxx11::basic_string", align 8
  %56 = alloca %"class.std::__cxx11::basic_string", align 8
  %57 = alloca %"class.std::allocator.26", align 1
  %58 = alloca i1, align 1
  %59 = alloca %"class.std::__cxx11::basic_string", align 8
  %60 = alloca %"class.std::allocator.26", align 1
  %61 = alloca %"class.std::__cxx11::basic_string", align 8
  %62 = alloca %"class.std::__cxx11::basic_string", align 8
  %63 = alloca %"class.std::allocator.26", align 1
  %64 = alloca i1, align 1
  %65 = alloca %"class.SimTKIpopt::SmartPtr.55", align 8
  %66 = alloca %"class.SimTKIpopt::SmartPtr.54", align 8
  %67 = alloca %"class.SimTKIpopt::SmartPtr.55", align 8
  %68 = alloca %"class.SimTKIpopt::SmartPtr.54", align 8
  %69 = alloca %"class.SimTKIpopt::SmartPtr.55", align 8
  %70 = alloca %"class.SimTKIpopt::SmartPtr.54", align 8
  %71 = alloca %"class.SimTKIpopt::SmartPtr.55", align 8
  %72 = alloca %"class.SimTKIpopt::SmartPtr.54", align 8
  %73 = alloca %"class.std::__cxx11::basic_string", align 8
  %74 = alloca %"class.std::allocator.26", align 1
  %75 = alloca %"class.std::__cxx11::basic_string", align 8
  %76 = alloca %"class.std::allocator.26", align 1
  %77 = alloca %"class.std::__cxx11::basic_string", align 8
  %78 = alloca %"class.std::allocator.26", align 1
  %79 = alloca %"class.std::__cxx11::basic_string", align 8
  %80 = alloca %"class.std::allocator.26", align 1
  %81 = alloca %"class.std::__cxx11::basic_string", align 8
  %82 = alloca %"class.std::allocator.26", align 1
  %83 = alloca %"class.std::__cxx11::basic_string", align 8
  %84 = alloca %"class.std::allocator.26", align 1
  %85 = alloca %"class.std::__cxx11::basic_string", align 8
  %86 = alloca %"class.std::allocator.26", align 1
  %87 = alloca %"class.std::__cxx11::basic_string", align 8
  %88 = alloca %"class.std::allocator.26", align 1
  %89 = alloca %"class.SimTKIpopt::SmartPtr.55", align 8
  %90 = alloca %"class.SimTKIpopt::SmartPtr.23", align 8
  %91 = alloca %"class.SimTKIpopt::SmartPtr.23", align 8
  %92 = alloca %"class.SimTKIpopt::SmartPtr.23", align 8
  %93 = alloca %"class.SimTKIpopt::SmartPtr.24", align 8
  %94 = alloca %"class.SimTKIpopt::SmartPtr.23", align 8
  %95 = alloca %"class.SimTKIpopt::SmartPtr.24", align 8
  %96 = alloca %"class.SimTKIpopt::SmartPtr.23", align 8
  %97 = alloca %"class.SimTKIpopt::SmartPtr.24", align 8
  %98 = alloca %"class.SimTKIpopt::SmartPtr.23", align 8
  %99 = alloca %"class.SimTKIpopt::SmartPtr.24", align 8
  %100 = alloca %"class.SimTKIpopt::SmartPtr.23", align 8
  %101 = alloca %"class.SimTKIpopt::SmartPtr.16", align 8
  %102 = alloca %"class.SimTKIpopt::SmartPtr.23", align 8
  %103 = alloca %"class.SimTKIpopt::SmartPtr.16", align 8
  %104 = alloca %"class.SimTKIpopt::SmartPtr.23", align 8
  %105 = alloca %"class.SimTKIpopt::SmartPtr.16", align 8
  %106 = alloca %"class.SimTKIpopt::SmartPtr.23", align 8
  %107 = alloca %"class.SimTKIpopt::SmartPtr.16", align 8
  %108 = alloca %"class.std::__cxx11::basic_string", align 8
  %109 = alloca %"class.std::allocator.26", align 1
  %110 = alloca %"class.std::__cxx11::basic_string", align 8
  %111 = alloca %"class.std::allocator.26", align 1
  %112 = alloca %"class.std::__cxx11::basic_string", align 8
  %113 = alloca %"class.std::allocator.26", align 1
  %114 = alloca %"class.std::__cxx11::basic_string", align 8
  %115 = alloca %"class.std::allocator.26", align 1
  %116 = alloca %"class.std::__cxx11::basic_string", align 8
  %117 = alloca %"class.std::allocator.26", align 1
  %118 = alloca %"class.std::__cxx11::basic_string", align 8
  %119 = alloca %"class.std::allocator.26", align 1
  %120 = alloca %"class.std::__cxx11::basic_string", align 8
  %121 = alloca %"class.std::allocator.26", align 1
  %122 = alloca %"class.std::__cxx11::basic_string", align 8
  %123 = alloca %"class.std::allocator.26", align 1
  %124 = alloca %"class.SimTKIpopt::SmartPtr.55", align 8
  %125 = alloca %"class.SimTKIpopt::SmartPtr.55", align 8
  %126 = alloca %"class.SimTKIpopt::SmartPtr.55", align 8
  %127 = alloca %"class.SimTKIpopt::SmartPtr.55", align 8
  %128 = alloca %"class.SimTKIpopt::SmartPtr.55", align 8
  %129 = alloca double, align 8
  %130 = alloca %"class.SimTKIpopt::SmartPtr.16", align 8
  %131 = alloca double, align 8
  %132 = alloca %"class.std::__cxx11::basic_string", align 8
  %133 = alloca %"class.std::allocator.26", align 1
  %134 = alloca %"class.std::__cxx11::basic_string", align 8
  %135 = alloca %"class.std::allocator.26", align 1
  %136 = alloca %"class.SimTKIpopt::SmartPtr.16", align 8
  %137 = alloca %"class.SimTKIpopt::SmartPtr.55", align 8
  %138 = alloca %"class.SimTKIpopt::SmartPtr.16", align 8
  %139 = alloca %"class.SimTKIpopt::SmartPtr.23", align 8
  %140 = alloca %"class.std::__cxx11::basic_string", align 8
  %141 = alloca %"class.std::allocator.26", align 1
  %142 = alloca %"class.std::__cxx11::basic_string", align 8
  %143 = alloca %"class.std::allocator.26", align 1
  %144 = alloca %"class.SimTKIpopt::SmartPtr.16", align 8
  %145 = alloca %"class.SimTKIpopt::SmartPtr.55", align 8
  %146 = alloca %"class.SimTKIpopt::SmartPtr.16", align 8
  %147 = alloca %"class.SimTKIpopt::SmartPtr.23", align 8
  %148 = alloca %"class.std::__cxx11::basic_string", align 8
  %149 = alloca %"class.std::allocator.26", align 1
  %150 = alloca %"class.std::__cxx11::basic_string", align 8
  %151 = alloca %"class.std::allocator.26", align 1
  %152 = alloca %"class.SimTKIpopt::SmartPtr.16", align 8
  %153 = alloca %"class.SimTKIpopt::SmartPtr.55", align 8
  %154 = alloca %"class.SimTKIpopt::SmartPtr.16", align 8
  %155 = alloca %"class.SimTKIpopt::SmartPtr.23", align 8
  %156 = alloca %"class.std::__cxx11::basic_string", align 8
  %157 = alloca %"class.std::allocator.26", align 1
  %158 = alloca %"class.std::__cxx11::basic_string", align 8
  %159 = alloca %"class.std::allocator.26", align 1
  %160 = alloca %"class.SimTKIpopt::SmartPtr.16", align 8
  %161 = alloca %"class.SimTKIpopt::SmartPtr.55", align 8
  %162 = alloca %"class.SimTKIpopt::SmartPtr.16", align 8
  %163 = alloca %"class.SimTKIpopt::SmartPtr.23", align 8
  %164 = alloca %"class.std::__cxx11::basic_string", align 8
  %165 = alloca %"class.std::allocator.26", align 1
  %166 = alloca %"class.std::__cxx11::basic_string", align 8
  %167 = alloca %"class.std::allocator.26", align 1
  %168 = alloca %"class.SimTKIpopt::SmartPtr.16", align 8
  %169 = alloca %"class.SimTKIpopt::SmartPtr.55", align 8
  %170 = alloca %"class.SimTKIpopt::SmartPtr.16", align 8
  %171 = alloca %"class.SimTKIpopt::SmartPtr.23", align 8
  store ptr %0, ptr %15, align 8, !tbaa !5
  store ptr %1, ptr %16, align 8, !tbaa !5
  %172 = zext i1 %2 to i8
  store i8 %172, ptr %17, align 1, !tbaa !9
  store ptr %3, ptr %18, align 8, !tbaa !5
  %173 = zext i1 %4 to i8
  store i8 %173, ptr %19, align 1, !tbaa !9
  store ptr %5, ptr %20, align 8, !tbaa !5
  %174 = zext i1 %6 to i8
  store i8 %174, ptr %21, align 1, !tbaa !9
  store ptr %7, ptr %22, align 8, !tbaa !5
  %175 = zext i1 %8 to i8
  store i8 %175, ptr %23, align 1, !tbaa !9
  store ptr %9, ptr %24, align 8, !tbaa !5
  %176 = zext i1 %10 to i8
  store i8 %176, ptr %25, align 1, !tbaa !9
  store ptr %11, ptr %26, align 8, !tbaa !5
  store ptr %12, ptr %27, align 8, !tbaa !5
  %177 = load ptr, ptr %15, align 8
  call void @llvm.lifetime.start.p0(i64 1, ptr %28) #7
  %178 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 39
  %179 = load i8, ptr %178, align 1, !tbaa !11, !range !31, !noundef !32
  %180 = trunc i8 %179 to i1
  br i1 %180, label %512, label %181

181:                                              ; preds = %13
  %182 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 2
  %183 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_3NLPEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %182)
  %184 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 3
  %185 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 4
  %186 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 5
  %187 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 6
  %188 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 7
  %189 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 8
  %190 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 9
  %191 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 10
  %192 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 11
  %193 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 12
  %194 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 13
  %195 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 14
  %196 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 15
  %197 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 16
  %198 = load ptr, ptr %183, align 8, !tbaa !33
  %199 = getelementptr inbounds ptr, ptr %198, i64 3
  %200 = load ptr, ptr %199, align 8
  %201 = call noundef zeroext i1 %200(ptr noundef nonnull align 8 dereferenceable(12) %183, ptr noundef nonnull align 8 dereferenceable(8) %184, ptr noundef nonnull align 8 dereferenceable(8) %185, ptr noundef nonnull align 8 dereferenceable(8) %186, ptr noundef nonnull align 8 dereferenceable(8) %187, ptr noundef nonnull align 8 dereferenceable(8) %188, ptr noundef nonnull align 8 dereferenceable(8) %189, ptr noundef nonnull align 8 dereferenceable(8) %190, ptr noundef nonnull align 8 dereferenceable(8) %191, ptr noundef nonnull align 8 dereferenceable(8) %192, ptr noundef nonnull align 8 dereferenceable(8) %193, ptr noundef nonnull align 8 dereferenceable(8) %194, ptr noundef nonnull align 8 dereferenceable(8) %195, ptr noundef nonnull align 8 dereferenceable(8) %196, ptr noundef nonnull align 8 dereferenceable(8) %197)
  %202 = zext i1 %201 to i8
  store i8 %202, ptr %28, align 1, !tbaa !9
  %203 = load i8, ptr %28, align 1, !tbaa !9, !range !31, !noundef !32
  %204 = trunc i8 %203 to i1
  br i1 %204, label %206, label %205

205:                                              ; preds = %181
  store i1 false, ptr %14, align 1
  store i32 1, ptr %29, align 4
  br label %1784

206:                                              ; preds = %181
  %207 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 40
  %208 = load i32, ptr %207, align 4, !tbaa !35
  %209 = icmp eq i32 %208, 1
  br i1 %209, label %210, label %316

210:                                              ; preds = %206
  call void @llvm.lifetime.start.p0(i64 8, ptr %30) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_11VectorSpaceEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %30)
  call void @llvm.lifetime.start.p0(i64 8, ptr %31) #7
  invoke void @_ZN10SimTKIpopt8SmartPtrINS_6MatrixEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %31)
          to label %211 unwind label %247

211:                                              ; preds = %210
  %212 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 2
  %213 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_3NLPEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %212)
          to label %214 unwind label %251

214:                                              ; preds = %211
  %215 = load ptr, ptr %213, align 8, !tbaa !33
  %216 = getelementptr inbounds ptr, ptr %215, i64 17
  %217 = load ptr, ptr %216, align 8
  invoke void %217(ptr noundef nonnull align 8 dereferenceable(12) %213, ptr noundef nonnull align 8 dereferenceable(8) %30, ptr noundef nonnull align 8 dereferenceable(8) %31)
          to label %218 unwind label %251

218:                                              ; preds = %214
  %219 = invoke noundef zeroext i1 @_ZN10SimTKIpopt7IsValidINS_11VectorSpaceEEEbRKNS_8SmartPtrIT_EE(ptr noundef nonnull align 8 dereferenceable(8) %30)
          to label %220 unwind label %251

220:                                              ; preds = %218
  br i1 %219, label %221, label %272

221:                                              ; preds = %220
  %222 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 48) #8
          to label %223 unwind label %251

223:                                              ; preds = %221
  store i1 true, ptr %36, align 1
  %224 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 3
  %225 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %224)
          to label %226 unwind label %255

226:                                              ; preds = %223
  %227 = invoke noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %225)
          to label %228 unwind label %255

228:                                              ; preds = %226
  invoke void @_ZN10SimTKIpopt8ConstPtrINS_6MatrixEEENS_8SmartPtrIKT_EERKNS2_IS3_EE(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.24") align 8 %34, ptr noundef nonnull align 8 dereferenceable(8) %31)
          to label %229 unwind label %255

229:                                              ; preds = %228
  invoke void @_ZN10SimTKIpopt8ConstPtrINS_11VectorSpaceEEENS_8SmartPtrIKT_EERKNS2_IS3_EE(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr") align 8 %35, ptr noundef nonnull align 8 dereferenceable(8) %30)
          to label %230 unwind label %259

230:                                              ; preds = %229
  invoke void @_ZN10SimTKIpopt27LowRankUpdateSymMatrixSpaceC2EiNS_8SmartPtrIKNS_6MatrixEEENS1_IKNS_11VectorSpaceEEEb(ptr noundef nonnull align 8 dereferenceable(41) %222, i32 noundef %227, ptr noundef %34, ptr noundef %35, i1 noundef zeroext true)
          to label %231 unwind label %263

231:                                              ; preds = %230
  store i1 false, ptr %36, align 1
  %232 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 16
  %233 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_14SymMatrixSpaceEEaSEPS2_(ptr noundef nonnull align 8 dereferenceable(8) %232, ptr noundef %222)
          to label %234 unwind label %263

234:                                              ; preds = %231
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %35) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %34) #7
  %235 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 1
  %236 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_10JournalistEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %235)
          to label %237 unwind label %251

237:                                              ; preds = %234
  %238 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6MatrixEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %31)
          to label %239 unwind label %251

239:                                              ; preds = %237
  %240 = invoke noundef i32 @_ZNK10SimTKIpopt6Matrix5NColsEv(ptr noundef nonnull align 8 dereferenceable(69) %238)
          to label %241 unwind label %251

241:                                              ; preds = %239
  %242 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6MatrixEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %31)
          to label %243 unwind label %251

243:                                              ; preds = %241
  %244 = invoke noundef i32 @_ZNK10SimTKIpopt6Matrix5NRowsEv(ptr noundef nonnull align 8 dereferenceable(69) %242)
          to label %245 unwind label %251

245:                                              ; preds = %243
  invoke void (ptr, i32, i32, ptr, ...) @_ZNK10SimTKIpopt10Journalist6PrintfENS_13EJournalLevelENS_16EJournalCategoryEPKcz(ptr noundef nonnull align 8 dereferenceable(40) %236, i32 noundef 5, i32 noundef 3, ptr noundef @.str.30, i32 noundef %240, i32 noundef %244)
          to label %246 unwind label %251

246:                                              ; preds = %245
  br label %313

247:                                              ; preds = %210
  %248 = landingpad { ptr, i32 }
          cleanup
  %249 = extractvalue { ptr, i32 } %248, 0
  store ptr %249, ptr %32, align 8
  %250 = extractvalue { ptr, i32 } %248, 1
  store i32 %250, ptr %33, align 4
  br label %315

251:                                              ; preds = %294, %292, %289, %286, %272, %245, %243, %241, %239, %237, %234, %221, %218, %214, %211
  %252 = landingpad { ptr, i32 }
          cleanup
  %253 = extractvalue { ptr, i32 } %252, 0
  store ptr %253, ptr %32, align 8
  %254 = extractvalue { ptr, i32 } %252, 1
  store i32 %254, ptr %33, align 4
  br label %314

255:                                              ; preds = %228, %226, %223
  %256 = landingpad { ptr, i32 }
          cleanup
  %257 = extractvalue { ptr, i32 } %256, 0
  store ptr %257, ptr %32, align 8
  %258 = extractvalue { ptr, i32 } %256, 1
  store i32 %258, ptr %33, align 4
  br label %268

259:                                              ; preds = %229
  %260 = landingpad { ptr, i32 }
          cleanup
  %261 = extractvalue { ptr, i32 } %260, 0
  store ptr %261, ptr %32, align 8
  %262 = extractvalue { ptr, i32 } %260, 1
  store i32 %262, ptr %33, align 4
  br label %267

263:                                              ; preds = %231, %230
  %264 = landingpad { ptr, i32 }
          cleanup
  %265 = extractvalue { ptr, i32 } %264, 0
  store ptr %265, ptr %32, align 8
  %266 = extractvalue { ptr, i32 } %264, 1
  store i32 %266, ptr %33, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %35) #7
  br label %267

267:                                              ; preds = %263, %259
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %34) #7
  br label %268

268:                                              ; preds = %267, %255
  %269 = load i1, ptr %36, align 1
  br i1 %269, label %270, label %271

270:                                              ; preds = %268
  call void @_ZdlPvm(ptr noundef %222, i64 noundef 48) #9
  br label %271

271:                                              ; preds = %270, %268
  br label %314

272:                                              ; preds = %220
  %273 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 48) #8
          to label %274 unwind label %251

274:                                              ; preds = %272
  store i1 true, ptr %39, align 1
  %275 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 3
  %276 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %275)
          to label %277 unwind label %296

277:                                              ; preds = %274
  %278 = invoke noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %276)
          to label %279 unwind label %296

279:                                              ; preds = %277
  invoke void @_ZN10SimTKIpopt8ConstPtrINS_6MatrixEEENS_8SmartPtrIKT_EERKNS2_IS3_EE(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.24") align 8 %37, ptr noundef nonnull align 8 dereferenceable(8) %31)
          to label %280 unwind label %296

280:                                              ; preds = %279
  %281 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 3
  invoke void @_ZN10SimTKIpopt8ConstPtrIKNS_11VectorSpaceEEENS_8SmartPtrIKT_EERKNS3_IS4_EE(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr") align 8 %38, ptr noundef nonnull align 8 dereferenceable(8) %281)
          to label %282 unwind label %300

282:                                              ; preds = %280
  invoke void @_ZN10SimTKIpopt27LowRankUpdateSymMatrixSpaceC2EiNS_8SmartPtrIKNS_6MatrixEEENS1_IKNS_11VectorSpaceEEEb(ptr noundef nonnull align 8 dereferenceable(41) %273, i32 noundef %278, ptr noundef %37, ptr noundef %38, i1 noundef zeroext true)
          to label %283 unwind label %304

283:                                              ; preds = %282
  store i1 false, ptr %39, align 1
  %284 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 16
  %285 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_14SymMatrixSpaceEEaSEPS2_(ptr noundef nonnull align 8 dereferenceable(8) %284, ptr noundef %273)
          to label %286 unwind label %304

286:                                              ; preds = %283
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %38) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %37) #7
  %287 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 1
  %288 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_10JournalistEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %287)
          to label %289 unwind label %251

289:                                              ; preds = %286
  %290 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 3
  %291 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %290)
          to label %292 unwind label %251

292:                                              ; preds = %289
  %293 = invoke noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %291)
          to label %294 unwind label %251

294:                                              ; preds = %292
  invoke void (ptr, i32, i32, ptr, ...) @_ZNK10SimTKIpopt10Journalist6PrintfENS_13EJournalLevelENS_16EJournalCategoryEPKcz(ptr noundef nonnull align 8 dereferenceable(40) %288, i32 noundef 5, i32 noundef 3, ptr noundef @.str.31, i32 noundef %293)
          to label %295 unwind label %251

295:                                              ; preds = %294
  br label %313

296:                                              ; preds = %279, %277, %274
  %297 = landingpad { ptr, i32 }
          cleanup
  %298 = extractvalue { ptr, i32 } %297, 0
  store ptr %298, ptr %32, align 8
  %299 = extractvalue { ptr, i32 } %297, 1
  store i32 %299, ptr %33, align 4
  br label %309

300:                                              ; preds = %280
  %301 = landingpad { ptr, i32 }
          cleanup
  %302 = extractvalue { ptr, i32 } %301, 0
  store ptr %302, ptr %32, align 8
  %303 = extractvalue { ptr, i32 } %301, 1
  store i32 %303, ptr %33, align 4
  br label %308

304:                                              ; preds = %283, %282
  %305 = landingpad { ptr, i32 }
          cleanup
  %306 = extractvalue { ptr, i32 } %305, 0
  store ptr %306, ptr %32, align 8
  %307 = extractvalue { ptr, i32 } %305, 1
  store i32 %307, ptr %33, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %38) #7
  br label %308

308:                                              ; preds = %304, %300
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %37) #7
  br label %309

309:                                              ; preds = %308, %296
  %310 = load i1, ptr %39, align 1
  br i1 %310, label %311, label %312

311:                                              ; preds = %309
  call void @_ZdlPvm(ptr noundef %273, i64 noundef 48) #9
  br label %312

312:                                              ; preds = %311, %309
  br label %314

313:                                              ; preds = %295, %246
  call void @_ZN10SimTKIpopt8SmartPtrINS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %31) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_11VectorSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %30) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #7
  br label %316

314:                                              ; preds = %312, %271, %251
  call void @_ZN10SimTKIpopt8SmartPtrINS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %31) #7
  br label %315

315:                                              ; preds = %314, %247
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_11VectorSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %30) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #7
  br label %1786

316:                                              ; preds = %313, %206
  call void @llvm.lifetime.start.p0(i64 8, ptr %40) #7
  call void @_ZNK10SimTKIpopt8IpoptNLP11NLP_scalingEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.16") align 8 %40, ptr noundef nonnull align 8 dereferenceable(24) %177)
  %317 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %40)
          to label %318 unwind label %355

318:                                              ; preds = %316
  %319 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 3
  invoke void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %41, ptr noundef nonnull align 8 dereferenceable(8) %319)
          to label %320 unwind label %355

320:                                              ; preds = %318
  %321 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 4
  invoke void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %42, ptr noundef nonnull align 8 dereferenceable(8) %321)
          to label %322 unwind label %359

322:                                              ; preds = %320
  %323 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 5
  invoke void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %43, ptr noundef nonnull align 8 dereferenceable(8) %323)
          to label %324 unwind label %363

324:                                              ; preds = %322
  %325 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 14
  invoke void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %44, ptr noundef nonnull align 8 dereferenceable(8) %325)
          to label %326 unwind label %367

326:                                              ; preds = %324
  %327 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 15
  invoke void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %45, ptr noundef nonnull align 8 dereferenceable(8) %327)
          to label %328 unwind label %371

328:                                              ; preds = %326
  %329 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 16
  invoke void @_ZN10SimTKIpopt8SmartPtrIKNS_14SymMatrixSpaceEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %46, ptr noundef nonnull align 8 dereferenceable(8) %329)
          to label %330 unwind label %375

330:                                              ; preds = %328
  %331 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 17
  %332 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 18
  %333 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 19
  %334 = load ptr, ptr %317, align 8, !tbaa !33
  %335 = getelementptr inbounds ptr, ptr %334, i64 26
  %336 = load ptr, ptr %335, align 8
  invoke void %336(ptr noundef nonnull align 8 dereferenceable(24) %317, ptr noundef %41, ptr noundef %42, ptr noundef %43, ptr noundef %44, ptr noundef %45, ptr noundef %46, ptr noundef nonnull align 8 dereferenceable(8) %331, ptr noundef nonnull align 8 dereferenceable(8) %332, ptr noundef nonnull align 8 dereferenceable(8) %333)
          to label %337 unwind label %379

337:                                              ; preds = %330
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14SymMatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %46) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %45) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %44) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %43) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %42) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %41) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %40) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #7
  %338 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 3
  %339 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %338)
  %340 = call noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %339)
  %341 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 4
  %342 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %341)
  %343 = call noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %342)
  %344 = icmp sge i32 %340, %343
  br i1 %344, label %416, label %345

345:                                              ; preds = %337
  call void @llvm.lifetime.start.p0(i64 32, ptr %47) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %48) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %48) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %47, ptr noundef @.str.32, ptr noundef nonnull align 1 dereferenceable(1) %48)
          to label %346 unwind label %389

346:                                              ; preds = %345
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %48) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %48) #7
  %347 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc(ptr noundef nonnull align 8 dereferenceable(32) %47, ptr noundef @.str.33)
          to label %348 unwind label %393

348:                                              ; preds = %346
  %349 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc(ptr noundef nonnull align 8 dereferenceable(32) %47, ptr noundef @.str.34)
          to label %350 unwind label %393

350:                                              ; preds = %348
  store i1 true, ptr %52, align 1
  %351 = call ptr @__cxa_allocate_exception(i64 112) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %49, ptr noundef nonnull align 8 dereferenceable(32) %47)
          to label %352 unwind label %397

352:                                              ; preds = %350
  call void @llvm.lifetime.start.p0(i64 1, ptr %51) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %51) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef @.str.35, ptr noundef nonnull align 1 dereferenceable(1) %51)
          to label %353 unwind label %401

353:                                              ; preds = %352
  invoke void @_ZN10SimTKIpopt11TOO_FEW_DOFC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_i(ptr noundef nonnull align 8 dereferenceable(112) %351, ptr noundef %49, ptr noundef %50, i32 noundef 214)
          to label %354 unwind label %405

354:                                              ; preds = %353
  store i1 false, ptr %52, align 1
  invoke void @__cxa_throw(ptr %351, ptr @_ZTIN10SimTKIpopt11TOO_FEW_DOFE, ptr @_ZN10SimTKIpopt14IpoptExceptionD2Ev) #10
          to label %1792 unwind label %405

355:                                              ; preds = %318, %316
  %356 = landingpad { ptr, i32 }
          cleanup
  %357 = extractvalue { ptr, i32 } %356, 0
  store ptr %357, ptr %32, align 8
  %358 = extractvalue { ptr, i32 } %356, 1
  store i32 %358, ptr %33, align 4
  br label %388

359:                                              ; preds = %320
  %360 = landingpad { ptr, i32 }
          cleanup
  %361 = extractvalue { ptr, i32 } %360, 0
  store ptr %361, ptr %32, align 8
  %362 = extractvalue { ptr, i32 } %360, 1
  store i32 %362, ptr %33, align 4
  br label %387

363:                                              ; preds = %322
  %364 = landingpad { ptr, i32 }
          cleanup
  %365 = extractvalue { ptr, i32 } %364, 0
  store ptr %365, ptr %32, align 8
  %366 = extractvalue { ptr, i32 } %364, 1
  store i32 %366, ptr %33, align 4
  br label %386

367:                                              ; preds = %324
  %368 = landingpad { ptr, i32 }
          cleanup
  %369 = extractvalue { ptr, i32 } %368, 0
  store ptr %369, ptr %32, align 8
  %370 = extractvalue { ptr, i32 } %368, 1
  store i32 %370, ptr %33, align 4
  br label %385

371:                                              ; preds = %326
  %372 = landingpad { ptr, i32 }
          cleanup
  %373 = extractvalue { ptr, i32 } %372, 0
  store ptr %373, ptr %32, align 8
  %374 = extractvalue { ptr, i32 } %372, 1
  store i32 %374, ptr %33, align 4
  br label %384

375:                                              ; preds = %328
  %376 = landingpad { ptr, i32 }
          cleanup
  %377 = extractvalue { ptr, i32 } %376, 0
  store ptr %377, ptr %32, align 8
  %378 = extractvalue { ptr, i32 } %376, 1
  store i32 %378, ptr %33, align 4
  br label %383

379:                                              ; preds = %330
  %380 = landingpad { ptr, i32 }
          cleanup
  %381 = extractvalue { ptr, i32 } %380, 0
  store ptr %381, ptr %32, align 8
  %382 = extractvalue { ptr, i32 } %380, 1
  store i32 %382, ptr %33, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14SymMatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %46) #7
  br label %383

383:                                              ; preds = %379, %375
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %45) #7
  br label %384

384:                                              ; preds = %383, %371
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %44) #7
  br label %385

385:                                              ; preds = %384, %367
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %43) #7
  br label %386

386:                                              ; preds = %385, %363
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %42) #7
  br label %387

387:                                              ; preds = %386, %359
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %41) #7
  br label %388

388:                                              ; preds = %387, %355
  call void @_ZN10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %40) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #7
  br label %1786

389:                                              ; preds = %345
  %390 = landingpad { ptr, i32 }
          cleanup
  %391 = extractvalue { ptr, i32 } %390, 0
  store ptr %391, ptr %32, align 8
  %392 = extractvalue { ptr, i32 } %390, 1
  store i32 %392, ptr %33, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %48) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %48) #7
  br label %415

393:                                              ; preds = %348, %346
  %394 = landingpad { ptr, i32 }
          cleanup
  %395 = extractvalue { ptr, i32 } %394, 0
  store ptr %395, ptr %32, align 8
  %396 = extractvalue { ptr, i32 } %394, 1
  store i32 %396, ptr %33, align 4
  br label %414

397:                                              ; preds = %350
  %398 = landingpad { ptr, i32 }
          cleanup
  %399 = extractvalue { ptr, i32 } %398, 0
  store ptr %399, ptr %32, align 8
  %400 = extractvalue { ptr, i32 } %398, 1
  store i32 %400, ptr %33, align 4
  br label %410

401:                                              ; preds = %352
  %402 = landingpad { ptr, i32 }
          cleanup
  %403 = extractvalue { ptr, i32 } %402, 0
  store ptr %403, ptr %32, align 8
  %404 = extractvalue { ptr, i32 } %402, 1
  store i32 %404, ptr %33, align 4
  br label %409

405:                                              ; preds = %354, %353
  %406 = landingpad { ptr, i32 }
          cleanup
  %407 = extractvalue { ptr, i32 } %406, 0
  store ptr %407, ptr %32, align 8
  %408 = extractvalue { ptr, i32 } %406, 1
  store i32 %408, ptr %33, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #7
  br label %409

409:                                              ; preds = %405, %401
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %51) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %51) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #7
  br label %410

410:                                              ; preds = %409, %397
  %411 = load i1, ptr %52, align 1
  br i1 %411, label %412, label %413

412:                                              ; preds = %410
  call void @__cxa_free_exception(ptr %351) #7
  br label %413

413:                                              ; preds = %412, %410
  br label %414

414:                                              ; preds = %413, %393
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #7
  br label %415

415:                                              ; preds = %414, %389
  call void @llvm.lifetime.end.p0(i64 32, ptr %47) #7
  br label %1786

416:                                              ; preds = %337
  %417 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 3
  %418 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %417)
  %419 = call noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %418)
  %420 = icmp sgt i32 %419, 0
  br i1 %420, label %458, label %421

421:                                              ; preds = %416
  call void @llvm.lifetime.start.p0(i64 32, ptr %53) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %54) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %54) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %53, ptr noundef @.str.36, ptr noundef nonnull align 1 dereferenceable(1) %54)
          to label %422 unwind label %431

422:                                              ; preds = %421
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %54) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %54) #7
  %423 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc(ptr noundef nonnull align 8 dereferenceable(32) %53, ptr noundef @.str.33)
          to label %424 unwind label %435

424:                                              ; preds = %422
  %425 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc(ptr noundef nonnull align 8 dereferenceable(32) %53, ptr noundef @.str.37)
          to label %426 unwind label %435

426:                                              ; preds = %424
  store i1 true, ptr %58, align 1
  %427 = call ptr @__cxa_allocate_exception(i64 112) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %55, ptr noundef nonnull align 8 dereferenceable(32) %53)
          to label %428 unwind label %439

428:                                              ; preds = %426
  call void @llvm.lifetime.start.p0(i64 1, ptr %57) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %57) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %56, ptr noundef @.str.35, ptr noundef nonnull align 1 dereferenceable(1) %57)
          to label %429 unwind label %443

429:                                              ; preds = %428
  invoke void @_ZN10SimTKIpopt11TOO_FEW_DOFC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_i(ptr noundef nonnull align 8 dereferenceable(112) %427, ptr noundef %55, ptr noundef %56, i32 noundef 216)
          to label %430 unwind label %447

430:                                              ; preds = %429
  store i1 false, ptr %58, align 1
  invoke void @__cxa_throw(ptr %427, ptr @_ZTIN10SimTKIpopt11TOO_FEW_DOFE, ptr @_ZN10SimTKIpopt14IpoptExceptionD2Ev) #10
          to label %1792 unwind label %447

431:                                              ; preds = %421
  %432 = landingpad { ptr, i32 }
          cleanup
  %433 = extractvalue { ptr, i32 } %432, 0
  store ptr %433, ptr %32, align 8
  %434 = extractvalue { ptr, i32 } %432, 1
  store i32 %434, ptr %33, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %54) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %54) #7
  br label %457

435:                                              ; preds = %424, %422
  %436 = landingpad { ptr, i32 }
          cleanup
  %437 = extractvalue { ptr, i32 } %436, 0
  store ptr %437, ptr %32, align 8
  %438 = extractvalue { ptr, i32 } %436, 1
  store i32 %438, ptr %33, align 4
  br label %456

439:                                              ; preds = %426
  %440 = landingpad { ptr, i32 }
          cleanup
  %441 = extractvalue { ptr, i32 } %440, 0
  store ptr %441, ptr %32, align 8
  %442 = extractvalue { ptr, i32 } %440, 1
  store i32 %442, ptr %33, align 4
  br label %452

443:                                              ; preds = %428
  %444 = landingpad { ptr, i32 }
          cleanup
  %445 = extractvalue { ptr, i32 } %444, 0
  store ptr %445, ptr %32, align 8
  %446 = extractvalue { ptr, i32 } %444, 1
  store i32 %446, ptr %33, align 4
  br label %451

447:                                              ; preds = %430, %429
  %448 = landingpad { ptr, i32 }
          cleanup
  %449 = extractvalue { ptr, i32 } %448, 0
  store ptr %449, ptr %32, align 8
  %450 = extractvalue { ptr, i32 } %448, 1
  store i32 %450, ptr %33, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #7
  br label %451

451:                                              ; preds = %447, %443
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %57) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %57) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #7
  br label %452

452:                                              ; preds = %451, %439
  %453 = load i1, ptr %58, align 1
  br i1 %453, label %454, label %455

454:                                              ; preds = %452
  call void @__cxa_free_exception(ptr %427) #7
  br label %455

455:                                              ; preds = %454, %452
  br label %456

456:                                              ; preds = %455, %435
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #7
  br label %457

457:                                              ; preds = %456, %431
  call void @llvm.lifetime.end.p0(i64 32, ptr %53) #7
  br label %1786

458:                                              ; preds = %416
  %459 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 3
  %460 = call noundef zeroext i1 @_ZN10SimTKIpopt7IsValidIKNS_11VectorSpaceEEEbRKNS_8SmartPtrIT_EE(ptr noundef nonnull align 8 dereferenceable(8) %459)
  br i1 %460, label %461, label %509

461:                                              ; preds = %458
  %462 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 4
  %463 = call noundef zeroext i1 @_ZN10SimTKIpopt7IsValidIKNS_11VectorSpaceEEEbRKNS_8SmartPtrIT_EE(ptr noundef nonnull align 8 dereferenceable(8) %462)
  br i1 %463, label %464, label %509

464:                                              ; preds = %461
  %465 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 5
  %466 = call noundef zeroext i1 @_ZN10SimTKIpopt7IsValidIKNS_11VectorSpaceEEEbRKNS_8SmartPtrIT_EE(ptr noundef nonnull align 8 dereferenceable(8) %465)
  br i1 %466, label %467, label %509

467:                                              ; preds = %464
  %468 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 6
  %469 = call noundef zeroext i1 @_ZN10SimTKIpopt7IsValidIKNS_11VectorSpaceEEEbRKNS_8SmartPtrIT_EE(ptr noundef nonnull align 8 dereferenceable(8) %468)
  br i1 %469, label %470, label %509

470:                                              ; preds = %467
  %471 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 7
  %472 = call noundef zeroext i1 @_ZN10SimTKIpopt7IsValidIKNS_11MatrixSpaceEEEbRKNS_8SmartPtrIT_EE(ptr noundef nonnull align 8 dereferenceable(8) %471)
  br i1 %472, label %473, label %509

473:                                              ; preds = %470
  %474 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 8
  %475 = call noundef zeroext i1 @_ZN10SimTKIpopt7IsValidIKNS_11VectorSpaceEEEbRKNS_8SmartPtrIT_EE(ptr noundef nonnull align 8 dereferenceable(8) %474)
  br i1 %475, label %476, label %509

476:                                              ; preds = %473
  %477 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 9
  %478 = call noundef zeroext i1 @_ZN10SimTKIpopt7IsValidIKNS_11MatrixSpaceEEEbRKNS_8SmartPtrIT_EE(ptr noundef nonnull align 8 dereferenceable(8) %477)
  br i1 %478, label %479, label %509

479:                                              ; preds = %476
  %480 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 12
  %481 = call noundef zeroext i1 @_ZN10SimTKIpopt7IsValidIKNS_11VectorSpaceEEEbRKNS_8SmartPtrIT_EE(ptr noundef nonnull align 8 dereferenceable(8) %480)
  br i1 %481, label %482, label %509

482:                                              ; preds = %479
  %483 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 13
  %484 = call noundef zeroext i1 @_ZN10SimTKIpopt7IsValidIKNS_11MatrixSpaceEEEbRKNS_8SmartPtrIT_EE(ptr noundef nonnull align 8 dereferenceable(8) %483)
  br i1 %484, label %485, label %509

485:                                              ; preds = %482
  %486 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 10
  %487 = call noundef zeroext i1 @_ZN10SimTKIpopt7IsValidIKNS_11VectorSpaceEEEbRKNS_8SmartPtrIT_EE(ptr noundef nonnull align 8 dereferenceable(8) %486)
  br i1 %487, label %488, label %509

488:                                              ; preds = %485
  %489 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 11
  %490 = call noundef zeroext i1 @_ZN10SimTKIpopt7IsValidIKNS_11MatrixSpaceEEEbRKNS_8SmartPtrIT_EE(ptr noundef nonnull align 8 dereferenceable(8) %489)
  br i1 %490, label %491, label %509

491:                                              ; preds = %488
  %492 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 14
  %493 = call noundef zeroext i1 @_ZN10SimTKIpopt7IsValidIKNS_11MatrixSpaceEEEbRKNS_8SmartPtrIT_EE(ptr noundef nonnull align 8 dereferenceable(8) %492)
  br i1 %493, label %494, label %509

494:                                              ; preds = %491
  %495 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 15
  %496 = call noundef zeroext i1 @_ZN10SimTKIpopt7IsValidIKNS_11MatrixSpaceEEEbRKNS_8SmartPtrIT_EE(ptr noundef nonnull align 8 dereferenceable(8) %495)
  br i1 %496, label %497, label %509

497:                                              ; preds = %494
  %498 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 16
  %499 = call noundef zeroext i1 @_ZN10SimTKIpopt7IsValidIKNS_14SymMatrixSpaceEEEbRKNS_8SmartPtrIT_EE(ptr noundef nonnull align 8 dereferenceable(8) %498)
  br i1 %499, label %500, label %509

500:                                              ; preds = %497
  %501 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 17
  %502 = call noundef zeroext i1 @_ZN10SimTKIpopt7IsValidIKNS_11MatrixSpaceEEEbRKNS_8SmartPtrIT_EE(ptr noundef nonnull align 8 dereferenceable(8) %501)
  br i1 %502, label %503, label %509

503:                                              ; preds = %500
  %504 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 18
  %505 = call noundef zeroext i1 @_ZN10SimTKIpopt7IsValidIKNS_11MatrixSpaceEEEbRKNS_8SmartPtrIT_EE(ptr noundef nonnull align 8 dereferenceable(8) %504)
  br i1 %505, label %506, label %509

506:                                              ; preds = %503
  %507 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 19
  %508 = call noundef zeroext i1 @_ZN10SimTKIpopt7IsValidIKNS_14SymMatrixSpaceEEEbRKNS_8SmartPtrIT_EE(ptr noundef nonnull align 8 dereferenceable(8) %507)
  br label %509

509:                                              ; preds = %506, %503, %500, %497, %494, %491, %488, %485, %482, %479, %476, %473, %470, %467, %464, %461, %458
  %510 = phi i1 [ false, %503 ], [ false, %500 ], [ false, %497 ], [ false, %494 ], [ false, %491 ], [ false, %488 ], [ false, %485 ], [ false, %482 ], [ false, %479 ], [ false, %476 ], [ false, %473 ], [ false, %470 ], [ false, %467 ], [ false, %464 ], [ false, %461 ], [ false, %458 ], [ %508, %506 ]
  %511 = zext i1 %510 to i8
  store i8 %511, ptr %28, align 1, !tbaa !9
  br label %553

512:                                              ; preds = %13
  %513 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 3
  %514 = call noundef zeroext i1 @_ZN10SimTKIpopt7IsValidIKNS_11VectorSpaceEEEbRKNS_8SmartPtrIT_EE(ptr noundef nonnull align 8 dereferenceable(8) %513)
  br i1 %514, label %552, label %515

515:                                              ; preds = %512
  call void @llvm.lifetime.start.p0(i64 32, ptr %59) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %60) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %60) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %59, ptr noundef @.str.38, ptr noundef nonnull align 1 dereferenceable(1) %60)
          to label %516 unwind label %525

516:                                              ; preds = %515
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %60) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %60) #7
  %517 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc(ptr noundef nonnull align 8 dereferenceable(32) %59, ptr noundef @.str.33)
          to label %518 unwind label %529

518:                                              ; preds = %516
  %519 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc(ptr noundef nonnull align 8 dereferenceable(32) %59, ptr noundef @.str.39)
          to label %520 unwind label %529

520:                                              ; preds = %518
  store i1 true, ptr %64, align 1
  %521 = call ptr @__cxa_allocate_exception(i64 112) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %61, ptr noundef nonnull align 8 dereferenceable(32) %59)
          to label %522 unwind label %533

522:                                              ; preds = %520
  call void @llvm.lifetime.start.p0(i64 1, ptr %63) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %63) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %62, ptr noundef @.str.35, ptr noundef nonnull align 1 dereferenceable(1) %63)
          to label %523 unwind label %537

523:                                              ; preds = %522
  invoke void @_ZN10SimTKIpopt17INVALID_WARMSTARTC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_i(ptr noundef nonnull align 8 dereferenceable(112) %521, ptr noundef %61, ptr noundef %62, i32 noundef 236)
          to label %524 unwind label %541

524:                                              ; preds = %523
  store i1 false, ptr %64, align 1
  invoke void @__cxa_throw(ptr %521, ptr @_ZTIN10SimTKIpopt17INVALID_WARMSTARTE, ptr @_ZN10SimTKIpopt14IpoptExceptionD2Ev) #10
          to label %1792 unwind label %541

525:                                              ; preds = %515
  %526 = landingpad { ptr, i32 }
          cleanup
  %527 = extractvalue { ptr, i32 } %526, 0
  store ptr %527, ptr %32, align 8
  %528 = extractvalue { ptr, i32 } %526, 1
  store i32 %528, ptr %33, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %60) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %60) #7
  br label %551

529:                                              ; preds = %518, %516
  %530 = landingpad { ptr, i32 }
          cleanup
  %531 = extractvalue { ptr, i32 } %530, 0
  store ptr %531, ptr %32, align 8
  %532 = extractvalue { ptr, i32 } %530, 1
  store i32 %532, ptr %33, align 4
  br label %550

533:                                              ; preds = %520
  %534 = landingpad { ptr, i32 }
          cleanup
  %535 = extractvalue { ptr, i32 } %534, 0
  store ptr %535, ptr %32, align 8
  %536 = extractvalue { ptr, i32 } %534, 1
  store i32 %536, ptr %33, align 4
  br label %546

537:                                              ; preds = %522
  %538 = landingpad { ptr, i32 }
          cleanup
  %539 = extractvalue { ptr, i32 } %538, 0
  store ptr %539, ptr %32, align 8
  %540 = extractvalue { ptr, i32 } %538, 1
  store i32 %540, ptr %33, align 4
  br label %545

541:                                              ; preds = %524, %523
  %542 = landingpad { ptr, i32 }
          cleanup
  %543 = extractvalue { ptr, i32 } %542, 0
  store ptr %543, ptr %32, align 8
  %544 = extractvalue { ptr, i32 } %542, 1
  store i32 %544, ptr %33, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #7
  br label %545

545:                                              ; preds = %541, %537
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %63) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %63) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #7
  br label %546

546:                                              ; preds = %545, %533
  %547 = load i1, ptr %64, align 1
  br i1 %547, label %548, label %549

548:                                              ; preds = %546
  call void @__cxa_free_exception(ptr %521) #7
  br label %549

549:                                              ; preds = %548, %546
  br label %550

550:                                              ; preds = %549, %529
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #7
  br label %551

551:                                              ; preds = %550, %525
  call void @llvm.lifetime.end.p0(i64 32, ptr %59) #7
  br label %1786

552:                                              ; preds = %512
  br label %553

553:                                              ; preds = %552, %509
  call void @llvm.lifetime.start.p0(i64 8, ptr %65) #7
  %554 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 6
  %555 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %554)
  %556 = load ptr, ptr %555, align 8, !tbaa !33
  %557 = getelementptr inbounds ptr, ptr %556, i64 2
  %558 = load ptr, ptr %557, align 8
  %559 = call noundef ptr %558(ptr noundef nonnull align 8 dereferenceable(16) %555)
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8) %65, ptr noundef %559)
  call void @llvm.lifetime.start.p0(i64 8, ptr %66) #7
  %560 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 7
  %561 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %560)
          to label %562 unwind label %651

562:                                              ; preds = %553
  %563 = load ptr, ptr %561, align 8, !tbaa !33
  %564 = getelementptr inbounds ptr, ptr %563, i64 2
  %565 = load ptr, ptr %564, align 8
  %566 = invoke noundef ptr %565(ptr noundef nonnull align 8 dereferenceable(20) %561)
          to label %567 unwind label %651

567:                                              ; preds = %562
  invoke void @_ZN10SimTKIpopt8SmartPtrINS_6MatrixEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8) %66, ptr noundef %566)
          to label %568 unwind label %651

568:                                              ; preds = %567
  call void @llvm.lifetime.start.p0(i64 8, ptr %67) #7
  %569 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 8
  %570 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %569)
          to label %571 unwind label %655

571:                                              ; preds = %568
  %572 = load ptr, ptr %570, align 8, !tbaa !33
  %573 = getelementptr inbounds ptr, ptr %572, i64 2
  %574 = load ptr, ptr %573, align 8
  %575 = invoke noundef ptr %574(ptr noundef nonnull align 8 dereferenceable(16) %570)
          to label %576 unwind label %655

576:                                              ; preds = %571
  invoke void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8) %67, ptr noundef %575)
          to label %577 unwind label %655

577:                                              ; preds = %576
  call void @llvm.lifetime.start.p0(i64 8, ptr %68) #7
  %578 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 9
  %579 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %578)
          to label %580 unwind label %659

580:                                              ; preds = %577
  %581 = load ptr, ptr %579, align 8, !tbaa !33
  %582 = getelementptr inbounds ptr, ptr %581, i64 2
  %583 = load ptr, ptr %582, align 8
  %584 = invoke noundef ptr %583(ptr noundef nonnull align 8 dereferenceable(20) %579)
          to label %585 unwind label %659

585:                                              ; preds = %580
  invoke void @_ZN10SimTKIpopt8SmartPtrINS_6MatrixEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8) %68, ptr noundef %584)
          to label %586 unwind label %659

586:                                              ; preds = %585
  call void @llvm.lifetime.start.p0(i64 8, ptr %69) #7
  %587 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 10
  %588 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %587)
          to label %589 unwind label %663

589:                                              ; preds = %586
  %590 = load ptr, ptr %588, align 8, !tbaa !33
  %591 = getelementptr inbounds ptr, ptr %590, i64 2
  %592 = load ptr, ptr %591, align 8
  %593 = invoke noundef ptr %592(ptr noundef nonnull align 8 dereferenceable(16) %588)
          to label %594 unwind label %663

594:                                              ; preds = %589
  invoke void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8) %69, ptr noundef %593)
          to label %595 unwind label %663

595:                                              ; preds = %594
  call void @llvm.lifetime.start.p0(i64 8, ptr %70) #7
  %596 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 11
  %597 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %596)
          to label %598 unwind label %667

598:                                              ; preds = %595
  %599 = load ptr, ptr %597, align 8, !tbaa !33
  %600 = getelementptr inbounds ptr, ptr %599, i64 2
  %601 = load ptr, ptr %600, align 8
  %602 = invoke noundef ptr %601(ptr noundef nonnull align 8 dereferenceable(20) %597)
          to label %603 unwind label %667

603:                                              ; preds = %598
  invoke void @_ZN10SimTKIpopt8SmartPtrINS_6MatrixEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8) %70, ptr noundef %602)
          to label %604 unwind label %667

604:                                              ; preds = %603
  call void @llvm.lifetime.start.p0(i64 8, ptr %71) #7
  %605 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 12
  %606 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %605)
          to label %607 unwind label %671

607:                                              ; preds = %604
  %608 = load ptr, ptr %606, align 8, !tbaa !33
  %609 = getelementptr inbounds ptr, ptr %608, i64 2
  %610 = load ptr, ptr %609, align 8
  %611 = invoke noundef ptr %610(ptr noundef nonnull align 8 dereferenceable(16) %606)
          to label %612 unwind label %671

612:                                              ; preds = %607
  invoke void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8) %71, ptr noundef %611)
          to label %613 unwind label %671

613:                                              ; preds = %612
  call void @llvm.lifetime.start.p0(i64 8, ptr %72) #7
  %614 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 13
  %615 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %614)
          to label %616 unwind label %675

616:                                              ; preds = %613
  %617 = load ptr, ptr %615, align 8, !tbaa !33
  %618 = getelementptr inbounds ptr, ptr %617, i64 2
  %619 = load ptr, ptr %618, align 8
  %620 = invoke noundef ptr %619(ptr noundef nonnull align 8 dereferenceable(20) %615)
          to label %621 unwind label %675

621:                                              ; preds = %616
  invoke void @_ZN10SimTKIpopt8SmartPtrINS_6MatrixEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8) %72, ptr noundef %620)
          to label %622 unwind label %675

622:                                              ; preds = %621
  %623 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 2
  %624 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_3NLPEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %623)
          to label %625 unwind label %679

625:                                              ; preds = %622
  %626 = invoke noundef nonnull align 8 dereferenceable(69) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6MatrixEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %66)
          to label %627 unwind label %679

627:                                              ; preds = %625
  %628 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %65)
          to label %629 unwind label %679

629:                                              ; preds = %627
  %630 = invoke noundef nonnull align 8 dereferenceable(69) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6MatrixEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %68)
          to label %631 unwind label %679

631:                                              ; preds = %629
  %632 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %67)
          to label %633 unwind label %679

633:                                              ; preds = %631
  %634 = invoke noundef nonnull align 8 dereferenceable(69) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6MatrixEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %70)
          to label %635 unwind label %679

635:                                              ; preds = %633
  %636 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %69)
          to label %637 unwind label %679

637:                                              ; preds = %635
  %638 = invoke noundef nonnull align 8 dereferenceable(69) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6MatrixEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %72)
          to label %639 unwind label %679

639:                                              ; preds = %637
  %640 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %71)
          to label %641 unwind label %679

641:                                              ; preds = %639
  %642 = load ptr, ptr %624, align 8, !tbaa !33
  %643 = getelementptr inbounds ptr, ptr %642, i64 4
  %644 = load ptr, ptr %643, align 8
  %645 = invoke noundef zeroext i1 %644(ptr noundef nonnull align 8 dereferenceable(12) %624, ptr noundef nonnull align 8 dereferenceable(69) %626, ptr noundef nonnull align 8 dereferenceable(205) %628, ptr noundef nonnull align 8 dereferenceable(69) %630, ptr noundef nonnull align 8 dereferenceable(205) %632, ptr noundef nonnull align 8 dereferenceable(69) %634, ptr noundef nonnull align 8 dereferenceable(205) %636, ptr noundef nonnull align 8 dereferenceable(69) %638, ptr noundef nonnull align 8 dereferenceable(205) %640)
          to label %646 unwind label %679

646:                                              ; preds = %641
  %647 = zext i1 %645 to i8
  store i8 %647, ptr %28, align 1, !tbaa !9
  %648 = load i8, ptr %28, align 1, !tbaa !9, !range !31, !noundef !32
  %649 = trunc i8 %648 to i1
  br i1 %649, label %683, label %650

650:                                              ; preds = %646
  store i1 false, ptr %14, align 1
  store i32 1, ptr %29, align 4
  br label %1775

651:                                              ; preds = %567, %562, %553
  %652 = landingpad { ptr, i32 }
          cleanup
  %653 = extractvalue { ptr, i32 } %652, 0
  store ptr %653, ptr %32, align 8
  %654 = extractvalue { ptr, i32 } %652, 1
  store i32 %654, ptr %33, align 4
  br label %1783

655:                                              ; preds = %576, %571, %568
  %656 = landingpad { ptr, i32 }
          cleanup
  %657 = extractvalue { ptr, i32 } %656, 0
  store ptr %657, ptr %32, align 8
  %658 = extractvalue { ptr, i32 } %656, 1
  store i32 %658, ptr %33, align 4
  br label %1782

659:                                              ; preds = %585, %580, %577
  %660 = landingpad { ptr, i32 }
          cleanup
  %661 = extractvalue { ptr, i32 } %660, 0
  store ptr %661, ptr %32, align 8
  %662 = extractvalue { ptr, i32 } %660, 1
  store i32 %662, ptr %33, align 4
  br label %1781

663:                                              ; preds = %594, %589, %586
  %664 = landingpad { ptr, i32 }
          cleanup
  %665 = extractvalue { ptr, i32 } %664, 0
  store ptr %665, ptr %32, align 8
  %666 = extractvalue { ptr, i32 } %664, 1
  store i32 %666, ptr %33, align 4
  br label %1780

667:                                              ; preds = %603, %598, %595
  %668 = landingpad { ptr, i32 }
          cleanup
  %669 = extractvalue { ptr, i32 } %668, 0
  store ptr %669, ptr %32, align 8
  %670 = extractvalue { ptr, i32 } %668, 1
  store i32 %670, ptr %33, align 4
  br label %1779

671:                                              ; preds = %612, %607, %604
  %672 = landingpad { ptr, i32 }
          cleanup
  %673 = extractvalue { ptr, i32 } %672, 0
  store ptr %673, ptr %32, align 8
  %674 = extractvalue { ptr, i32 } %672, 1
  store i32 %674, ptr %33, align 4
  br label %1778

675:                                              ; preds = %621, %616, %613
  %676 = landingpad { ptr, i32 }
          cleanup
  %677 = extractvalue { ptr, i32 } %676, 0
  store ptr %677, ptr %32, align 8
  %678 = extractvalue { ptr, i32 } %676, 1
  store i32 %678, ptr %33, align 4
  br label %1777

679:                                              ; preds = %1050, %1047, %1044, %1041, %1036, %1033, %1030, %1025, %1022, %1019, %1014, %1011, %1008, %1003, %1000, %997, %992, %989, %986, %981, %978, %975, %970, %967, %961, %959, %953, %951, %945, %943, %937, %935, %846, %842, %841, %836, %835, %831, %830, %825, %709, %707, %701, %699, %693, %691, %685, %683, %641, %639, %637, %635, %633, %631, %629, %627, %625, %622
  %680 = landingpad { ptr, i32 }
          cleanup
  %681 = extractvalue { ptr, i32 } %680, 0
  store ptr %681, ptr %32, align 8
  %682 = extractvalue { ptr, i32 } %680, 1
  store i32 %682, ptr %33, align 4
  br label %1776

683:                                              ; preds = %646
  %684 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %65)
          to label %685 unwind label %679

685:                                              ; preds = %683
  %686 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 1
  %687 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_10JournalistEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %686)
          to label %688 unwind label %679

688:                                              ; preds = %685
  call void @llvm.lifetime.start.p0(i64 32, ptr %73) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %74) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %74) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %73, ptr noundef @.str.40, ptr noundef nonnull align 1 dereferenceable(1) %74)
          to label %689 unwind label %741

689:                                              ; preds = %688
  call void @llvm.lifetime.start.p0(i64 32, ptr %75) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %76) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %76) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %75, ptr noundef @.str.41, ptr noundef nonnull align 1 dereferenceable(1) %76)
          to label %690 unwind label %745

690:                                              ; preds = %689
  invoke void @_ZNK10SimTKIpopt6Vector5PrintERKNS_10JournalistENS_13EJournalLevelENS_16EJournalCategoryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSD_(ptr noundef nonnull align 8 dereferenceable(205) %684, ptr noundef nonnull align 8 dereferenceable(40) %687, i32 noundef 8, i32 noundef 3, ptr noundef nonnull align 8 dereferenceable(32) %73, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(32) %75)
          to label %691 unwind label %749

691:                                              ; preds = %690
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %76) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %76) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %75) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %74) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %74) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %73) #7
  %692 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %67)
          to label %693 unwind label %679

693:                                              ; preds = %691
  %694 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 1
  %695 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_10JournalistEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %694)
          to label %696 unwind label %679

696:                                              ; preds = %693
  call void @llvm.lifetime.start.p0(i64 32, ptr %77) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %78) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %78) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %77, ptr noundef @.str.42, ptr noundef nonnull align 1 dereferenceable(1) %78)
          to label %697 unwind label %755

697:                                              ; preds = %696
  call void @llvm.lifetime.start.p0(i64 32, ptr %79) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %80) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %80) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %79, ptr noundef @.str.41, ptr noundef nonnull align 1 dereferenceable(1) %80)
          to label %698 unwind label %759

698:                                              ; preds = %697
  invoke void @_ZNK10SimTKIpopt6Vector5PrintERKNS_10JournalistENS_13EJournalLevelENS_16EJournalCategoryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSD_(ptr noundef nonnull align 8 dereferenceable(205) %692, ptr noundef nonnull align 8 dereferenceable(40) %695, i32 noundef 8, i32 noundef 3, ptr noundef nonnull align 8 dereferenceable(32) %77, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(32) %79)
          to label %699 unwind label %763

699:                                              ; preds = %698
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %80) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %80) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %79) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %78) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %78) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %77) #7
  %700 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %69)
          to label %701 unwind label %679

701:                                              ; preds = %699
  %702 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 1
  %703 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_10JournalistEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %702)
          to label %704 unwind label %679

704:                                              ; preds = %701
  call void @llvm.lifetime.start.p0(i64 32, ptr %81) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %82) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %82) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %81, ptr noundef @.str.43, ptr noundef nonnull align 1 dereferenceable(1) %82)
          to label %705 unwind label %769

705:                                              ; preds = %704
  call void @llvm.lifetime.start.p0(i64 32, ptr %83) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %84) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %84) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %83, ptr noundef @.str.41, ptr noundef nonnull align 1 dereferenceable(1) %84)
          to label %706 unwind label %773

706:                                              ; preds = %705
  invoke void @_ZNK10SimTKIpopt6Vector5PrintERKNS_10JournalistENS_13EJournalLevelENS_16EJournalCategoryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSD_(ptr noundef nonnull align 8 dereferenceable(205) %700, ptr noundef nonnull align 8 dereferenceable(40) %703, i32 noundef 8, i32 noundef 3, ptr noundef nonnull align 8 dereferenceable(32) %81, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(32) %83)
          to label %707 unwind label %777

707:                                              ; preds = %706
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %83) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %84) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %84) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %83) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %81) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %82) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %82) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %81) #7
  %708 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %71)
          to label %709 unwind label %679

709:                                              ; preds = %707
  %710 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 1
  %711 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_10JournalistEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %710)
          to label %712 unwind label %679

712:                                              ; preds = %709
  call void @llvm.lifetime.start.p0(i64 32, ptr %85) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %86) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %86) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %85, ptr noundef @.str.44, ptr noundef nonnull align 1 dereferenceable(1) %86)
          to label %713 unwind label %783

713:                                              ; preds = %712
  call void @llvm.lifetime.start.p0(i64 32, ptr %87) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %88) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %88) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %87, ptr noundef @.str.41, ptr noundef nonnull align 1 dereferenceable(1) %88)
          to label %714 unwind label %787

714:                                              ; preds = %713
  invoke void @_ZNK10SimTKIpopt6Vector5PrintERKNS_10JournalistENS_13EJournalLevelENS_16EJournalCategoryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSD_(ptr noundef nonnull align 8 dereferenceable(205) %708, ptr noundef nonnull align 8 dereferenceable(40) %711, i32 noundef 8, i32 noundef 3, ptr noundef nonnull align 8 dereferenceable(32) %85, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(32) %87)
          to label %715 unwind label %791

715:                                              ; preds = %714
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %87) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %88) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %88) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %87) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %85) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %86) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %86) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %85) #7
  %716 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 38
  %717 = load i8, ptr %716, align 8, !tbaa !36, !range !31, !noundef !32
  %718 = trunc i8 %717 to i1
  br i1 %718, label %719, label %825

719:                                              ; preds = %715
  call void @llvm.lifetime.start.p0(i64 8, ptr %89) #7
  invoke void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %89)
          to label %720 unwind label %797

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

722:                                              ; preds = %720
  %723 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector11MakeNewCopyEv(ptr noundef nonnull align 8 dereferenceable(205) %721)
          to label %724 unwind label %801

724:                                              ; preds = %722
  %725 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %89, ptr noundef %723)
          to label %726 unwind label %801

726:                                              ; preds = %724
  call void @llvm.lifetime.start.p0(i64 8, ptr %90) #7
  invoke void @_ZN10SimTKIpopt8ConstPtrINS_6VectorEEENS_8SmartPtrIKT_EERKNS2_IS3_EE(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.23") align 8 %90, ptr noundef nonnull align 8 dereferenceable(8) %89)
          to label %727 unwind label %805

727:                                              ; preds = %726
  %728 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 35
  %729 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %728, ptr noundef nonnull align 8 dereferenceable(8) %90)
          to label %730 unwind label %809

730:                                              ; preds = %727
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %90) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %90) #7
  %731 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %67)
          to label %732 unwind label %801

732:                                              ; preds = %730
  %733 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector11MakeNewCopyEv(ptr noundef nonnull align 8 dereferenceable(205) %731)
          to label %734 unwind label %801

734:                                              ; preds = %732
  %735 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %89, ptr noundef %733)
          to label %736 unwind label %801

736:                                              ; preds = %734
  call void @llvm.lifetime.start.p0(i64 8, ptr %91) #7
  invoke void @_ZN10SimTKIpopt8ConstPtrINS_6VectorEEENS_8SmartPtrIKT_EERKNS2_IS3_EE(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.23") align 8 %91, ptr noundef nonnull align 8 dereferenceable(8) %89)
          to label %737 unwind label %814

737:                                              ; preds = %736
  %738 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 36
  %739 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %738, ptr noundef nonnull align 8 dereferenceable(8) %91)
          to label %740 unwind label %818

740:                                              ; preds = %737
  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 @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %89) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %89) #7
  br label %825

741:                                              ; preds = %688
  %742 = landingpad { ptr, i32 }
          cleanup
  %743 = extractvalue { ptr, i32 } %742, 0
  store ptr %743, ptr %32, align 8
  %744 = extractvalue { ptr, i32 } %742, 1
  store i32 %744, ptr %33, align 4
  br label %754

745:                                              ; preds = %689
  %746 = landingpad { ptr, i32 }
          cleanup
  %747 = extractvalue { ptr, i32 } %746, 0
  store ptr %747, ptr %32, align 8
  %748 = extractvalue { ptr, i32 } %746, 1
  store i32 %748, ptr %33, align 4
  br label %753

749:                                              ; preds = %690
  %750 = landingpad { ptr, i32 }
          cleanup
  %751 = extractvalue { ptr, i32 } %750, 0
  store ptr %751, ptr %32, align 8
  %752 = extractvalue { ptr, i32 } %750, 1
  store i32 %752, ptr %33, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #7
  br label %753

753:                                              ; preds = %749, %745
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %76) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %76) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %75) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #7
  br label %754

754:                                              ; preds = %753, %741
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %74) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %74) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %73) #7
  br label %1776

755:                                              ; preds = %696
  %756 = landingpad { ptr, i32 }
          cleanup
  %757 = extractvalue { ptr, i32 } %756, 0
  store ptr %757, ptr %32, align 8
  %758 = extractvalue { ptr, i32 } %756, 1
  store i32 %758, ptr %33, align 4
  br label %768

759:                                              ; preds = %697
  %760 = landingpad { ptr, i32 }
          cleanup
  %761 = extractvalue { ptr, i32 } %760, 0
  store ptr %761, ptr %32, align 8
  %762 = extractvalue { ptr, i32 } %760, 1
  store i32 %762, ptr %33, align 4
  br label %767

763:                                              ; preds = %698
  %764 = landingpad { ptr, i32 }
          cleanup
  %765 = extractvalue { ptr, i32 } %764, 0
  store ptr %765, ptr %32, align 8
  %766 = extractvalue { ptr, i32 } %764, 1
  store i32 %766, ptr %33, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #7
  br label %767

767:                                              ; preds = %763, %759
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %80) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %80) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %79) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #7
  br label %768

768:                                              ; preds = %767, %755
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %78) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %78) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %77) #7
  br label %1776

769:                                              ; preds = %704
  %770 = landingpad { ptr, i32 }
          cleanup
  %771 = extractvalue { ptr, i32 } %770, 0
  store ptr %771, ptr %32, align 8
  %772 = extractvalue { ptr, i32 } %770, 1
  store i32 %772, ptr %33, align 4
  br label %782

773:                                              ; preds = %705
  %774 = landingpad { ptr, i32 }
          cleanup
  %775 = extractvalue { ptr, i32 } %774, 0
  store ptr %775, ptr %32, align 8
  %776 = extractvalue { ptr, i32 } %774, 1
  store i32 %776, ptr %33, align 4
  br label %781

777:                                              ; preds = %706
  %778 = landingpad { ptr, i32 }
          cleanup
  %779 = extractvalue { ptr, i32 } %778, 0
  store ptr %779, ptr %32, align 8
  %780 = extractvalue { ptr, i32 } %778, 1
  store i32 %780, ptr %33, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %83) #7
  br label %781

781:                                              ; preds = %777, %773
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %84) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %84) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %83) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %81) #7
  br label %782

782:                                              ; preds = %781, %769
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %82) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %82) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %81) #7
  br label %1776

783:                                              ; preds = %712
  %784 = landingpad { ptr, i32 }
          cleanup
  %785 = extractvalue { ptr, i32 } %784, 0
  store ptr %785, ptr %32, align 8
  %786 = extractvalue { ptr, i32 } %784, 1
  store i32 %786, ptr %33, align 4
  br label %796

787:                                              ; preds = %713
  %788 = landingpad { ptr, i32 }
          cleanup
  %789 = extractvalue { ptr, i32 } %788, 0
  store ptr %789, ptr %32, align 8
  %790 = extractvalue { ptr, i32 } %788, 1
  store i32 %790, ptr %33, align 4
  br label %795

791:                                              ; preds = %714
  %792 = landingpad { ptr, i32 }
          cleanup
  %793 = extractvalue { ptr, i32 } %792, 0
  store ptr %793, ptr %32, align 8
  %794 = extractvalue { ptr, i32 } %792, 1
  store i32 %794, ptr %33, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %87) #7
  br label %795

795:                                              ; preds = %791, %787
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %88) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %88) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %87) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %85) #7
  br label %796

796:                                              ; preds = %795, %783
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %86) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %86) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %85) #7
  br label %1776

797:                                              ; preds = %719
  %798 = landingpad { ptr, i32 }
          cleanup
  %799 = extractvalue { ptr, i32 } %798, 0
  store ptr %799, ptr %32, align 8
  %800 = extractvalue { ptr, i32 } %798, 1
  store i32 %800, ptr %33, align 4
  br label %824

801:                                              ; preds = %734, %732, %730, %724, %722, %720
  %802 = landingpad { ptr, i32 }
          cleanup
  %803 = extractvalue { ptr, i32 } %802, 0
  store ptr %803, ptr %32, align 8
  %804 = extractvalue { ptr, i32 } %802, 1
  store i32 %804, ptr %33, align 4
  br label %823

805:                                              ; preds = %726
  %806 = landingpad { ptr, i32 }
          cleanup
  %807 = extractvalue { ptr, i32 } %806, 0
  store ptr %807, ptr %32, align 8
  %808 = extractvalue { ptr, i32 } %806, 1
  store i32 %808, ptr %33, align 4
  br label %813

809:                                              ; preds = %727
  %810 = landingpad { ptr, i32 }
          cleanup
  %811 = extractvalue { ptr, i32 } %810, 0
  store ptr %811, ptr %32, align 8
  %812 = extractvalue { ptr, i32 } %810, 1
  store i32 %812, ptr %33, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %90) #7
  br label %813

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

814:                                              ; preds = %736
  %815 = landingpad { ptr, i32 }
          cleanup
  %816 = extractvalue { ptr, i32 } %815, 0
  store ptr %816, ptr %32, align 8
  %817 = extractvalue { ptr, i32 } %815, 1
  store i32 %817, ptr %33, align 4
  br label %822

818:                                              ; preds = %737
  %819 = landingpad { ptr, i32 }
          cleanup
  %820 = extractvalue { ptr, i32 } %819, 0
  store ptr %820, ptr %32, align 8
  %821 = extractvalue { ptr, i32 } %819, 1
  store i32 %821, ptr %33, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %91) #7
  br label %822

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

823:                                              ; preds = %822, %813, %801
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %89) #7
  br label %824

824:                                              ; preds = %823, %797
  call void @llvm.lifetime.end.p0(i64 8, ptr %89) #7
  br label %1776

825:                                              ; preds = %740, %715
  %826 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 37
  %827 = load double, ptr %826, align 8, !tbaa !37
  %828 = fneg double %827
  %829 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %65)
          to label %830 unwind label %679

830:                                              ; preds = %825
  invoke void @_ZN10SimTKIpopt12OrigIpoptNLP12relax_boundsEdRNS_6VectorE(ptr noundef nonnull align 8 dereferenceable(648) %177, double noundef %828, ptr noundef nonnull align 8 dereferenceable(205) %829)
          to label %831 unwind label %679

831:                                              ; preds = %830
  %832 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 37
  %833 = load double, ptr %832, align 8, !tbaa !37
  %834 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %67)
          to label %835 unwind label %679

835:                                              ; preds = %831
  invoke void @_ZN10SimTKIpopt12OrigIpoptNLP12relax_boundsEdRNS_6VectorE(ptr noundef nonnull align 8 dereferenceable(648) %177, double noundef %833, ptr noundef nonnull align 8 dereferenceable(205) %834)
          to label %836 unwind label %679

836:                                              ; preds = %835
  %837 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 37
  %838 = load double, ptr %837, align 8, !tbaa !37
  %839 = fneg double %838
  %840 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %69)
          to label %841 unwind label %679

841:                                              ; preds = %836
  invoke void @_ZN10SimTKIpopt12OrigIpoptNLP12relax_boundsEdRNS_6VectorE(ptr noundef nonnull align 8 dereferenceable(648) %177, double noundef %839, ptr noundef nonnull align 8 dereferenceable(205) %840)
          to label %842 unwind label %679

842:                                              ; preds = %841
  %843 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 37
  %844 = load double, ptr %843, align 8, !tbaa !37
  %845 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %71)
          to label %846 unwind label %679

846:                                              ; preds = %842
  invoke void @_ZN10SimTKIpopt12OrigIpoptNLP12relax_boundsEdRNS_6VectorE(ptr noundef nonnull align 8 dereferenceable(648) %177, double noundef %844, ptr noundef nonnull align 8 dereferenceable(205) %845)
          to label %847 unwind label %679

847:                                              ; preds = %846
  call void @llvm.lifetime.start.p0(i64 8, ptr %92) #7
  invoke void @_ZN10SimTKIpopt8ConstPtrINS_6VectorEEENS_8SmartPtrIKT_EERKNS2_IS3_EE(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.23") align 8 %92, ptr noundef nonnull align 8 dereferenceable(8) %65)
          to label %848 unwind label %1087

848:                                              ; preds = %847
  %849 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 27
  %850 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %849, ptr noundef nonnull align 8 dereferenceable(8) %92)
          to label %851 unwind label %1091

851:                                              ; preds = %848
  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
  invoke void @_ZN10SimTKIpopt8ConstPtrINS_6MatrixEEENS_8SmartPtrIKT_EERKNS2_IS3_EE(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.24") align 8 %93, ptr noundef nonnull align 8 dereferenceable(8) %66)
          to label %852 unwind label %1096

852:                                              ; preds = %851
  %853 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 28
  %854 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %853, ptr noundef nonnull align 8 dereferenceable(8) %93)
          to label %855 unwind label %1100

855:                                              ; preds = %852
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %93) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %93) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %94) #7
  invoke void @_ZN10SimTKIpopt8ConstPtrINS_6VectorEEENS_8SmartPtrIKT_EERKNS2_IS3_EE(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.23") align 8 %94, ptr noundef nonnull align 8 dereferenceable(8) %67)
          to label %856 unwind label %1105

856:                                              ; preds = %855
  %857 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 29
  %858 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %857, ptr noundef nonnull align 8 dereferenceable(8) %94)
          to label %859 unwind label %1109

859:                                              ; preds = %856
  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
  invoke void @_ZN10SimTKIpopt8ConstPtrINS_6MatrixEEENS_8SmartPtrIKT_EERKNS2_IS3_EE(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.24") align 8 %95, ptr noundef nonnull align 8 dereferenceable(8) %68)
          to label %860 unwind label %1114

860:                                              ; preds = %859
  %861 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 30
  %862 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %861, ptr noundef nonnull align 8 dereferenceable(8) %95)
          to label %863 unwind label %1118

863:                                              ; preds = %860
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(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
  invoke void @_ZN10SimTKIpopt8ConstPtrINS_6VectorEEENS_8SmartPtrIKT_EERKNS2_IS3_EE(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.23") align 8 %96, ptr noundef nonnull align 8 dereferenceable(8) %69)
          to label %864 unwind label %1123

864:                                              ; preds = %863
  %865 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 31
  %866 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %865, ptr noundef nonnull align 8 dereferenceable(8) %96)
          to label %867 unwind label %1127

867:                                              ; preds = %864
  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
  invoke void @_ZN10SimTKIpopt8ConstPtrINS_6MatrixEEENS_8SmartPtrIKT_EERKNS2_IS3_EE(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.24") align 8 %97, ptr noundef nonnull align 8 dereferenceable(8) %70)
          to label %868 unwind label %1132

868:                                              ; preds = %867
  %869 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 32
  %870 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %869, ptr noundef nonnull align 8 dereferenceable(8) %97)
          to label %871 unwind label %1136

871:                                              ; preds = %868
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %97) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %97) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %98) #7
  invoke void @_ZN10SimTKIpopt8ConstPtrINS_6VectorEEENS_8SmartPtrIKT_EERKNS2_IS3_EE(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.23") align 8 %98, ptr noundef nonnull align 8 dereferenceable(8) %71)
          to label %872 unwind label %1141

872:                                              ; preds = %871
  %873 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 33
  %874 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %873, ptr noundef nonnull align 8 dereferenceable(8) %98)
          to label %875 unwind label %1145

875:                                              ; preds = %872
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %98) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %98) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %99) #7
  invoke void @_ZN10SimTKIpopt8ConstPtrINS_6MatrixEEENS_8SmartPtrIKT_EERKNS2_IS3_EE(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.24") align 8 %99, ptr noundef nonnull align 8 dereferenceable(8) %72)
          to label %876 unwind label %1150

876:                                              ; preds = %875
  %877 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 34
  %878 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %877, ptr noundef nonnull align 8 dereferenceable(8) %99)
          to label %879 unwind label %1154

879:                                              ; preds = %876
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %99) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %99) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %100) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %101) #7
  invoke void @_ZNK10SimTKIpopt8IpoptNLP11NLP_scalingEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.16") align 8 %101, ptr noundef nonnull align 8 dereferenceable(24) %177)
          to label %880 unwind label %1159

880:                                              ; preds = %879
  %881 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %101)
          to label %882 unwind label %1163

882:                                              ; preds = %880
  %883 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 28
  %884 = invoke noundef nonnull align 8 dereferenceable(69) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6MatrixEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %883)
          to label %885 unwind label %1163

885:                                              ; preds = %882
  %886 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 27
  %887 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 3
  %888 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %887)
          to label %889 unwind label %1163

889:                                              ; preds = %885
  invoke void @_ZN10SimTKIpopt16NLPScalingObject25apply_vector_scaling_x_LUERKNS_6MatrixERKNS_8SmartPtrIKNS_6VectorEEERKNS_11VectorSpaceE(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.23") align 8 %100, ptr noundef nonnull align 8 dereferenceable(24) %881, ptr noundef nonnull align 8 dereferenceable(69) %884, ptr noundef nonnull align 8 dereferenceable(8) %886, ptr noundef nonnull align 8 dereferenceable(16) %888)
          to label %890 unwind label %1163

890:                                              ; preds = %889
  %891 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 27
  %892 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %891, ptr noundef nonnull align 8 dereferenceable(8) %100)
          to label %893 unwind label %1167

893:                                              ; preds = %890
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %100) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEED2Ev(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 @llvm.lifetime.start.p0(i64 8, ptr %102) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %103) #7
  invoke void @_ZNK10SimTKIpopt8IpoptNLP11NLP_scalingEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.16") align 8 %103, ptr noundef nonnull align 8 dereferenceable(24) %177)
          to label %894 unwind label %1173

894:                                              ; preds = %893
  %895 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %103)
          to label %896 unwind label %1177

896:                                              ; preds = %894
  %897 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 30
  %898 = invoke noundef nonnull align 8 dereferenceable(69) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6MatrixEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %897)
          to label %899 unwind label %1177

899:                                              ; preds = %896
  %900 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 29
  %901 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 3
  %902 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %901)
          to label %903 unwind label %1177

903:                                              ; preds = %899
  invoke void @_ZN10SimTKIpopt16NLPScalingObject25apply_vector_scaling_x_LUERKNS_6MatrixERKNS_8SmartPtrIKNS_6VectorEEERKNS_11VectorSpaceE(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.23") align 8 %102, ptr noundef nonnull align 8 dereferenceable(24) %895, ptr noundef nonnull align 8 dereferenceable(69) %898, ptr noundef nonnull align 8 dereferenceable(8) %900, ptr noundef nonnull align 8 dereferenceable(16) %902)
          to label %904 unwind label %1177

904:                                              ; preds = %903
  %905 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 29
  %906 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %905, ptr noundef nonnull align 8 dereferenceable(8) %102)
          to label %907 unwind label %1181

907:                                              ; preds = %904
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %102) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEED2Ev(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 %104) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %105) #7
  invoke void @_ZNK10SimTKIpopt8IpoptNLP11NLP_scalingEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.16") align 8 %105, ptr noundef nonnull align 8 dereferenceable(24) %177)
          to label %908 unwind label %1187

908:                                              ; preds = %907
  %909 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %105)
          to label %910 unwind label %1191

910:                                              ; preds = %908
  %911 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 32
  %912 = invoke noundef nonnull align 8 dereferenceable(69) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6MatrixEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %911)
          to label %913 unwind label %1191

913:                                              ; preds = %910
  %914 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 31
  %915 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 5
  %916 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %915)
          to label %917 unwind label %1191

917:                                              ; preds = %913
  invoke void @_ZN10SimTKIpopt16NLPScalingObject25apply_vector_scaling_d_LUERKNS_6MatrixERKNS_8SmartPtrIKNS_6VectorEEERKNS_11VectorSpaceE(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.23") align 8 %104, ptr noundef nonnull align 8 dereferenceable(24) %909, ptr noundef nonnull align 8 dereferenceable(69) %912, ptr noundef nonnull align 8 dereferenceable(8) %914, ptr noundef nonnull align 8 dereferenceable(16) %916)
          to label %918 unwind label %1191

918:                                              ; preds = %917
  %919 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 31
  %920 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %919, ptr noundef nonnull align 8 dereferenceable(8) %104)
          to label %921 unwind label %1195

921:                                              ; preds = %918
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %104) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEED2Ev(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 @llvm.lifetime.start.p0(i64 8, ptr %106) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %107) #7
  invoke void @_ZNK10SimTKIpopt8IpoptNLP11NLP_scalingEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.16") align 8 %107, ptr noundef nonnull align 8 dereferenceable(24) %177)
          to label %922 unwind label %1201

922:                                              ; preds = %921
  %923 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %107)
          to label %924 unwind label %1205

924:                                              ; preds = %922
  %925 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 34
  %926 = invoke noundef nonnull align 8 dereferenceable(69) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6MatrixEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %925)
          to label %927 unwind label %1205

927:                                              ; preds = %924
  %928 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 33
  %929 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 5
  %930 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %929)
          to label %931 unwind label %1205

931:                                              ; preds = %927
  invoke void @_ZN10SimTKIpopt16NLPScalingObject25apply_vector_scaling_d_LUERKNS_6MatrixERKNS_8SmartPtrIKNS_6VectorEEERKNS_11VectorSpaceE(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.23") align 8 %106, ptr noundef nonnull align 8 dereferenceable(24) %923, ptr noundef nonnull align 8 dereferenceable(69) %926, ptr noundef nonnull align 8 dereferenceable(8) %928, ptr noundef nonnull align 8 dereferenceable(16) %930)
          to label %932 unwind label %1205

932:                                              ; preds = %931
  %933 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 33
  %934 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %933, ptr noundef nonnull align 8 dereferenceable(8) %106)
          to label %935 unwind label %1209

935:                                              ; preds = %932
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %106) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEED2Ev(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
  %936 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %65)
          to label %937 unwind label %679

937:                                              ; preds = %935
  %938 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 1
  %939 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_10JournalistEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %938)
          to label %940 unwind label %679

940:                                              ; preds = %937
  call void @llvm.lifetime.start.p0(i64 32, ptr %108) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %109) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %109) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %108, ptr noundef @.str.45, ptr noundef nonnull align 1 dereferenceable(1) %109)
          to label %941 unwind label %1215

941:                                              ; preds = %940
  call void @llvm.lifetime.start.p0(i64 32, ptr %110) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %111) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %111) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %110, ptr noundef @.str.41, ptr noundef nonnull align 1 dereferenceable(1) %111)
          to label %942 unwind label %1219

942:                                              ; preds = %941
  invoke void @_ZNK10SimTKIpopt6Vector5PrintERKNS_10JournalistENS_13EJournalLevelENS_16EJournalCategoryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSD_(ptr noundef nonnull align 8 dereferenceable(205) %936, ptr noundef nonnull align 8 dereferenceable(40) %939, i32 noundef 7, i32 noundef 3, ptr noundef nonnull align 8 dereferenceable(32) %108, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(32) %110)
          to label %943 unwind label %1223

943:                                              ; preds = %942
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %110) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %111) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %111) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %110) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %108) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %109) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %109) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %108) #7
  %944 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %67)
          to label %945 unwind label %679

945:                                              ; preds = %943
  %946 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 1
  %947 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_10JournalistEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %946)
          to label %948 unwind label %679

948:                                              ; preds = %945
  call void @llvm.lifetime.start.p0(i64 32, ptr %112) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %113) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %113) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %112, ptr noundef @.str.46, ptr noundef nonnull align 1 dereferenceable(1) %113)
          to label %949 unwind label %1229

949:                                              ; preds = %948
  call void @llvm.lifetime.start.p0(i64 32, ptr %114) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %115) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %115) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %114, ptr noundef @.str.41, ptr noundef nonnull align 1 dereferenceable(1) %115)
          to label %950 unwind label %1233

950:                                              ; preds = %949
  invoke void @_ZNK10SimTKIpopt6Vector5PrintERKNS_10JournalistENS_13EJournalLevelENS_16EJournalCategoryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSD_(ptr noundef nonnull align 8 dereferenceable(205) %944, ptr noundef nonnull align 8 dereferenceable(40) %947, i32 noundef 7, i32 noundef 3, ptr noundef nonnull align 8 dereferenceable(32) %112, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(32) %114)
          to label %951 unwind label %1237

951:                                              ; preds = %950
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %114) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %115) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %115) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %114) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %112) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %113) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %113) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %112) #7
  %952 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %69)
          to label %953 unwind label %679

953:                                              ; preds = %951
  %954 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 1
  %955 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_10JournalistEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %954)
          to label %956 unwind label %679

956:                                              ; preds = %953
  call void @llvm.lifetime.start.p0(i64 32, ptr %116) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %117) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %117) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %116, ptr noundef @.str.47, ptr noundef nonnull align 1 dereferenceable(1) %117)
          to label %957 unwind label %1243

957:                                              ; preds = %956
  call void @llvm.lifetime.start.p0(i64 32, ptr %118) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %119) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %119) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %118, ptr noundef @.str.41, ptr noundef nonnull align 1 dereferenceable(1) %119)
          to label %958 unwind label %1247

958:                                              ; preds = %957
  invoke void @_ZNK10SimTKIpopt6Vector5PrintERKNS_10JournalistENS_13EJournalLevelENS_16EJournalCategoryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSD_(ptr noundef nonnull align 8 dereferenceable(205) %952, ptr noundef nonnull align 8 dereferenceable(40) %955, i32 noundef 7, i32 noundef 3, ptr noundef nonnull align 8 dereferenceable(32) %116, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(32) %118)
          to label %959 unwind label %1251

959:                                              ; preds = %958
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %118) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %119) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %119) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %118) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %116) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %117) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %117) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %116) #7
  %960 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %71)
          to label %961 unwind label %679

961:                                              ; preds = %959
  %962 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 1
  %963 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_10JournalistEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %962)
          to label %964 unwind label %679

964:                                              ; preds = %961
  call void @llvm.lifetime.start.p0(i64 32, ptr %120) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %121) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %121) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %120, ptr noundef @.str.48, ptr noundef nonnull align 1 dereferenceable(1) %121)
          to label %965 unwind label %1257

965:                                              ; preds = %964
  call void @llvm.lifetime.start.p0(i64 32, ptr %122) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %123) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %123) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %122, ptr noundef @.str.41, ptr noundef nonnull align 1 dereferenceable(1) %123)
          to label %966 unwind label %1261

966:                                              ; preds = %965
  invoke void @_ZNK10SimTKIpopt6Vector5PrintERKNS_10JournalistENS_13EJournalLevelENS_16EJournalCategoryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSD_(ptr noundef nonnull align 8 dereferenceable(205) %960, ptr noundef nonnull align 8 dereferenceable(40) %963, i32 noundef 7, i32 noundef 3, ptr noundef nonnull align 8 dereferenceable(32) %120, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(32) %122)
          to label %967 unwind label %1265

967:                                              ; preds = %966
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %122) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %123) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %123) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %122) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %120) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %121) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %121) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %120) #7
  %968 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 3
  %969 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %968)
          to label %970 unwind label %679

970:                                              ; preds = %967
  %971 = load ptr, ptr %969, align 8, !tbaa !33
  %972 = getelementptr inbounds ptr, ptr %971, i64 2
  %973 = load ptr, ptr %972, align 8
  %974 = invoke noundef ptr %973(ptr noundef nonnull align 8 dereferenceable(16) %969)
          to label %975 unwind label %679

975:                                              ; preds = %970
  %976 = load ptr, ptr %16, align 8, !tbaa !5
  %977 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %976, ptr noundef %974)
          to label %978 unwind label %679

978:                                              ; preds = %975
  %979 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 4
  %980 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %979)
          to label %981 unwind label %679

981:                                              ; preds = %978
  %982 = load ptr, ptr %980, align 8, !tbaa !33
  %983 = getelementptr inbounds ptr, ptr %982, i64 2
  %984 = load ptr, ptr %983, align 8
  %985 = invoke noundef ptr %984(ptr noundef nonnull align 8 dereferenceable(16) %980)
          to label %986 unwind label %679

986:                                              ; preds = %981
  %987 = load ptr, ptr %18, align 8, !tbaa !5
  %988 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %987, ptr noundef %985)
          to label %989 unwind label %679

989:                                              ; preds = %986
  %990 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 5
  %991 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %990)
          to label %992 unwind label %679

992:                                              ; preds = %989
  %993 = load ptr, ptr %991, align 8, !tbaa !33
  %994 = getelementptr inbounds ptr, ptr %993, i64 2
  %995 = load ptr, ptr %994, align 8
  %996 = invoke noundef ptr %995(ptr noundef nonnull align 8 dereferenceable(16) %991)
          to label %997 unwind label %679

997:                                              ; preds = %992
  %998 = load ptr, ptr %20, align 8, !tbaa !5
  %999 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %998, ptr noundef %996)
          to label %1000 unwind label %679

1000:                                             ; preds = %997
  %1001 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 6
  %1002 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1001)
          to label %1003 unwind label %679

1003:                                             ; preds = %1000
  %1004 = load ptr, ptr %1002, align 8, !tbaa !33
  %1005 = getelementptr inbounds ptr, ptr %1004, i64 2
  %1006 = load ptr, ptr %1005, align 8
  %1007 = invoke noundef ptr %1006(ptr noundef nonnull align 8 dereferenceable(16) %1002)
          to label %1008 unwind label %679

1008:                                             ; preds = %1003
  %1009 = load ptr, ptr %22, align 8, !tbaa !5
  %1010 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %1009, ptr noundef %1007)
          to label %1011 unwind label %679

1011:                                             ; preds = %1008
  %1012 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 8
  %1013 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1012)
          to label %1014 unwind label %679

1014:                                             ; preds = %1011
  %1015 = load ptr, ptr %1013, align 8, !tbaa !33
  %1016 = getelementptr inbounds ptr, ptr %1015, i64 2
  %1017 = load ptr, ptr %1016, align 8
  %1018 = invoke noundef ptr %1017(ptr noundef nonnull align 8 dereferenceable(16) %1013)
          to label %1019 unwind label %679

1019:                                             ; preds = %1014
  %1020 = load ptr, ptr %24, align 8, !tbaa !5
  %1021 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %1020, ptr noundef %1018)
          to label %1022 unwind label %679

1022:                                             ; preds = %1019
  %1023 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 10
  %1024 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1023)
          to label %1025 unwind label %679

1025:                                             ; preds = %1022
  %1026 = load ptr, ptr %1024, align 8, !tbaa !33
  %1027 = getelementptr inbounds ptr, ptr %1026, i64 2
  %1028 = load ptr, ptr %1027, align 8
  %1029 = invoke noundef ptr %1028(ptr noundef nonnull align 8 dereferenceable(16) %1024)
          to label %1030 unwind label %679

1030:                                             ; preds = %1025
  %1031 = load ptr, ptr %26, align 8, !tbaa !5
  %1032 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %1031, ptr noundef %1029)
          to label %1033 unwind label %679

1033:                                             ; preds = %1030
  %1034 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 12
  %1035 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1034)
          to label %1036 unwind label %679

1036:                                             ; preds = %1033
  %1037 = load ptr, ptr %1035, align 8, !tbaa !33
  %1038 = getelementptr inbounds ptr, ptr %1037, i64 2
  %1039 = load ptr, ptr %1038, align 8
  %1040 = invoke noundef ptr %1039(ptr noundef nonnull align 8 dereferenceable(16) %1035)
          to label %1041 unwind label %679

1041:                                             ; preds = %1036
  %1042 = load ptr, ptr %27, align 8, !tbaa !5
  %1043 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %1042, ptr noundef %1040)
          to label %1044 unwind label %679

1044:                                             ; preds = %1041
  %1045 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 2
  %1046 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_3NLPEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1045)
          to label %1047 unwind label %679

1047:                                             ; preds = %1044
  %1048 = load ptr, ptr %16, align 8, !tbaa !5
  %1049 = invoke noundef ptr @_ZN10SimTKIpopt9GetRawPtrINS_6VectorEEEPT_RKNS_8SmartPtrIS2_EE(ptr noundef nonnull align 8 dereferenceable(8) %1048)
          to label %1050 unwind label %679

1050:                                             ; preds = %1047
  invoke void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8) %124, ptr noundef %1049)
          to label %1051 unwind label %679

1051:                                             ; preds = %1050
  %1052 = load i8, ptr %17, align 1, !tbaa !9, !range !31, !noundef !32
  %1053 = trunc i8 %1052 to i1
  %1054 = load ptr, ptr %18, align 8, !tbaa !5
  %1055 = invoke noundef ptr @_ZN10SimTKIpopt9GetRawPtrINS_6VectorEEEPT_RKNS_8SmartPtrIS2_EE(ptr noundef nonnull align 8 dereferenceable(8) %1054)
          to label %1056 unwind label %1271

1056:                                             ; preds = %1051
  invoke void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8) %125, ptr noundef %1055)
          to label %1057 unwind label %1271

1057:                                             ; preds = %1056
  %1058 = load i8, ptr %19, align 1, !tbaa !9, !range !31, !noundef !32
  %1059 = trunc i8 %1058 to i1
  %1060 = load ptr, ptr %20, align 8, !tbaa !5
  %1061 = invoke noundef ptr @_ZN10SimTKIpopt9GetRawPtrINS_6VectorEEEPT_RKNS_8SmartPtrIS2_EE(ptr noundef nonnull align 8 dereferenceable(8) %1060)
          to label %1062 unwind label %1275

1062:                                             ; preds = %1057
  invoke void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8) %126, ptr noundef %1061)
          to label %1063 unwind label %1275

1063:                                             ; preds = %1062
  %1064 = load i8, ptr %21, align 1, !tbaa !9, !range !31, !noundef !32
  %1065 = trunc i8 %1064 to i1
  %1066 = load ptr, ptr %22, align 8, !tbaa !5
  %1067 = invoke noundef ptr @_ZN10SimTKIpopt9GetRawPtrINS_6VectorEEEPT_RKNS_8SmartPtrIS2_EE(ptr noundef nonnull align 8 dereferenceable(8) %1066)
          to label %1068 unwind label %1279

1068:                                             ; preds = %1063
  invoke void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8) %127, ptr noundef %1067)
          to label %1069 unwind label %1279

1069:                                             ; preds = %1068
  %1070 = load i8, ptr %23, align 1, !tbaa !9, !range !31, !noundef !32
  %1071 = trunc i8 %1070 to i1
  %1072 = load ptr, ptr %24, align 8, !tbaa !5
  %1073 = invoke noundef ptr @_ZN10SimTKIpopt9GetRawPtrINS_6VectorEEEPT_RKNS_8SmartPtrIS2_EE(ptr noundef nonnull align 8 dereferenceable(8) %1072)
          to label %1074 unwind label %1283

1074:                                             ; preds = %1069
  invoke void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8) %128, ptr noundef %1073)
          to label %1075 unwind label %1283

1075:                                             ; preds = %1074
  %1076 = load i8, ptr %25, align 1, !tbaa !9, !range !31, !noundef !32
  %1077 = trunc i8 %1076 to i1
  %1078 = load ptr, ptr %1046, align 8, !tbaa !33
  %1079 = getelementptr inbounds ptr, ptr %1078, i64 5
  %1080 = load ptr, ptr %1079, align 8
  %1081 = invoke noundef zeroext i1 %1080(ptr noundef nonnull align 8 dereferenceable(12) %1046, ptr noundef %124, i1 noundef zeroext %1053, ptr noundef %125, i1 noundef zeroext %1059, ptr noundef %126, i1 noundef zeroext %1065, ptr noundef %127, i1 noundef zeroext %1071, ptr noundef %128, i1 noundef zeroext %1077)
          to label %1082 unwind label %1287

1082:                                             ; preds = %1075
  %1083 = zext i1 %1081 to i8
  store i8 %1083, ptr %28, align 1, !tbaa !9
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %128) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %127) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %126) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %125) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %124) #7
  %1084 = load i8, ptr %28, align 1, !tbaa !9, !range !31, !noundef !32
  %1085 = trunc i8 %1084 to i1
  br i1 %1085, label %1295, label %1086

1086:                                             ; preds = %1082
  store i1 false, ptr %14, align 1
  store i32 1, ptr %29, align 4
  br label %1775

1087:                                             ; preds = %847
  %1088 = landingpad { ptr, i32 }
          cleanup
  %1089 = extractvalue { ptr, i32 } %1088, 0
  store ptr %1089, ptr %32, align 8
  %1090 = extractvalue { ptr, i32 } %1088, 1
  store i32 %1090, ptr %33, align 4
  br label %1095

1091:                                             ; preds = %848
  %1092 = landingpad { ptr, i32 }
          cleanup
  %1093 = extractvalue { ptr, i32 } %1092, 0
  store ptr %1093, ptr %32, align 8
  %1094 = extractvalue { ptr, i32 } %1092, 1
  store i32 %1094, ptr %33, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %92) #7
  br label %1095

1095:                                             ; preds = %1091, %1087
  call void @llvm.lifetime.end.p0(i64 8, ptr %92) #7
  br label %1776

1096:                                             ; preds = %851
  %1097 = landingpad { ptr, i32 }
          cleanup
  %1098 = extractvalue { ptr, i32 } %1097, 0
  store ptr %1098, ptr %32, align 8
  %1099 = extractvalue { ptr, i32 } %1097, 1
  store i32 %1099, ptr %33, align 4
  br label %1104

1100:                                             ; preds = %852
  %1101 = landingpad { ptr, i32 }
          cleanup
  %1102 = extractvalue { ptr, i32 } %1101, 0
  store ptr %1102, ptr %32, align 8
  %1103 = extractvalue { ptr, i32 } %1101, 1
  store i32 %1103, ptr %33, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %93) #7
  br label %1104

1104:                                             ; preds = %1100, %1096
  call void @llvm.lifetime.end.p0(i64 8, ptr %93) #7
  br label %1776

1105:                                             ; preds = %855
  %1106 = landingpad { ptr, i32 }
          cleanup
  %1107 = extractvalue { ptr, i32 } %1106, 0
  store ptr %1107, ptr %32, align 8
  %1108 = extractvalue { ptr, i32 } %1106, 1
  store i32 %1108, ptr %33, align 4
  br label %1113

1109:                                             ; preds = %856
  %1110 = landingpad { ptr, i32 }
          cleanup
  %1111 = extractvalue { ptr, i32 } %1110, 0
  store ptr %1111, ptr %32, align 8
  %1112 = extractvalue { ptr, i32 } %1110, 1
  store i32 %1112, ptr %33, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %94) #7
  br label %1113

1113:                                             ; preds = %1109, %1105
  call void @llvm.lifetime.end.p0(i64 8, ptr %94) #7
  br label %1776

1114:                                             ; preds = %859
  %1115 = landingpad { ptr, i32 }
          cleanup
  %1116 = extractvalue { ptr, i32 } %1115, 0
  store ptr %1116, ptr %32, align 8
  %1117 = extractvalue { ptr, i32 } %1115, 1
  store i32 %1117, ptr %33, align 4
  br label %1122

1118:                                             ; preds = %860
  %1119 = landingpad { ptr, i32 }
          cleanup
  %1120 = extractvalue { ptr, i32 } %1119, 0
  store ptr %1120, ptr %32, align 8
  %1121 = extractvalue { ptr, i32 } %1119, 1
  store i32 %1121, ptr %33, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %95) #7
  br label %1122

1122:                                             ; preds = %1118, %1114
  call void @llvm.lifetime.end.p0(i64 8, ptr %95) #7
  br label %1776

1123:                                             ; preds = %863
  %1124 = landingpad { ptr, i32 }
          cleanup
  %1125 = extractvalue { ptr, i32 } %1124, 0
  store ptr %1125, ptr %32, align 8
  %1126 = extractvalue { ptr, i32 } %1124, 1
  store i32 %1126, ptr %33, align 4
  br label %1131

1127:                                             ; preds = %864
  %1128 = landingpad { ptr, i32 }
          cleanup
  %1129 = extractvalue { ptr, i32 } %1128, 0
  store ptr %1129, ptr %32, align 8
  %1130 = extractvalue { ptr, i32 } %1128, 1
  store i32 %1130, ptr %33, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %96) #7
  br label %1131

1131:                                             ; preds = %1127, %1123
  call void @llvm.lifetime.end.p0(i64 8, ptr %96) #7
  br label %1776

1132:                                             ; preds = %867
  %1133 = landingpad { ptr, i32 }
          cleanup
  %1134 = extractvalue { ptr, i32 } %1133, 0
  store ptr %1134, ptr %32, align 8
  %1135 = extractvalue { ptr, i32 } %1133, 1
  store i32 %1135, ptr %33, align 4
  br label %1140

1136:                                             ; preds = %868
  %1137 = landingpad { ptr, i32 }
          cleanup
  %1138 = extractvalue { ptr, i32 } %1137, 0
  store ptr %1138, ptr %32, align 8
  %1139 = extractvalue { ptr, i32 } %1137, 1
  store i32 %1139, ptr %33, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %97) #7
  br label %1140

1140:                                             ; preds = %1136, %1132
  call void @llvm.lifetime.end.p0(i64 8, ptr %97) #7
  br label %1776

1141:                                             ; preds = %871
  %1142 = landingpad { ptr, i32 }
          cleanup
  %1143 = extractvalue { ptr, i32 } %1142, 0
  store ptr %1143, ptr %32, align 8
  %1144 = extractvalue { ptr, i32 } %1142, 1
  store i32 %1144, ptr %33, align 4
  br label %1149

1145:                                             ; preds = %872
  %1146 = landingpad { ptr, i32 }
          cleanup
  %1147 = extractvalue { ptr, i32 } %1146, 0
  store ptr %1147, ptr %32, align 8
  %1148 = extractvalue { ptr, i32 } %1146, 1
  store i32 %1148, ptr %33, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %98) #7
  br label %1149

1149:                                             ; preds = %1145, %1141
  call void @llvm.lifetime.end.p0(i64 8, ptr %98) #7
  br label %1776

1150:                                             ; preds = %875
  %1151 = landingpad { ptr, i32 }
          cleanup
  %1152 = extractvalue { ptr, i32 } %1151, 0
  store ptr %1152, ptr %32, align 8
  %1153 = extractvalue { ptr, i32 } %1151, 1
  store i32 %1153, ptr %33, align 4
  br label %1158

1154:                                             ; preds = %876
  %1155 = landingpad { ptr, i32 }
          cleanup
  %1156 = extractvalue { ptr, i32 } %1155, 0
  store ptr %1156, ptr %32, align 8
  %1157 = extractvalue { ptr, i32 } %1155, 1
  store i32 %1157, ptr %33, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %99) #7
  br label %1158

1158:                                             ; preds = %1154, %1150
  call void @llvm.lifetime.end.p0(i64 8, ptr %99) #7
  br label %1776

1159:                                             ; preds = %879
  %1160 = landingpad { ptr, i32 }
          cleanup
  %1161 = extractvalue { ptr, i32 } %1160, 0
  store ptr %1161, ptr %32, align 8
  %1162 = extractvalue { ptr, i32 } %1160, 1
  store i32 %1162, ptr %33, align 4
  br label %1172

1163:                                             ; preds = %889, %885, %882, %880
  %1164 = landingpad { ptr, i32 }
          cleanup
  %1165 = extractvalue { ptr, i32 } %1164, 0
  store ptr %1165, ptr %32, align 8
  %1166 = extractvalue { ptr, i32 } %1164, 1
  store i32 %1166, ptr %33, align 4
  br label %1171

1167:                                             ; preds = %890
  %1168 = landingpad { ptr, i32 }
          cleanup
  %1169 = extractvalue { ptr, i32 } %1168, 0
  store ptr %1169, ptr %32, align 8
  %1170 = extractvalue { ptr, i32 } %1168, 1
  store i32 %1170, ptr %33, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %100) #7
  br label %1171

1171:                                             ; preds = %1167, %1163
  call void @_ZN10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %101) #7
  br label %1172

1172:                                             ; preds = %1171, %1159
  call void @llvm.lifetime.end.p0(i64 8, ptr %101) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %100) #7
  br label %1776

1173:                                             ; preds = %893
  %1174 = landingpad { ptr, i32 }
          cleanup
  %1175 = extractvalue { ptr, i32 } %1174, 0
  store ptr %1175, ptr %32, align 8
  %1176 = extractvalue { ptr, i32 } %1174, 1
  store i32 %1176, ptr %33, align 4
  br label %1186

1177:                                             ; preds = %903, %899, %896, %894
  %1178 = landingpad { ptr, i32 }
          cleanup
  %1179 = extractvalue { ptr, i32 } %1178, 0
  store ptr %1179, ptr %32, align 8
  %1180 = extractvalue { ptr, i32 } %1178, 1
  store i32 %1180, ptr %33, align 4
  br label %1185

1181:                                             ; preds = %904
  %1182 = landingpad { ptr, i32 }
          cleanup
  %1183 = extractvalue { ptr, i32 } %1182, 0
  store ptr %1183, ptr %32, align 8
  %1184 = extractvalue { ptr, i32 } %1182, 1
  store i32 %1184, ptr %33, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %102) #7
  br label %1185

1185:                                             ; preds = %1181, %1177
  call void @_ZN10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %103) #7
  br label %1186

1186:                                             ; preds = %1185, %1173
  call void @llvm.lifetime.end.p0(i64 8, ptr %103) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %102) #7
  br label %1776

1187:                                             ; preds = %907
  %1188 = landingpad { ptr, i32 }
          cleanup
  %1189 = extractvalue { ptr, i32 } %1188, 0
  store ptr %1189, ptr %32, align 8
  %1190 = extractvalue { ptr, i32 } %1188, 1
  store i32 %1190, ptr %33, align 4
  br label %1200

1191:                                             ; preds = %917, %913, %910, %908
  %1192 = landingpad { ptr, i32 }
          cleanup
  %1193 = extractvalue { ptr, i32 } %1192, 0
  store ptr %1193, ptr %32, align 8
  %1194 = extractvalue { ptr, i32 } %1192, 1
  store i32 %1194, ptr %33, align 4
  br label %1199

1195:                                             ; preds = %918
  %1196 = landingpad { ptr, i32 }
          cleanup
  %1197 = extractvalue { ptr, i32 } %1196, 0
  store ptr %1197, ptr %32, align 8
  %1198 = extractvalue { ptr, i32 } %1196, 1
  store i32 %1198, ptr %33, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %104) #7
  br label %1199

1199:                                             ; preds = %1195, %1191
  call void @_ZN10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %105) #7
  br label %1200

1200:                                             ; preds = %1199, %1187
  call void @llvm.lifetime.end.p0(i64 8, ptr %105) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %104) #7
  br label %1776

1201:                                             ; preds = %921
  %1202 = landingpad { ptr, i32 }
          cleanup
  %1203 = extractvalue { ptr, i32 } %1202, 0
  store ptr %1203, ptr %32, align 8
  %1204 = extractvalue { ptr, i32 } %1202, 1
  store i32 %1204, ptr %33, align 4
  br label %1214

1205:                                             ; preds = %931, %927, %924, %922
  %1206 = landingpad { ptr, i32 }
          cleanup
  %1207 = extractvalue { ptr, i32 } %1206, 0
  store ptr %1207, ptr %32, align 8
  %1208 = extractvalue { ptr, i32 } %1206, 1
  store i32 %1208, ptr %33, align 4
  br label %1213

1209:                                             ; preds = %932
  %1210 = landingpad { ptr, i32 }
          cleanup
  %1211 = extractvalue { ptr, i32 } %1210, 0
  store ptr %1211, ptr %32, align 8
  %1212 = extractvalue { ptr, i32 } %1210, 1
  store i32 %1212, ptr %33, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %106) #7
  br label %1213

1213:                                             ; preds = %1209, %1205
  call void @_ZN10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %107) #7
  br label %1214

1214:                                             ; preds = %1213, %1201
  call void @llvm.lifetime.end.p0(i64 8, ptr %107) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %106) #7
  br label %1776

1215:                                             ; preds = %940
  %1216 = landingpad { ptr, i32 }
          cleanup
  %1217 = extractvalue { ptr, i32 } %1216, 0
  store ptr %1217, ptr %32, align 8
  %1218 = extractvalue { ptr, i32 } %1216, 1
  store i32 %1218, ptr %33, align 4
  br label %1228

1219:                                             ; preds = %941
  %1220 = landingpad { ptr, i32 }
          cleanup
  %1221 = extractvalue { ptr, i32 } %1220, 0
  store ptr %1221, ptr %32, align 8
  %1222 = extractvalue { ptr, i32 } %1220, 1
  store i32 %1222, ptr %33, align 4
  br label %1227

1223:                                             ; preds = %942
  %1224 = landingpad { ptr, i32 }
          cleanup
  %1225 = extractvalue { ptr, i32 } %1224, 0
  store ptr %1225, ptr %32, align 8
  %1226 = extractvalue { ptr, i32 } %1224, 1
  store i32 %1226, ptr %33, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %110) #7
  br label %1227

1227:                                             ; preds = %1223, %1219
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %111) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %111) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %110) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %108) #7
  br label %1228

1228:                                             ; preds = %1227, %1215
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %109) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %109) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %108) #7
  br label %1776

1229:                                             ; preds = %948
  %1230 = landingpad { ptr, i32 }
          cleanup
  %1231 = extractvalue { ptr, i32 } %1230, 0
  store ptr %1231, ptr %32, align 8
  %1232 = extractvalue { ptr, i32 } %1230, 1
  store i32 %1232, ptr %33, align 4
  br label %1242

1233:                                             ; preds = %949
  %1234 = landingpad { ptr, i32 }
          cleanup
  %1235 = extractvalue { ptr, i32 } %1234, 0
  store ptr %1235, ptr %32, align 8
  %1236 = extractvalue { ptr, i32 } %1234, 1
  store i32 %1236, ptr %33, align 4
  br label %1241

1237:                                             ; preds = %950
  %1238 = landingpad { ptr, i32 }
          cleanup
  %1239 = extractvalue { ptr, i32 } %1238, 0
  store ptr %1239, ptr %32, align 8
  %1240 = extractvalue { ptr, i32 } %1238, 1
  store i32 %1240, ptr %33, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %114) #7
  br label %1241

1241:                                             ; preds = %1237, %1233
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %115) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %115) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %114) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %112) #7
  br label %1242

1242:                                             ; preds = %1241, %1229
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %113) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %113) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %112) #7
  br label %1776

1243:                                             ; preds = %956
  %1244 = landingpad { ptr, i32 }
          cleanup
  %1245 = extractvalue { ptr, i32 } %1244, 0
  store ptr %1245, ptr %32, align 8
  %1246 = extractvalue { ptr, i32 } %1244, 1
  store i32 %1246, ptr %33, align 4
  br label %1256

1247:                                             ; preds = %957
  %1248 = landingpad { ptr, i32 }
          cleanup
  %1249 = extractvalue { ptr, i32 } %1248, 0
  store ptr %1249, ptr %32, align 8
  %1250 = extractvalue { ptr, i32 } %1248, 1
  store i32 %1250, ptr %33, align 4
  br label %1255

1251:                                             ; preds = %958
  %1252 = landingpad { ptr, i32 }
          cleanup
  %1253 = extractvalue { ptr, i32 } %1252, 0
  store ptr %1253, ptr %32, align 8
  %1254 = extractvalue { ptr, i32 } %1252, 1
  store i32 %1254, ptr %33, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %118) #7
  br label %1255

1255:                                             ; preds = %1251, %1247
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %119) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %119) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %118) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %116) #7
  br label %1256

1256:                                             ; preds = %1255, %1243
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %117) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %117) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %116) #7
  br label %1776

1257:                                             ; preds = %964
  %1258 = landingpad { ptr, i32 }
          cleanup
  %1259 = extractvalue { ptr, i32 } %1258, 0
  store ptr %1259, ptr %32, align 8
  %1260 = extractvalue { ptr, i32 } %1258, 1
  store i32 %1260, ptr %33, align 4
  br label %1270

1261:                                             ; preds = %965
  %1262 = landingpad { ptr, i32 }
          cleanup
  %1263 = extractvalue { ptr, i32 } %1262, 0
  store ptr %1263, ptr %32, align 8
  %1264 = extractvalue { ptr, i32 } %1262, 1
  store i32 %1264, ptr %33, align 4
  br label %1269

1265:                                             ; preds = %966
  %1266 = landingpad { ptr, i32 }
          cleanup
  %1267 = extractvalue { ptr, i32 } %1266, 0
  store ptr %1267, ptr %32, align 8
  %1268 = extractvalue { ptr, i32 } %1266, 1
  store i32 %1268, ptr %33, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %122) #7
  br label %1269

1269:                                             ; preds = %1265, %1261
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %123) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %123) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %122) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %120) #7
  br label %1270

1270:                                             ; preds = %1269, %1257
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %121) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %121) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %120) #7
  br label %1776

1271:                                             ; preds = %1056, %1051
  %1272 = landingpad { ptr, i32 }
          cleanup
  %1273 = extractvalue { ptr, i32 } %1272, 0
  store ptr %1273, ptr %32, align 8
  %1274 = extractvalue { ptr, i32 } %1272, 1
  store i32 %1274, ptr %33, align 4
  br label %1294

1275:                                             ; preds = %1062, %1057
  %1276 = landingpad { ptr, i32 }
          cleanup
  %1277 = extractvalue { ptr, i32 } %1276, 0
  store ptr %1277, ptr %32, align 8
  %1278 = extractvalue { ptr, i32 } %1276, 1
  store i32 %1278, ptr %33, align 4
  br label %1293

1279:                                             ; preds = %1068, %1063
  %1280 = landingpad { ptr, i32 }
          cleanup
  %1281 = extractvalue { ptr, i32 } %1280, 0
  store ptr %1281, ptr %32, align 8
  %1282 = extractvalue { ptr, i32 } %1280, 1
  store i32 %1282, ptr %33, align 4
  br label %1292

1283:                                             ; preds = %1074, %1069
  %1284 = landingpad { ptr, i32 }
          cleanup
  %1285 = extractvalue { ptr, i32 } %1284, 0
  store ptr %1285, ptr %32, align 8
  %1286 = extractvalue { ptr, i32 } %1284, 1
  store i32 %1286, ptr %33, align 4
  br label %1291

1287:                                             ; preds = %1075
  %1288 = landingpad { ptr, i32 }
          cleanup
  %1289 = extractvalue { ptr, i32 } %1288, 0
  store ptr %1289, ptr %32, align 8
  %1290 = extractvalue { ptr, i32 } %1288, 1
  store i32 %1290, ptr %33, align 4
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %128) #7
  br label %1291

1291:                                             ; preds = %1287, %1283
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %127) #7
  br label %1292

1292:                                             ; preds = %1291, %1279
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %126) #7
  br label %1293

1293:                                             ; preds = %1292, %1275
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %125) #7
  br label %1294

1294:                                             ; preds = %1293, %1271
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %124) #7
  br label %1776

1295:                                             ; preds = %1082
  call void @llvm.lifetime.start.p0(i64 8, ptr %129) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %130) #7
  invoke void @_ZNK10SimTKIpopt8IpoptNLP11NLP_scalingEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.16") align 8 %130, ptr noundef nonnull align 8 dereferenceable(24) %177)
          to label %1296 unwind label %1337

1296:                                             ; preds = %1295
  %1297 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %130)
          to label %1298 unwind label %1341

1298:                                             ; preds = %1296
  call void @llvm.lifetime.start.p0(i64 8, ptr %131) #7
  store double 1.000000e+00, ptr %131, align 8, !tbaa !38
  %1299 = load ptr, ptr %1297, align 8, !tbaa !33
  %1300 = getelementptr inbounds ptr, ptr %1299, i64 2
  %1301 = load ptr, ptr %1300, align 8
  %1302 = invoke noundef double %1301(ptr noundef nonnull align 8 dereferenceable(24) %1297, ptr noundef nonnull align 8 dereferenceable(8) %131)
          to label %1303 unwind label %1345

1303:                                             ; preds = %1298
  call void @llvm.lifetime.end.p0(i64 8, ptr %131) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %130) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %130) #7
  store double %1302, ptr %129, align 8, !tbaa !38
  %1304 = load i8, ptr %17, align 1, !tbaa !9, !range !31, !noundef !32
  %1305 = trunc i8 %1304 to i1
  br i1 %1305, label %1306, label %1403

1306:                                             ; preds = %1303
  %1307 = load ptr, ptr %16, align 8, !tbaa !5
  %1308 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1307)
          to label %1309 unwind label %1351

1309:                                             ; preds = %1306
  %1310 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 1
  %1311 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_10JournalistEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %1310)
          to label %1312 unwind label %1351

1312:                                             ; preds = %1309
  call void @llvm.lifetime.start.p0(i64 32, ptr %132) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %133) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %133) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %132, ptr noundef @.str.49, ptr noundef nonnull align 1 dereferenceable(1) %133)
          to label %1313 unwind label %1355

1313:                                             ; preds = %1312
  call void @llvm.lifetime.start.p0(i64 32, ptr %134) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %135) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %135) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %134, ptr noundef @.str.41, ptr noundef nonnull align 1 dereferenceable(1) %135)
          to label %1314 unwind label %1359

1314:                                             ; preds = %1313
  invoke void @_ZNK10SimTKIpopt6Vector5PrintERKNS_10JournalistENS_13EJournalLevelENS_16EJournalCategoryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSD_(ptr noundef nonnull align 8 dereferenceable(205) %1308, ptr noundef nonnull align 8 dereferenceable(40) %1311, i32 noundef 7, i32 noundef 3, ptr noundef nonnull align 8 dereferenceable(32) %132, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(32) %134)
          to label %1315 unwind label %1363

1315:                                             ; preds = %1314
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %134) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %135) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %135) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %134) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %132) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %133) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %133) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %132) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %136) #7
  invoke void @_ZNK10SimTKIpopt8IpoptNLP11NLP_scalingEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.16") align 8 %136, ptr noundef nonnull align 8 dereferenceable(24) %177)
          to label %1316 unwind label %1369

1316:                                             ; preds = %1315
  %1317 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %136)
          to label %1318 unwind label %1373

1318:                                             ; preds = %1316
  %1319 = load ptr, ptr %1317, align 8, !tbaa !33
  %1320 = getelementptr inbounds ptr, ptr %1319, i64 23
  %1321 = load ptr, ptr %1320, align 8
  %1322 = invoke noundef zeroext i1 %1321(ptr noundef nonnull align 8 dereferenceable(24) %1317)
          to label %1323 unwind label %1373

1323:                                             ; preds = %1318
  call void @_ZN10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %136) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %136) #7
  br i1 %1322, label %1324, label %1402

1324:                                             ; preds = %1323
  call void @llvm.lifetime.start.p0(i64 8, ptr %137) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %138) #7
  invoke void @_ZNK10SimTKIpopt8IpoptNLP11NLP_scalingEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.16") align 8 %138, ptr noundef nonnull align 8 dereferenceable(24) %177)
          to label %1325 unwind label %1378

1325:                                             ; preds = %1324
  %1326 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %138)
          to label %1327 unwind label %1382

1327:                                             ; preds = %1325
  call void @llvm.lifetime.start.p0(i64 8, ptr %139) #7
  %1328 = load ptr, ptr %16, align 8, !tbaa !5
  invoke void @_ZN10SimTKIpopt8ConstPtrINS_6VectorEEENS_8SmartPtrIKT_EERKNS2_IS3_EE(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.23") align 8 %139, ptr noundef nonnull align 8 dereferenceable(8) %1328)
          to label %1329 unwind label %1386

1329:                                             ; preds = %1327
  %1330 = load ptr, ptr %1326, align 8, !tbaa !33
  %1331 = getelementptr inbounds ptr, ptr %1330, i64 4
  %1332 = load ptr, ptr %1331, align 8
  invoke void %1332(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.55") align 8 %137, ptr noundef nonnull align 8 dereferenceable(24) %1326, ptr noundef nonnull align 8 dereferenceable(8) %139)
          to label %1333 unwind label %1390

1333:                                             ; preds = %1329
  %1334 = load ptr, ptr %16, align 8, !tbaa !5
  %1335 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSERKS2_(ptr noundef nonnull align 8 dereferenceable(8) %1334, ptr noundef nonnull align 8 dereferenceable(8) %137)
          to label %1336 unwind label %1394

1336:                                             ; preds = %1333
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %137) #7
  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 @_ZN10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %138) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %138) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %137) #7
  br label %1402

1337:                                             ; preds = %1295
  %1338 = landingpad { ptr, i32 }
          cleanup
  %1339 = extractvalue { ptr, i32 } %1338, 0
  store ptr %1339, ptr %32, align 8
  %1340 = extractvalue { ptr, i32 } %1338, 1
  store i32 %1340, ptr %33, align 4
  br label %1350

1341:                                             ; preds = %1296
  %1342 = landingpad { ptr, i32 }
          cleanup
  %1343 = extractvalue { ptr, i32 } %1342, 0
  store ptr %1343, ptr %32, align 8
  %1344 = extractvalue { ptr, i32 } %1342, 1
  store i32 %1344, ptr %33, align 4
  br label %1349

1345:                                             ; preds = %1298
  %1346 = landingpad { ptr, i32 }
          cleanup
  %1347 = extractvalue { ptr, i32 } %1346, 0
  store ptr %1347, ptr %32, align 8
  %1348 = extractvalue { ptr, i32 } %1346, 1
  store i32 %1348, ptr %33, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %131) #7
  br label %1349

1349:                                             ; preds = %1345, %1341
  call void @_ZN10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %130) #7
  br label %1350

1350:                                             ; preds = %1349, %1337
  call void @llvm.lifetime.end.p0(i64 8, ptr %130) #7
  br label %1774

1351:                                             ; preds = %1769, %1766, %1685, %1682, %1675, %1672, %1591, %1588, %1581, %1578, %1500, %1497, %1490, %1487, %1409, %1406, %1309, %1306
  %1352 = landingpad { ptr, i32 }
          cleanup
  %1353 = extractvalue { ptr, i32 } %1352, 0
  store ptr %1353, ptr %32, align 8
  %1354 = extractvalue { ptr, i32 } %1352, 1
  store i32 %1354, ptr %33, align 4
  br label %1774

1355:                                             ; preds = %1312
  %1356 = landingpad { ptr, i32 }
          cleanup
  %1357 = extractvalue { ptr, i32 } %1356, 0
  store ptr %1357, ptr %32, align 8
  %1358 = extractvalue { ptr, i32 } %1356, 1
  store i32 %1358, ptr %33, align 4
  br label %1368

1359:                                             ; preds = %1313
  %1360 = landingpad { ptr, i32 }
          cleanup
  %1361 = extractvalue { ptr, i32 } %1360, 0
  store ptr %1361, ptr %32, align 8
  %1362 = extractvalue { ptr, i32 } %1360, 1
  store i32 %1362, ptr %33, align 4
  br label %1367

1363:                                             ; preds = %1314
  %1364 = landingpad { ptr, i32 }
          cleanup
  %1365 = extractvalue { ptr, i32 } %1364, 0
  store ptr %1365, ptr %32, align 8
  %1366 = extractvalue { ptr, i32 } %1364, 1
  store i32 %1366, ptr %33, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %134) #7
  br label %1367

1367:                                             ; preds = %1363, %1359
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %135) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %135) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %134) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %132) #7
  br label %1368

1368:                                             ; preds = %1367, %1355
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %133) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %133) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %132) #7
  br label %1774

1369:                                             ; preds = %1315
  %1370 = landingpad { ptr, i32 }
          cleanup
  %1371 = extractvalue { ptr, i32 } %1370, 0
  store ptr %1371, ptr %32, align 8
  %1372 = extractvalue { ptr, i32 } %1370, 1
  store i32 %1372, ptr %33, align 4
  br label %1377

1373:                                             ; preds = %1318, %1316
  %1374 = landingpad { ptr, i32 }
          cleanup
  %1375 = extractvalue { ptr, i32 } %1374, 0
  store ptr %1375, ptr %32, align 8
  %1376 = extractvalue { ptr, i32 } %1374, 1
  store i32 %1376, ptr %33, align 4
  call void @_ZN10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %136) #7
  br label %1377

1377:                                             ; preds = %1373, %1369
  call void @llvm.lifetime.end.p0(i64 8, ptr %136) #7
  br label %1774

1378:                                             ; preds = %1324
  %1379 = landingpad { ptr, i32 }
          cleanup
  %1380 = extractvalue { ptr, i32 } %1379, 0
  store ptr %1380, ptr %32, align 8
  %1381 = extractvalue { ptr, i32 } %1379, 1
  store i32 %1381, ptr %33, align 4
  br label %1401

1382:                                             ; preds = %1325
  %1383 = landingpad { ptr, i32 }
          cleanup
  %1384 = extractvalue { ptr, i32 } %1383, 0
  store ptr %1384, ptr %32, align 8
  %1385 = extractvalue { ptr, i32 } %1383, 1
  store i32 %1385, ptr %33, align 4
  br label %1400

1386:                                             ; preds = %1327
  %1387 = landingpad { ptr, i32 }
          cleanup
  %1388 = extractvalue { ptr, i32 } %1387, 0
  store ptr %1388, ptr %32, align 8
  %1389 = extractvalue { ptr, i32 } %1387, 1
  store i32 %1389, ptr %33, align 4
  br label %1399

1390:                                             ; preds = %1329
  %1391 = landingpad { ptr, i32 }
          cleanup
  %1392 = extractvalue { ptr, i32 } %1391, 0
  store ptr %1392, ptr %32, align 8
  %1393 = extractvalue { ptr, i32 } %1391, 1
  store i32 %1393, ptr %33, align 4
  br label %1398

1394:                                             ; preds = %1333
  %1395 = landingpad { ptr, i32 }
          cleanup
  %1396 = extractvalue { ptr, i32 } %1395, 0
  store ptr %1396, ptr %32, align 8
  %1397 = extractvalue { ptr, i32 } %1395, 1
  store i32 %1397, ptr %33, align 4
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %137) #7
  br label %1398

1398:                                             ; preds = %1394, %1390
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %139) #7
  br label %1399

1399:                                             ; preds = %1398, %1386
  call void @llvm.lifetime.end.p0(i64 8, ptr %139) #7
  br label %1400

1400:                                             ; preds = %1399, %1382
  call void @_ZN10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %138) #7
  br label %1401

1401:                                             ; preds = %1400, %1378
  call void @llvm.lifetime.end.p0(i64 8, ptr %138) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %137) #7
  br label %1774

1402:                                             ; preds = %1336, %1323
  br label %1403

1403:                                             ; preds = %1402, %1303
  %1404 = load i8, ptr %19, align 1, !tbaa !9, !range !31, !noundef !32
  %1405 = trunc i8 %1404 to i1
  br i1 %1405, label %1406, label %1494

1406:                                             ; preds = %1403
  %1407 = load ptr, ptr %18, align 8, !tbaa !5
  %1408 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1407)
          to label %1409 unwind label %1351

1409:                                             ; preds = %1406
  %1410 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 1
  %1411 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_10JournalistEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %1410)
          to label %1412 unwind label %1351

1412:                                             ; preds = %1409
  call void @llvm.lifetime.start.p0(i64 32, ptr %140) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %141) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %141) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %140, ptr noundef @.str.50, ptr noundef nonnull align 1 dereferenceable(1) %141)
          to label %1413 unwind label %1437

1413:                                             ; preds = %1412
  call void @llvm.lifetime.start.p0(i64 32, ptr %142) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %143) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %143) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %142, ptr noundef @.str.41, ptr noundef nonnull align 1 dereferenceable(1) %143)
          to label %1414 unwind label %1441

1414:                                             ; preds = %1413
  invoke void @_ZNK10SimTKIpopt6Vector5PrintERKNS_10JournalistENS_13EJournalLevelENS_16EJournalCategoryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSD_(ptr noundef nonnull align 8 dereferenceable(205) %1408, ptr noundef nonnull align 8 dereferenceable(40) %1411, i32 noundef 7, i32 noundef 3, ptr noundef nonnull align 8 dereferenceable(32) %140, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(32) %142)
          to label %1415 unwind label %1445

1415:                                             ; preds = %1414
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %142) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %143) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %143) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %142) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %140) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %141) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %141) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %140) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %144) #7
  invoke void @_ZNK10SimTKIpopt8IpoptNLP11NLP_scalingEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.16") align 8 %144, ptr noundef nonnull align 8 dereferenceable(24) %177)
          to label %1416 unwind label %1451

1416:                                             ; preds = %1415
  %1417 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %144)
          to label %1418 unwind label %1455

1418:                                             ; preds = %1416
  %1419 = load ptr, ptr %1417, align 8, !tbaa !33
  %1420 = getelementptr inbounds ptr, ptr %1419, i64 24
  %1421 = load ptr, ptr %1420, align 8
  %1422 = invoke noundef zeroext i1 %1421(ptr noundef nonnull align 8 dereferenceable(24) %1417)
          to label %1423 unwind label %1455

1423:                                             ; preds = %1418
  call void @_ZN10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %144) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %144) #7
  br i1 %1422, label %1424, label %1484

1424:                                             ; preds = %1423
  call void @llvm.lifetime.start.p0(i64 8, ptr %145) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %146) #7
  invoke void @_ZNK10SimTKIpopt8IpoptNLP11NLP_scalingEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.16") align 8 %146, ptr noundef nonnull align 8 dereferenceable(24) %177)
          to label %1425 unwind label %1460

1425:                                             ; preds = %1424
  %1426 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %146)
          to label %1427 unwind label %1464

1427:                                             ; preds = %1425
  call void @llvm.lifetime.start.p0(i64 8, ptr %147) #7
  %1428 = load ptr, ptr %18, align 8, !tbaa !5
  invoke void @_ZN10SimTKIpopt8ConstPtrINS_6VectorEEENS_8SmartPtrIKT_EERKNS2_IS3_EE(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.23") align 8 %147, ptr noundef nonnull align 8 dereferenceable(8) %1428)
          to label %1429 unwind label %1468

1429:                                             ; preds = %1427
  %1430 = load ptr, ptr %1426, align 8, !tbaa !33
  %1431 = getelementptr inbounds ptr, ptr %1430, i64 11
  %1432 = load ptr, ptr %1431, align 8
  invoke void %1432(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.55") align 8 %145, ptr noundef nonnull align 8 dereferenceable(24) %1426, ptr noundef nonnull align 8 dereferenceable(8) %147)
          to label %1433 unwind label %1472

1433:                                             ; preds = %1429
  %1434 = load ptr, ptr %18, align 8, !tbaa !5
  %1435 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSERKS2_(ptr noundef nonnull align 8 dereferenceable(8) %1434, ptr noundef nonnull align 8 dereferenceable(8) %145)
          to label %1436 unwind label %1476

1436:                                             ; preds = %1433
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %145) #7
  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 @_ZN10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %146) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %146) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %145) #7
  br label %1484

1437:                                             ; preds = %1412
  %1438 = landingpad { ptr, i32 }
          cleanup
  %1439 = extractvalue { ptr, i32 } %1438, 0
  store ptr %1439, ptr %32, align 8
  %1440 = extractvalue { ptr, i32 } %1438, 1
  store i32 %1440, ptr %33, align 4
  br label %1450

1441:                                             ; preds = %1413
  %1442 = landingpad { ptr, i32 }
          cleanup
  %1443 = extractvalue { ptr, i32 } %1442, 0
  store ptr %1443, ptr %32, align 8
  %1444 = extractvalue { ptr, i32 } %1442, 1
  store i32 %1444, ptr %33, align 4
  br label %1449

1445:                                             ; preds = %1414
  %1446 = landingpad { ptr, i32 }
          cleanup
  %1447 = extractvalue { ptr, i32 } %1446, 0
  store ptr %1447, ptr %32, align 8
  %1448 = extractvalue { ptr, i32 } %1446, 1
  store i32 %1448, ptr %33, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %142) #7
  br label %1449

1449:                                             ; preds = %1445, %1441
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %143) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %143) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %142) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %140) #7
  br label %1450

1450:                                             ; preds = %1449, %1437
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %141) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %141) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %140) #7
  br label %1774

1451:                                             ; preds = %1415
  %1452 = landingpad { ptr, i32 }
          cleanup
  %1453 = extractvalue { ptr, i32 } %1452, 0
  store ptr %1453, ptr %32, align 8
  %1454 = extractvalue { ptr, i32 } %1452, 1
  store i32 %1454, ptr %33, align 4
  br label %1459

1455:                                             ; preds = %1418, %1416
  %1456 = landingpad { ptr, i32 }
          cleanup
  %1457 = extractvalue { ptr, i32 } %1456, 0
  store ptr %1457, ptr %32, align 8
  %1458 = extractvalue { ptr, i32 } %1456, 1
  store i32 %1458, ptr %33, align 4
  call void @_ZN10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %144) #7
  br label %1459

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

1460:                                             ; preds = %1424
  %1461 = landingpad { ptr, i32 }
          cleanup
  %1462 = extractvalue { ptr, i32 } %1461, 0
  store ptr %1462, ptr %32, align 8
  %1463 = extractvalue { ptr, i32 } %1461, 1
  store i32 %1463, ptr %33, align 4
  br label %1483

1464:                                             ; preds = %1425
  %1465 = landingpad { ptr, i32 }
          cleanup
  %1466 = extractvalue { ptr, i32 } %1465, 0
  store ptr %1466, ptr %32, align 8
  %1467 = extractvalue { ptr, i32 } %1465, 1
  store i32 %1467, ptr %33, align 4
  br label %1482

1468:                                             ; preds = %1427
  %1469 = landingpad { ptr, i32 }
          cleanup
  %1470 = extractvalue { ptr, i32 } %1469, 0
  store ptr %1470, ptr %32, align 8
  %1471 = extractvalue { ptr, i32 } %1469, 1
  store i32 %1471, ptr %33, align 4
  br label %1481

1472:                                             ; preds = %1429
  %1473 = landingpad { ptr, i32 }
          cleanup
  %1474 = extractvalue { ptr, i32 } %1473, 0
  store ptr %1474, ptr %32, align 8
  %1475 = extractvalue { ptr, i32 } %1473, 1
  store i32 %1475, ptr %33, align 4
  br label %1480

1476:                                             ; preds = %1433
  %1477 = landingpad { ptr, i32 }
          cleanup
  %1478 = extractvalue { ptr, i32 } %1477, 0
  store ptr %1478, ptr %32, align 8
  %1479 = extractvalue { ptr, i32 } %1477, 1
  store i32 %1479, ptr %33, align 4
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %145) #7
  br label %1480

1480:                                             ; preds = %1476, %1472
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %147) #7
  br label %1481

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

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

1483:                                             ; preds = %1482, %1460
  call void @llvm.lifetime.end.p0(i64 8, ptr %146) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %145) #7
  br label %1774

1484:                                             ; preds = %1436, %1423
  %1485 = load double, ptr %129, align 8, !tbaa !38
  %1486 = fcmp une double %1485, 1.000000e+00
  br i1 %1486, label %1487, label %1493

1487:                                             ; preds = %1484
  %1488 = load ptr, ptr %18, align 8, !tbaa !5
  %1489 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1488)
          to label %1490 unwind label %1351

1490:                                             ; preds = %1487
  %1491 = load double, ptr %129, align 8, !tbaa !38
  invoke void @_ZN10SimTKIpopt6Vector4ScalEd(ptr noundef nonnull align 8 dereferenceable(205) %1489, double noundef %1491)
          to label %1492 unwind label %1351

1492:                                             ; preds = %1490
  br label %1493

1493:                                             ; preds = %1492, %1484
  br label %1494

1494:                                             ; preds = %1493, %1403
  %1495 = load i8, ptr %21, align 1, !tbaa !9, !range !31, !noundef !32
  %1496 = trunc i8 %1495 to i1
  br i1 %1496, label %1497, label %1585

1497:                                             ; preds = %1494
  %1498 = load ptr, ptr %20, align 8, !tbaa !5
  %1499 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1498)
          to label %1500 unwind label %1351

1500:                                             ; preds = %1497
  %1501 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 1
  %1502 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_10JournalistEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %1501)
          to label %1503 unwind label %1351

1503:                                             ; preds = %1500
  call void @llvm.lifetime.start.p0(i64 32, ptr %148) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %149) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %149) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %148, ptr noundef @.str.51, ptr noundef nonnull align 1 dereferenceable(1) %149)
          to label %1504 unwind label %1528

1504:                                             ; preds = %1503
  call void @llvm.lifetime.start.p0(i64 32, ptr %150) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %151) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %151) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %150, ptr noundef @.str.41, ptr noundef nonnull align 1 dereferenceable(1) %151)
          to label %1505 unwind label %1532

1505:                                             ; preds = %1504
  invoke void @_ZNK10SimTKIpopt6Vector5PrintERKNS_10JournalistENS_13EJournalLevelENS_16EJournalCategoryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSD_(ptr noundef nonnull align 8 dereferenceable(205) %1499, ptr noundef nonnull align 8 dereferenceable(40) %1502, i32 noundef 7, i32 noundef 3, ptr noundef nonnull align 8 dereferenceable(32) %148, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(32) %150)
          to label %1506 unwind label %1536

1506:                                             ; preds = %1505
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %150) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %151) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %151) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %150) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %148) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %149) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %149) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %148) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %152) #7
  invoke void @_ZNK10SimTKIpopt8IpoptNLP11NLP_scalingEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.16") align 8 %152, ptr noundef nonnull align 8 dereferenceable(24) %177)
          to label %1507 unwind label %1542

1507:                                             ; preds = %1506
  %1508 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %152)
          to label %1509 unwind label %1546

1509:                                             ; preds = %1507
  %1510 = load ptr, ptr %1508, align 8, !tbaa !33
  %1511 = getelementptr inbounds ptr, ptr %1510, i64 25
  %1512 = load ptr, ptr %1511, align 8
  %1513 = invoke noundef zeroext i1 %1512(ptr noundef nonnull align 8 dereferenceable(24) %1508)
          to label %1514 unwind label %1546

1514:                                             ; preds = %1509
  call void @_ZN10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %152) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %152) #7
  br i1 %1513, label %1515, label %1575

1515:                                             ; preds = %1514
  call void @llvm.lifetime.start.p0(i64 8, ptr %153) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %154) #7
  invoke void @_ZNK10SimTKIpopt8IpoptNLP11NLP_scalingEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.16") align 8 %154, ptr noundef nonnull align 8 dereferenceable(24) %177)
          to label %1516 unwind label %1551

1516:                                             ; preds = %1515
  %1517 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %154)
          to label %1518 unwind label %1555

1518:                                             ; preds = %1516
  call void @llvm.lifetime.start.p0(i64 8, ptr %155) #7
  %1519 = load ptr, ptr %20, align 8, !tbaa !5
  invoke void @_ZN10SimTKIpopt8ConstPtrINS_6VectorEEENS_8SmartPtrIKT_EERKNS2_IS3_EE(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.23") align 8 %155, ptr noundef nonnull align 8 dereferenceable(8) %1519)
          to label %1520 unwind label %1559

1520:                                             ; preds = %1518
  %1521 = load ptr, ptr %1517, align 8, !tbaa !33
  %1522 = getelementptr inbounds ptr, ptr %1521, i64 15
  %1523 = load ptr, ptr %1522, align 8
  invoke void %1523(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.55") align 8 %153, ptr noundef nonnull align 8 dereferenceable(24) %1517, ptr noundef nonnull align 8 dereferenceable(8) %155)
          to label %1524 unwind label %1563

1524:                                             ; preds = %1520
  %1525 = load ptr, ptr %20, align 8, !tbaa !5
  %1526 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSERKS2_(ptr noundef nonnull align 8 dereferenceable(8) %1525, ptr noundef nonnull align 8 dereferenceable(8) %153)
          to label %1527 unwind label %1567

1527:                                             ; preds = %1524
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %153) #7
  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 @_ZN10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %154) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %154) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %153) #7
  br label %1575

1528:                                             ; preds = %1503
  %1529 = landingpad { ptr, i32 }
          cleanup
  %1530 = extractvalue { ptr, i32 } %1529, 0
  store ptr %1530, ptr %32, align 8
  %1531 = extractvalue { ptr, i32 } %1529, 1
  store i32 %1531, ptr %33, align 4
  br label %1541

1532:                                             ; preds = %1504
  %1533 = landingpad { ptr, i32 }
          cleanup
  %1534 = extractvalue { ptr, i32 } %1533, 0
  store ptr %1534, ptr %32, align 8
  %1535 = extractvalue { ptr, i32 } %1533, 1
  store i32 %1535, ptr %33, align 4
  br label %1540

1536:                                             ; preds = %1505
  %1537 = landingpad { ptr, i32 }
          cleanup
  %1538 = extractvalue { ptr, i32 } %1537, 0
  store ptr %1538, ptr %32, align 8
  %1539 = extractvalue { ptr, i32 } %1537, 1
  store i32 %1539, ptr %33, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %150) #7
  br label %1540

1540:                                             ; preds = %1536, %1532
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %151) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %151) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %150) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %148) #7
  br label %1541

1541:                                             ; preds = %1540, %1528
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %149) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %149) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %148) #7
  br label %1774

1542:                                             ; preds = %1506
  %1543 = landingpad { ptr, i32 }
          cleanup
  %1544 = extractvalue { ptr, i32 } %1543, 0
  store ptr %1544, ptr %32, align 8
  %1545 = extractvalue { ptr, i32 } %1543, 1
  store i32 %1545, ptr %33, align 4
  br label %1550

1546:                                             ; preds = %1509, %1507
  %1547 = landingpad { ptr, i32 }
          cleanup
  %1548 = extractvalue { ptr, i32 } %1547, 0
  store ptr %1548, ptr %32, align 8
  %1549 = extractvalue { ptr, i32 } %1547, 1
  store i32 %1549, ptr %33, align 4
  call void @_ZN10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %152) #7
  br label %1550

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

1551:                                             ; preds = %1515
  %1552 = landingpad { ptr, i32 }
          cleanup
  %1553 = extractvalue { ptr, i32 } %1552, 0
  store ptr %1553, ptr %32, align 8
  %1554 = extractvalue { ptr, i32 } %1552, 1
  store i32 %1554, ptr %33, align 4
  br label %1574

1555:                                             ; preds = %1516
  %1556 = landingpad { ptr, i32 }
          cleanup
  %1557 = extractvalue { ptr, i32 } %1556, 0
  store ptr %1557, ptr %32, align 8
  %1558 = extractvalue { ptr, i32 } %1556, 1
  store i32 %1558, ptr %33, align 4
  br label %1573

1559:                                             ; preds = %1518
  %1560 = landingpad { ptr, i32 }
          cleanup
  %1561 = extractvalue { ptr, i32 } %1560, 0
  store ptr %1561, ptr %32, align 8
  %1562 = extractvalue { ptr, i32 } %1560, 1
  store i32 %1562, ptr %33, align 4
  br label %1572

1563:                                             ; preds = %1520
  %1564 = landingpad { ptr, i32 }
          cleanup
  %1565 = extractvalue { ptr, i32 } %1564, 0
  store ptr %1565, ptr %32, align 8
  %1566 = extractvalue { ptr, i32 } %1564, 1
  store i32 %1566, ptr %33, align 4
  br label %1571

1567:                                             ; preds = %1524
  %1568 = landingpad { ptr, i32 }
          cleanup
  %1569 = extractvalue { ptr, i32 } %1568, 0
  store ptr %1569, ptr %32, align 8
  %1570 = extractvalue { ptr, i32 } %1568, 1
  store i32 %1570, ptr %33, align 4
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %153) #7
  br label %1571

1571:                                             ; preds = %1567, %1563
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %155) #7
  br label %1572

1572:                                             ; preds = %1571, %1559
  call void @llvm.lifetime.end.p0(i64 8, ptr %155) #7
  br label %1573

1573:                                             ; preds = %1572, %1555
  call void @_ZN10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %154) #7
  br label %1574

1574:                                             ; preds = %1573, %1551
  call void @llvm.lifetime.end.p0(i64 8, ptr %154) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %153) #7
  br label %1774

1575:                                             ; preds = %1527, %1514
  %1576 = load double, ptr %129, align 8, !tbaa !38
  %1577 = fcmp une double %1576, 1.000000e+00
  br i1 %1577, label %1578, label %1584

1578:                                             ; preds = %1575
  %1579 = load ptr, ptr %20, align 8, !tbaa !5
  %1580 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1579)
          to label %1581 unwind label %1351

1581:                                             ; preds = %1578
  %1582 = load double, ptr %129, align 8, !tbaa !38
  invoke void @_ZN10SimTKIpopt6Vector4ScalEd(ptr noundef nonnull align 8 dereferenceable(205) %1580, double noundef %1582)
          to label %1583 unwind label %1351

1583:                                             ; preds = %1581
  br label %1584

1584:                                             ; preds = %1583, %1575
  br label %1585

1585:                                             ; preds = %1584, %1494
  %1586 = load i8, ptr %23, align 1, !tbaa !9, !range !31, !noundef !32
  %1587 = trunc i8 %1586 to i1
  br i1 %1587, label %1588, label %1679

1588:                                             ; preds = %1585
  %1589 = load ptr, ptr %22, align 8, !tbaa !5
  %1590 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1589)
          to label %1591 unwind label %1351

1591:                                             ; preds = %1588
  %1592 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 1
  %1593 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_10JournalistEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %1592)
          to label %1594 unwind label %1351

1594:                                             ; preds = %1591
  call void @llvm.lifetime.start.p0(i64 32, ptr %156) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %157) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %157) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %156, ptr noundef @.str.52, ptr noundef nonnull align 1 dereferenceable(1) %157)
          to label %1595 unwind label %1622

1595:                                             ; preds = %1594
  call void @llvm.lifetime.start.p0(i64 32, ptr %158) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %159) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %159) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %158, ptr noundef @.str.41, ptr noundef nonnull align 1 dereferenceable(1) %159)
          to label %1596 unwind label %1626

1596:                                             ; preds = %1595
  invoke void @_ZNK10SimTKIpopt6Vector5PrintERKNS_10JournalistENS_13EJournalLevelENS_16EJournalCategoryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSD_(ptr noundef nonnull align 8 dereferenceable(205) %1590, ptr noundef nonnull align 8 dereferenceable(40) %1593, i32 noundef 7, i32 noundef 3, ptr noundef nonnull align 8 dereferenceable(32) %156, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(32) %158)
          to label %1597 unwind label %1630

1597:                                             ; preds = %1596
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %158) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %159) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %159) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %158) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %156) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %157) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %157) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %156) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %160) #7
  invoke void @_ZNK10SimTKIpopt8IpoptNLP11NLP_scalingEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.16") align 8 %160, ptr noundef nonnull align 8 dereferenceable(24) %177)
          to label %1598 unwind label %1636

1598:                                             ; preds = %1597
  %1599 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %160)
          to label %1600 unwind label %1640

1600:                                             ; preds = %1598
  %1601 = load ptr, ptr %1599, align 8, !tbaa !33
  %1602 = getelementptr inbounds ptr, ptr %1601, i64 23
  %1603 = load ptr, ptr %1602, align 8
  %1604 = invoke noundef zeroext i1 %1603(ptr noundef nonnull align 8 dereferenceable(24) %1599)
          to label %1605 unwind label %1640

1605:                                             ; preds = %1600
  call void @_ZN10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %160) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %160) #7
  br i1 %1604, label %1606, label %1669

1606:                                             ; preds = %1605
  call void @llvm.lifetime.start.p0(i64 8, ptr %161) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %162) #7
  invoke void @_ZNK10SimTKIpopt8IpoptNLP11NLP_scalingEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.16") align 8 %162, ptr noundef nonnull align 8 dereferenceable(24) %177)
          to label %1607 unwind label %1645

1607:                                             ; preds = %1606
  %1608 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %162)
          to label %1609 unwind label %1649

1609:                                             ; preds = %1607
  %1610 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 28
  %1611 = invoke noundef nonnull align 8 dereferenceable(69) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6MatrixEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %1610)
          to label %1612 unwind label %1649

1612:                                             ; preds = %1609
  call void @llvm.lifetime.start.p0(i64 8, ptr %163) #7
  %1613 = load ptr, ptr %22, align 8, !tbaa !5
  invoke void @_ZN10SimTKIpopt8ConstPtrINS_6VectorEEENS_8SmartPtrIKT_EERKNS2_IS3_EE(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.23") align 8 %163, ptr noundef nonnull align 8 dereferenceable(8) %1613)
          to label %1614 unwind label %1653

1614:                                             ; preds = %1612
  %1615 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 3
  %1616 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %1615)
          to label %1617 unwind label %1657

1617:                                             ; preds = %1614
  invoke void @_ZN10SimTKIpopt16NLPScalingObject34apply_vector_scaling_x_LU_NonConstERKNS_6MatrixERKNS_8SmartPtrIKNS_6VectorEEERKNS_11VectorSpaceE(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.55") align 8 %161, ptr noundef nonnull align 8 dereferenceable(24) %1608, ptr noundef nonnull align 8 dereferenceable(69) %1611, ptr noundef nonnull align 8 dereferenceable(8) %163, ptr noundef nonnull align 8 dereferenceable(16) %1616)
          to label %1618 unwind label %1657

1618:                                             ; preds = %1617
  %1619 = load ptr, ptr %22, align 8, !tbaa !5
  %1620 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSERKS2_(ptr noundef nonnull align 8 dereferenceable(8) %1619, ptr noundef nonnull align 8 dereferenceable(8) %161)
          to label %1621 unwind label %1661

1621:                                             ; preds = %1618
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %161) #7
  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 @_ZN10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %162) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %162) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %161) #7
  br label %1669

1622:                                             ; preds = %1594
  %1623 = landingpad { ptr, i32 }
          cleanup
  %1624 = extractvalue { ptr, i32 } %1623, 0
  store ptr %1624, ptr %32, align 8
  %1625 = extractvalue { ptr, i32 } %1623, 1
  store i32 %1625, ptr %33, align 4
  br label %1635

1626:                                             ; preds = %1595
  %1627 = landingpad { ptr, i32 }
          cleanup
  %1628 = extractvalue { ptr, i32 } %1627, 0
  store ptr %1628, ptr %32, align 8
  %1629 = extractvalue { ptr, i32 } %1627, 1
  store i32 %1629, ptr %33, align 4
  br label %1634

1630:                                             ; preds = %1596
  %1631 = landingpad { ptr, i32 }
          cleanup
  %1632 = extractvalue { ptr, i32 } %1631, 0
  store ptr %1632, ptr %32, align 8
  %1633 = extractvalue { ptr, i32 } %1631, 1
  store i32 %1633, ptr %33, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %158) #7
  br label %1634

1634:                                             ; preds = %1630, %1626
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %159) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %159) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %158) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %156) #7
  br label %1635

1635:                                             ; preds = %1634, %1622
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %157) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %157) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %156) #7
  br label %1774

1636:                                             ; preds = %1597
  %1637 = landingpad { ptr, i32 }
          cleanup
  %1638 = extractvalue { ptr, i32 } %1637, 0
  store ptr %1638, ptr %32, align 8
  %1639 = extractvalue { ptr, i32 } %1637, 1
  store i32 %1639, ptr %33, align 4
  br label %1644

1640:                                             ; preds = %1600, %1598
  %1641 = landingpad { ptr, i32 }
          cleanup
  %1642 = extractvalue { ptr, i32 } %1641, 0
  store ptr %1642, ptr %32, align 8
  %1643 = extractvalue { ptr, i32 } %1641, 1
  store i32 %1643, ptr %33, align 4
  call void @_ZN10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %160) #7
  br label %1644

1644:                                             ; preds = %1640, %1636
  call void @llvm.lifetime.end.p0(i64 8, ptr %160) #7
  br label %1774

1645:                                             ; preds = %1606
  %1646 = landingpad { ptr, i32 }
          cleanup
  %1647 = extractvalue { ptr, i32 } %1646, 0
  store ptr %1647, ptr %32, align 8
  %1648 = extractvalue { ptr, i32 } %1646, 1
  store i32 %1648, ptr %33, align 4
  br label %1668

1649:                                             ; preds = %1609, %1607
  %1650 = landingpad { ptr, i32 }
          cleanup
  %1651 = extractvalue { ptr, i32 } %1650, 0
  store ptr %1651, ptr %32, align 8
  %1652 = extractvalue { ptr, i32 } %1650, 1
  store i32 %1652, ptr %33, align 4
  br label %1667

1653:                                             ; preds = %1612
  %1654 = landingpad { ptr, i32 }
          cleanup
  %1655 = extractvalue { ptr, i32 } %1654, 0
  store ptr %1655, ptr %32, align 8
  %1656 = extractvalue { ptr, i32 } %1654, 1
  store i32 %1656, ptr %33, align 4
  br label %1666

1657:                                             ; preds = %1617, %1614
  %1658 = landingpad { ptr, i32 }
          cleanup
  %1659 = extractvalue { ptr, i32 } %1658, 0
  store ptr %1659, ptr %32, align 8
  %1660 = extractvalue { ptr, i32 } %1658, 1
  store i32 %1660, ptr %33, align 4
  br label %1665

1661:                                             ; preds = %1618
  %1662 = landingpad { ptr, i32 }
          cleanup
  %1663 = extractvalue { ptr, i32 } %1662, 0
  store ptr %1663, ptr %32, align 8
  %1664 = extractvalue { ptr, i32 } %1662, 1
  store i32 %1664, ptr %33, align 4
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %161) #7
  br label %1665

1665:                                             ; preds = %1661, %1657
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %163) #7
  br label %1666

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

1667:                                             ; preds = %1666, %1649
  call void @_ZN10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %162) #7
  br label %1668

1668:                                             ; preds = %1667, %1645
  call void @llvm.lifetime.end.p0(i64 8, ptr %162) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %161) #7
  br label %1774

1669:                                             ; preds = %1621, %1605
  %1670 = load double, ptr %129, align 8, !tbaa !38
  %1671 = fcmp une double %1670, 1.000000e+00
  br i1 %1671, label %1672, label %1678

1672:                                             ; preds = %1669
  %1673 = load ptr, ptr %22, align 8, !tbaa !5
  %1674 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1673)
          to label %1675 unwind label %1351

1675:                                             ; preds = %1672
  %1676 = load double, ptr %129, align 8, !tbaa !38
  invoke void @_ZN10SimTKIpopt6Vector4ScalEd(ptr noundef nonnull align 8 dereferenceable(205) %1674, double noundef %1676)
          to label %1677 unwind label %1351

1677:                                             ; preds = %1675
  br label %1678

1678:                                             ; preds = %1677, %1669
  br label %1679

1679:                                             ; preds = %1678, %1585
  %1680 = load i8, ptr %25, align 1, !tbaa !9, !range !31, !noundef !32
  %1681 = trunc i8 %1680 to i1
  br i1 %1681, label %1682, label %1773

1682:                                             ; preds = %1679
  %1683 = load ptr, ptr %24, align 8, !tbaa !5
  %1684 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1683)
          to label %1685 unwind label %1351

1685:                                             ; preds = %1682
  %1686 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 1
  %1687 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_10JournalistEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %1686)
          to label %1688 unwind label %1351

1688:                                             ; preds = %1685
  call void @llvm.lifetime.start.p0(i64 32, ptr %164) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %165) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %165) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %164, ptr noundef @.str.53, ptr noundef nonnull align 1 dereferenceable(1) %165)
          to label %1689 unwind label %1716

1689:                                             ; preds = %1688
  call void @llvm.lifetime.start.p0(i64 32, ptr %166) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %167) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %167) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %166, ptr noundef @.str.41, ptr noundef nonnull align 1 dereferenceable(1) %167)
          to label %1690 unwind label %1720

1690:                                             ; preds = %1689
  invoke void @_ZNK10SimTKIpopt6Vector5PrintERKNS_10JournalistENS_13EJournalLevelENS_16EJournalCategoryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSD_(ptr noundef nonnull align 8 dereferenceable(205) %1684, ptr noundef nonnull align 8 dereferenceable(40) %1687, i32 noundef 7, i32 noundef 3, ptr noundef nonnull align 8 dereferenceable(32) %164, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(32) %166)
          to label %1691 unwind label %1724

1691:                                             ; preds = %1690
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %166) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %167) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %167) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %166) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %164) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %165) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %165) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %164) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %168) #7
  invoke void @_ZNK10SimTKIpopt8IpoptNLP11NLP_scalingEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.16") align 8 %168, ptr noundef nonnull align 8 dereferenceable(24) %177)
          to label %1692 unwind label %1730

1692:                                             ; preds = %1691
  %1693 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %168)
          to label %1694 unwind label %1734

1694:                                             ; preds = %1692
  %1695 = load ptr, ptr %1693, align 8, !tbaa !33
  %1696 = getelementptr inbounds ptr, ptr %1695, i64 23
  %1697 = load ptr, ptr %1696, align 8
  %1698 = invoke noundef zeroext i1 %1697(ptr noundef nonnull align 8 dereferenceable(24) %1693)
          to label %1699 unwind label %1734

1699:                                             ; preds = %1694
  call void @_ZN10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %168) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %168) #7
  br i1 %1698, label %1700, label %1763

1700:                                             ; preds = %1699
  call void @llvm.lifetime.start.p0(i64 8, ptr %169) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %170) #7
  invoke void @_ZNK10SimTKIpopt8IpoptNLP11NLP_scalingEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.16") align 8 %170, ptr noundef nonnull align 8 dereferenceable(24) %177)
          to label %1701 unwind label %1739

1701:                                             ; preds = %1700
  %1702 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %170)
          to label %1703 unwind label %1743

1703:                                             ; preds = %1701
  %1704 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 30
  %1705 = invoke noundef nonnull align 8 dereferenceable(69) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6MatrixEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %1704)
          to label %1706 unwind label %1743

1706:                                             ; preds = %1703
  call void @llvm.lifetime.start.p0(i64 8, ptr %171) #7
  %1707 = load ptr, ptr %24, align 8, !tbaa !5
  invoke void @_ZN10SimTKIpopt8ConstPtrINS_6VectorEEENS_8SmartPtrIKT_EERKNS2_IS3_EE(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.23") align 8 %171, ptr noundef nonnull align 8 dereferenceable(8) %1707)
          to label %1708 unwind label %1747

1708:                                             ; preds = %1706
  %1709 = getelementptr inbounds %"class.SimTKIpopt::OrigIpoptNLP", ptr %177, i32 0, i32 3
  %1710 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %1709)
          to label %1711 unwind label %1751

1711:                                             ; preds = %1708
  invoke void @_ZN10SimTKIpopt16NLPScalingObject34apply_vector_scaling_x_LU_NonConstERKNS_6MatrixERKNS_8SmartPtrIKNS_6VectorEEERKNS_11VectorSpaceE(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.55") align 8 %169, ptr noundef nonnull align 8 dereferenceable(24) %1702, ptr noundef nonnull align 8 dereferenceable(69) %1705, ptr noundef nonnull align 8 dereferenceable(8) %171, ptr noundef nonnull align 8 dereferenceable(16) %1710)
          to label %1712 unwind label %1751

1712:                                             ; preds = %1711
  %1713 = load ptr, ptr %24, align 8, !tbaa !5
  %1714 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSERKS2_(ptr noundef nonnull align 8 dereferenceable(8) %1713, ptr noundef nonnull align 8 dereferenceable(8) %169)
          to label %1715 unwind label %1755

1715:                                             ; preds = %1712
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %169) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %171) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %171) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %170) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %170) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %169) #7
  br label %1763

1716:                                             ; preds = %1688
  %1717 = landingpad { ptr, i32 }
          cleanup
  %1718 = extractvalue { ptr, i32 } %1717, 0
  store ptr %1718, ptr %32, align 8
  %1719 = extractvalue { ptr, i32 } %1717, 1
  store i32 %1719, ptr %33, align 4
  br label %1729

1720:                                             ; preds = %1689
  %1721 = landingpad { ptr, i32 }
          cleanup
  %1722 = extractvalue { ptr, i32 } %1721, 0
  store ptr %1722, ptr %32, align 8
  %1723 = extractvalue { ptr, i32 } %1721, 1
  store i32 %1723, ptr %33, align 4
  br label %1728

1724:                                             ; preds = %1690
  %1725 = landingpad { ptr, i32 }
          cleanup
  %1726 = extractvalue { ptr, i32 } %1725, 0
  store ptr %1726, ptr %32, align 8
  %1727 = extractvalue { ptr, i32 } %1725, 1
  store i32 %1727, ptr %33, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %166) #7
  br label %1728

1728:                                             ; preds = %1724, %1720
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %167) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %167) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %166) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %164) #7
  br label %1729

1729:                                             ; preds = %1728, %1716
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %165) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %165) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %164) #7
  br label %1774

1730:                                             ; preds = %1691
  %1731 = landingpad { ptr, i32 }
          cleanup
  %1732 = extractvalue { ptr, i32 } %1731, 0
  store ptr %1732, ptr %32, align 8
  %1733 = extractvalue { ptr, i32 } %1731, 1
  store i32 %1733, ptr %33, align 4
  br label %1738

1734:                                             ; preds = %1694, %1692
  %1735 = landingpad { ptr, i32 }
          cleanup
  %1736 = extractvalue { ptr, i32 } %1735, 0
  store ptr %1736, ptr %32, align 8
  %1737 = extractvalue { ptr, i32 } %1735, 1
  store i32 %1737, ptr %33, align 4
  call void @_ZN10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %168) #7
  br label %1738

1738:                                             ; preds = %1734, %1730
  call void @llvm.lifetime.end.p0(i64 8, ptr %168) #7
  br label %1774

1739:                                             ; preds = %1700
  %1740 = landingpad { ptr, i32 }
          cleanup
  %1741 = extractvalue { ptr, i32 } %1740, 0
  store ptr %1741, ptr %32, align 8
  %1742 = extractvalue { ptr, i32 } %1740, 1
  store i32 %1742, ptr %33, align 4
  br label %1762

1743:                                             ; preds = %1703, %1701
  %1744 = landingpad { ptr, i32 }
          cleanup
  %1745 = extractvalue { ptr, i32 } %1744, 0
  store ptr %1745, ptr %32, align 8
  %1746 = extractvalue { ptr, i32 } %1744, 1
  store i32 %1746, ptr %33, align 4
  br label %1761

1747:                                             ; preds = %1706
  %1748 = landingpad { ptr, i32 }
          cleanup
  %1749 = extractvalue { ptr, i32 } %1748, 0
  store ptr %1749, ptr %32, align 8
  %1750 = extractvalue { ptr, i32 } %1748, 1
  store i32 %1750, ptr %33, align 4
  br label %1760

1751:                                             ; preds = %1711, %1708
  %1752 = landingpad { ptr, i32 }
          cleanup
  %1753 = extractvalue { ptr, i32 } %1752, 0
  store ptr %1753, ptr %32, align 8
  %1754 = extractvalue { ptr, i32 } %1752, 1
  store i32 %1754, ptr %33, align 4
  br label %1759

1755:                                             ; preds = %1712
  %1756 = landingpad { ptr, i32 }
          cleanup
  %1757 = extractvalue { ptr, i32 } %1756, 0
  store ptr %1757, ptr %32, align 8
  %1758 = extractvalue { ptr, i32 } %1756, 1
  store i32 %1758, ptr %33, align 4
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %169) #7
  br label %1759

1759:                                             ; preds = %1755, %1751
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %171) #7
  br label %1760

1760:                                             ; preds = %1759, %1747
  call void @llvm.lifetime.end.p0(i64 8, ptr %171) #7
  br label %1761

1761:                                             ; preds = %1760, %1743
  call void @_ZN10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %170) #7
  br label %1762

1762:                                             ; preds = %1761, %1739
  call void @llvm.lifetime.end.p0(i64 8, ptr %170) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %169) #7
  br label %1774

1763:                                             ; preds = %1715, %1699
  %1764 = load double, ptr %129, align 8, !tbaa !38
  %1765 = fcmp une double %1764, 1.000000e+00
  br i1 %1765, label %1766, label %1772

1766:                                             ; preds = %1763
  %1767 = load ptr, ptr %24, align 8, !tbaa !5
  %1768 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1767)
          to label %1769 unwind label %1351

1769:                                             ; preds = %1766
  %1770 = load double, ptr %129, align 8, !tbaa !38
  invoke void @_ZN10SimTKIpopt6Vector4ScalEd(ptr noundef nonnull align 8 dereferenceable(205) %1768, double noundef %1770)
          to label %1771 unwind label %1351

1771:                                             ; preds = %1769
  br label %1772

1772:                                             ; preds = %1771, %1763
  br label %1773

1773:                                             ; preds = %1772, %1679
  store i1 true, ptr %14, align 1
  store i32 1, ptr %29, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %129) #7
  br label %1775

1774:                                             ; preds = %1762, %1738, %1729, %1668, %1644, %1635, %1574, %1550, %1541, %1483, %1459, %1450, %1401, %1377, %1368, %1351, %1350
  call void @llvm.lifetime.end.p0(i64 8, ptr %129) #7
  br label %1776

1775:                                             ; preds = %1773, %1086, %650
  call void @_ZN10SimTKIpopt8SmartPtrINS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %72) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %72) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %71) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %71) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %70) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %70) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %69) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %69) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %68) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %68) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %67) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %67) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %66) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %66) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %65) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %65) #7
  br label %1784

1776:                                             ; preds = %1774, %1294, %1270, %1256, %1242, %1228, %1214, %1200, %1186, %1172, %1158, %1149, %1140, %1131, %1122, %1113, %1104, %1095, %824, %796, %782, %768, %754, %679
  call void @_ZN10SimTKIpopt8SmartPtrINS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %72) #7
  br label %1777

1777:                                             ; preds = %1776, %675
  call void @llvm.lifetime.end.p0(i64 8, ptr %72) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %71) #7
  br label %1778

1778:                                             ; preds = %1777, %671
  call void @llvm.lifetime.end.p0(i64 8, ptr %71) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %70) #7
  br label %1779

1779:                                             ; preds = %1778, %667
  call void @llvm.lifetime.end.p0(i64 8, ptr %70) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %69) #7
  br label %1780

1780:                                             ; preds = %1779, %663
  call void @llvm.lifetime.end.p0(i64 8, ptr %69) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %68) #7
  br label %1781

1781:                                             ; preds = %1780, %659
  call void @llvm.lifetime.end.p0(i64 8, ptr %68) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %67) #7
  br label %1782

1782:                                             ; preds = %1781, %655
  call void @llvm.lifetime.end.p0(i64 8, ptr %67) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %66) #7
  br label %1783

1783:                                             ; preds = %1782, %651
  call void @llvm.lifetime.end.p0(i64 8, ptr %66) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %65) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %65) #7
  br label %1786

1784:                                             ; preds = %1775, %205
  call void @llvm.lifetime.end.p0(i64 1, ptr %28) #7
  %1785 = load i1, ptr %14, align 1
  ret i1 %1785

1786:                                             ; preds = %1783, %551, %457, %415, %388, %315
  call void @llvm.lifetime.end.p0(i64 1, ptr %28) #7
  br label %1787

1787:                                             ; preds = %1786
  %1788 = load ptr, ptr %32, align 8
  %1789 = load i32, ptr %33, align 4
  %1790 = insertvalue { ptr, i32 } poison, ptr %1788, 0
  %1791 = insertvalue { ptr, i32 } %1790, i32 %1789, 1
  resume { ptr, i32 } %1791

1792:                                             ; preds = %524, %430, %354
  unreachable
}

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

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN10SimTKIpopt7IsValidINS_11VectorSpaceEEEbRKNS_8SmartPtrIT_EE(ptr noundef nonnull align 8 dereferenceable(8)) #3

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

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

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

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

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

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

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

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef i32 @_ZNK10SimTKIpopt6Matrix5NColsEv(ptr noundef nonnull align 8 dereferenceable(69)) #6 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef i32 @_ZNK10SimTKIpopt6Matrix5NRowsEv(ptr noundef nonnull align 8 dereferenceable(69)) #6 align 2

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

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

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

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

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

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

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

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

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

declare ptr @__cxa_allocate_exception(i64)

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

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

declare void @__cxa_throw(ptr, ptr, ptr)

declare void @__cxa_free_exception(ptr)

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN10SimTKIpopt7IsValidIKNS_11VectorSpaceEEEbRKNS_8SmartPtrIT_EE(ptr noundef nonnull align 8 dereferenceable(8)) #3

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN10SimTKIpopt7IsValidIKNS_11MatrixSpaceEEEbRKNS_8SmartPtrIT_EE(ptr noundef nonnull align 8 dereferenceable(8)) #3

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN10SimTKIpopt7IsValidIKNS_14SymMatrixSpaceEEEbRKNS_8SmartPtrIT_EE(ptr noundef nonnull align 8 dereferenceable(8)) #3

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

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

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

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

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

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

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

declare void @_ZNK10SimTKIpopt6Vector5PrintERKNS_10JournalistENS_13EJournalLevelENS_16EJournalCategoryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSD_(ptr noundef nonnull align 8 dereferenceable(205), ptr noundef nonnull align 8 dereferenceable(40), i32 noundef, i32 noundef, ptr noundef nonnull align 8 dereferenceable(32), i32 noundef, ptr noundef nonnull align 8 dereferenceable(32)) #5

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef ptr @_ZNK10SimTKIpopt6Vector11MakeNewCopyEv(ptr noundef nonnull align 8 dereferenceable(205)) #6 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) #3 align 2

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

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

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

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

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

declare void @_ZN10SimTKIpopt16NLPScalingObject25apply_vector_scaling_x_LUERKNS_6MatrixERKNS_8SmartPtrIKNS_6VectorEEERKNS_11VectorSpaceE(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.23") align 8, ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(69), ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(16)) #5

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

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

declare void @_ZN10SimTKIpopt16NLPScalingObject25apply_vector_scaling_d_LUERKNS_6MatrixERKNS_8SmartPtrIKNS_6VectorEEERKNS_11VectorSpaceE(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.23") align 8, ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(69), ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(16)) #5

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

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

declare void @_ZN10SimTKIpopt6Vector4ScalEd(ptr noundef nonnull align 8 dereferenceable(205), double noundef) #5

declare void @_ZN10SimTKIpopt16NLPScalingObject34apply_vector_scaling_x_LU_NonConstERKNS_6MatrixERKNS_8SmartPtrIKNS_6VectorEEERKNS_11VectorSpaceE(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.55") align 8, ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(69), ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(16)) #5

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

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

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

!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 = !{!"bool", !7, i64 0}
!11 = !{!12, !10, i64 433}
!12 = !{!"_ZTSN10SimTKIpopt12OrigIpoptNLPE", !13, i64 0, !17, i64 24, !18, i64 32, !19, i64 40, !19, i64 48, !19, i64 56, !19, i64 64, !20, i64 72, !19, i64 80, !20, i64 88, !19, i64 96, !20, i64 104, !19, i64 112, !20, i64 120, !20, i64 128, !20, i64 136, !21, i64 144, !20, i64 152, !20, i64 160, !21, i64 168, !22, i64 176, !23, i64 200, !23, i64 224, !24, i64 248, !23, i64 272, !24, i64 296, !25, i64 320, !26, i64 344, !27, i64 352, !26, i64 360, !27, i64 368, !26, i64 376, !27, i64 384, !26, i64 392, !27, i64 400, !26, i64 408, !26, i64 416, !28, i64 424, !10, i64 432, !10, i64 433, !29, i64 436, !10, i64 440, !15, i64 444, !15, i64 448, !15, i64 452, !15, i64 456, !15, i64 460, !15, i64 464, !15, i64 468, !10, i64 472, !30, i64 480, !30, i64 504, !30, i64 528, !30, i64 552, !30, i64 576, !30, i64 600, !30, i64 624}
!13 = !{!"_ZTSN10SimTKIpopt8IpoptNLPE", !14, i64 0, !16, i64 16}
!14 = !{!"_ZTSN10SimTKIpopt16ReferencedObjectE", !15, i64 8}
!15 = !{!"int", !7, i64 0}
!16 = !{!"_ZTSN10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEEE", !6, i64 0}
!17 = !{!"_ZTSN10SimTKIpopt8SmartPtrIKNS_10JournalistEEE", !6, i64 0}
!18 = !{!"_ZTSN10SimTKIpopt8SmartPtrINS_3NLPEEE", !6, i64 0}
!19 = !{!"_ZTSN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEE", !6, i64 0}
!20 = !{!"_ZTSN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEEE", !6, i64 0}
!21 = !{!"_ZTSN10SimTKIpopt8SmartPtrIKNS_14SymMatrixSpaceEEE", !6, i64 0}
!22 = !{!"_ZTSN10SimTKIpopt13CachedResultsIdEE", !15, i64 8, !6, i64 16}
!23 = !{!"_ZTSN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEE", !15, i64 8, !6, i64 16}
!24 = !{!"_ZTSN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6MatrixEEEEE", !15, i64 8, !6, i64 16}
!25 = !{!"_ZTSN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_9SymMatrixEEEEE", !15, i64 8, !6, i64 16}
!26 = !{!"_ZTSN10SimTKIpopt8SmartPtrIKNS_6VectorEEE", !6, i64 0}
!27 = !{!"_ZTSN10SimTKIpopt8SmartPtrIKNS_6MatrixEEE", !6, i64 0}
!28 = !{!"double", !7, i64 0}
!29 = !{!"_ZTSN10SimTKIpopt24HessianApproximationTypeE", !7, i64 0}
!30 = !{!"_ZTSN10SimTKIpopt9TimedTaskE", !28, i64 0, !28, i64 8, !10, i64 16, !10, i64 17}
!31 = !{i8 0, i8 2}
!32 = !{}
!33 = !{!34, !34, i64 0}
!34 = !{!"vtable pointer", !8, i64 0}
!35 = !{!12, !29, i64 436}
!36 = !{!12, !10, i64 432}
!37 = !{!12, !28, i64 424}
!38 = !{!28, !28, 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.53" = type { ptr }
%"class.SimTKIpopt::SmartPtr.54" = type { ptr }
%"class.SimTKIpopt::SmartPtr.24" = type { ptr }
%"class.SimTKIpopt::SmartPtr" = type { ptr }
%"class.SimTKIpopt::SmartPtr.16" = type { ptr }
%"class.SimTKIpopt::SmartPtr.5" = type { ptr }
%"class.SimTKIpopt::SmartPtr.19" = 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.26" = type { i8 }
%"class.SimTKIpopt::SmartPtr.55" = type { ptr }
%"class.SimTKIpopt::SmartPtr.23" = type { ptr }

@.str.30 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [99 x i8], align 1
@_ZTIN10SimTKIpopt11TOO_FEW_DOFE = external dso_local constant { ptr, ptr, ptr }, align 8
@.str.36 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [98 x i8], align 1
@_ZTIN10SimTKIpopt17INVALID_WARMSTARTE = external dso_local constant { ptr, ptr, ptr }, align 8
@.str.40 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [1 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [21 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: nobuiltin nounwind
declare void @_ZdlPvm(ptr noundef, i64 noundef) local_unnamed_addr #1

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

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

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

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

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

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

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

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

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

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

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

151:                                              ; preds = %13
  %152 = getelementptr inbounds i8, ptr %0, i64 32
  %153 = tail call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_3NLPEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %152)
  %154 = getelementptr inbounds i8, ptr %0, i64 40
  %155 = getelementptr inbounds i8, ptr %0, i64 48
  %156 = getelementptr inbounds i8, ptr %0, i64 56
  %157 = getelementptr inbounds i8, ptr %0, i64 64
  %158 = getelementptr inbounds i8, ptr %0, i64 72
  %159 = getelementptr inbounds i8, ptr %0, i64 80
  %160 = getelementptr inbounds i8, ptr %0, i64 88
  %161 = getelementptr inbounds i8, ptr %0, i64 96
  %162 = getelementptr inbounds i8, ptr %0, i64 104
  %163 = getelementptr inbounds i8, ptr %0, i64 112
  %164 = getelementptr inbounds i8, ptr %0, i64 120
  %165 = getelementptr inbounds i8, ptr %0, i64 128
  %166 = getelementptr inbounds i8, ptr %0, i64 136
  %167 = getelementptr inbounds i8, ptr %0, i64 144
  %168 = load ptr, ptr %153, align 8, !tbaa !31
  %169 = getelementptr inbounds i8, ptr %168, i64 24
  %170 = load ptr, ptr %169, align 8
  %171 = tail call noundef zeroext i1 %170(ptr noundef nonnull align 8 dereferenceable(12) %153, ptr noundef nonnull align 8 dereferenceable(8) %154, ptr noundef nonnull align 8 dereferenceable(8) %155, ptr noundef nonnull align 8 dereferenceable(8) %156, ptr noundef nonnull align 8 dereferenceable(8) %157, ptr noundef nonnull align 8 dereferenceable(8) %158, ptr noundef nonnull align 8 dereferenceable(8) %159, ptr noundef nonnull align 8 dereferenceable(8) %160, ptr noundef nonnull align 8 dereferenceable(8) %161, ptr noundef nonnull align 8 dereferenceable(8) %162, ptr noundef nonnull align 8 dereferenceable(8) %163, ptr noundef nonnull align 8 dereferenceable(8) %164, ptr noundef nonnull align 8 dereferenceable(8) %165, ptr noundef nonnull align 8 dereferenceable(8) %166, ptr noundef nonnull align 8 dereferenceable(8) %167)
  br i1 %171, label %172, label %1108

172:                                              ; preds = %151
  %173 = getelementptr inbounds i8, ptr %0, i64 436
  %174 = load i32, ptr %173, align 4, !tbaa !33
  %175 = icmp eq i32 %174, 1
  br i1 %175, label %176, label %230

176:                                              ; preds = %172
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %14) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_11VectorSpaceEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %14)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %15) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6MatrixEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %15)
  %177 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_3NLPEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %152)
  %178 = load ptr, ptr %177, align 8, !tbaa !31
  %179 = getelementptr inbounds i8, ptr %178, i64 136
  %180 = load ptr, ptr %179, align 8
  invoke void %180(ptr noundef nonnull align 8 dereferenceable(12) %177, ptr noundef nonnull align 8 dereferenceable(8) %14, ptr noundef nonnull align 8 dereferenceable(8) %15)
          to label %181 unwind label %202

181:                                              ; preds = %176
  %182 = invoke noundef zeroext i1 @_ZN10SimTKIpopt7IsValidINS_11VectorSpaceEEEbRKNS_8SmartPtrIT_EE(ptr noundef nonnull align 8 dereferenceable(8) %14)
          to label %183 unwind label %202

183:                                              ; preds = %181
  br i1 %182, label %184, label %209

184:                                              ; preds = %183
  %185 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #8
          to label %186 unwind label %202

186:                                              ; preds = %184
  %187 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %154)
  %188 = call noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %187)
  invoke void @_ZN10SimTKIpopt8ConstPtrINS_6MatrixEEENS_8SmartPtrIKT_EERKNS2_IS3_EE(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.24") align 8 %16, ptr noundef nonnull align 8 dereferenceable(8) %15)
          to label %189 unwind label %.thread

189:                                              ; preds = %186
  invoke void @_ZN10SimTKIpopt8ConstPtrINS_11VectorSpaceEEENS_8SmartPtrIKT_EERKNS2_IS3_EE(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr") align 8 %17, ptr noundef nonnull align 8 dereferenceable(8) %14)
          to label %190 unwind label %.thread327

190:                                              ; preds = %189
  invoke void @_ZN10SimTKIpopt27LowRankUpdateSymMatrixSpaceC2EiNS_8SmartPtrIKNS_6MatrixEEENS1_IKNS_11VectorSpaceEEEb(ptr noundef nonnull align 8 dereferenceable(41) %185, i32 noundef %188, ptr noundef nonnull %16, ptr noundef nonnull %17, i1 noundef zeroext true)
          to label %191 unwind label %206

191:                                              ; preds = %190
  %192 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_14SymMatrixSpaceEEaSEPS2_(ptr noundef nonnull align 8 dereferenceable(8) %167, ptr noundef nonnull %185)
          to label %193 unwind label %206

193:                                              ; preds = %191
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %17) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %16) #7
  %194 = getelementptr inbounds i8, ptr %0, i64 24
  %195 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_10JournalistEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %194)
  %196 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6MatrixEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %15)
  %197 = invoke noundef i32 @_ZNK10SimTKIpopt6Matrix5NColsEv(ptr noundef nonnull align 8 dereferenceable(69) %196)
          to label %198 unwind label %202

198:                                              ; preds = %193
  %199 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6MatrixEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %15)
  %200 = invoke noundef i32 @_ZNK10SimTKIpopt6Matrix5NRowsEv(ptr noundef nonnull align 8 dereferenceable(69) %199)
          to label %201 unwind label %202

201:                                              ; preds = %198
  invoke void (ptr, i32, i32, ptr, ...) @_ZNK10SimTKIpopt10Journalist6PrintfENS_13EJournalLevelENS_16EJournalCategoryEPKcz(ptr noundef nonnull align 8 dereferenceable(40) %195, i32 noundef 5, i32 noundef 3, ptr noundef nonnull @.str.30, i32 noundef %197, i32 noundef %200)
          to label %228 unwind label %202

202:                                              ; preds = %218, %209, %201, %198, %193, %184, %181, %176
  %203 = landingpad { ptr, i32 }
          cleanup
  br label %229

.thread:                                          ; preds = %186
  %204 = landingpad { ptr, i32 }
          cleanup
  br label %208

.thread327:                                       ; preds = %189
  %205 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %16) #7
  br label %208

206:                                              ; preds = %190, %191
  %.071 = phi i1 [ false, %191 ], [ true, %190 ]
  %207 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %17) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %16) #7
  br i1 %.071, label %208, label %229

208:                                              ; preds = %.thread327, %.thread, %206
  %.pn182.pn326 = phi { ptr, i32 } [ %204, %.thread ], [ %207, %206 ], [ %205, %.thread327 ]
  call void @_ZdlPvm(ptr noundef nonnull %185, i64 noundef 48) #9
  br label %229

209:                                              ; preds = %183
  %210 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #8
          to label %211 unwind label %202

211:                                              ; preds = %209
  %212 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %154)
  %213 = call noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %212)
  invoke void @_ZN10SimTKIpopt8ConstPtrINS_6MatrixEEENS_8SmartPtrIKT_EERKNS2_IS3_EE(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.24") align 8 %18, ptr noundef nonnull align 8 dereferenceable(8) %15)
          to label %214 unwind label %.thread330

214:                                              ; preds = %211
  invoke void @_ZN10SimTKIpopt8ConstPtrIKNS_11VectorSpaceEEENS_8SmartPtrIKT_EERKNS3_IS4_EE(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr") align 8 %19, ptr noundef nonnull align 8 dereferenceable(8) %154)
          to label %215 unwind label %.thread334

215:                                              ; preds = %214
  invoke void @_ZN10SimTKIpopt27LowRankUpdateSymMatrixSpaceC2EiNS_8SmartPtrIKNS_6MatrixEEENS1_IKNS_11VectorSpaceEEEb(ptr noundef nonnull align 8 dereferenceable(41) %210, i32 noundef %213, ptr noundef nonnull %18, ptr noundef nonnull %19, i1 noundef zeroext true)
          to label %216 unwind label %225

216:                                              ; preds = %215
  %217 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_14SymMatrixSpaceEEaSEPS2_(ptr noundef nonnull align 8 dereferenceable(8) %167, ptr noundef nonnull %210)
          to label %218 unwind label %225

218:                                              ; preds = %216
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %19) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %18) #7
  %219 = getelementptr inbounds i8, ptr %0, i64 24
  %220 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_10JournalistEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %219)
  %221 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %154)
  %222 = call noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %221)
  invoke void (ptr, i32, i32, ptr, ...) @_ZNK10SimTKIpopt10Journalist6PrintfENS_13EJournalLevelENS_16EJournalCategoryEPKcz(ptr noundef nonnull align 8 dereferenceable(40) %220, i32 noundef 5, i32 noundef 3, ptr noundef nonnull @.str.31, i32 noundef %222)
          to label %228 unwind label %202

.thread330:                                       ; preds = %211
  %223 = landingpad { ptr, i32 }
          cleanup
  br label %227

.thread334:                                       ; preds = %214
  %224 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %18) #7
  br label %227

225:                                              ; preds = %215, %216
  %.068 = phi i1 [ false, %216 ], [ true, %215 ]
  %226 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %19) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %18) #7
  br i1 %.068, label %227, label %229

227:                                              ; preds = %.thread334, %.thread330, %225
  %.pn.pn333 = phi { ptr, i32 } [ %223, %.thread330 ], [ %226, %225 ], [ %224, %.thread334 ]
  call void @_ZdlPvm(ptr noundef nonnull %210, i64 noundef 48) #9
  br label %229

228:                                              ; preds = %218, %201
  call void @_ZN10SimTKIpopt8SmartPtrINS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %15) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_11VectorSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %14) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) #7
  br label %230

229:                                              ; preds = %225, %227, %206, %208, %202
  %.pn185 = phi { ptr, i32 } [ %203, %202 ], [ %.pn182.pn326, %208 ], [ %207, %206 ], [ %.pn.pn333, %227 ], [ %226, %225 ]
  call void @_ZN10SimTKIpopt8SmartPtrINS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %15) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_11VectorSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %14) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) #7
  br label %1109

230:                                              ; preds = %228, %172
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %20) #7
  call void @_ZNK10SimTKIpopt8IpoptNLP11NLP_scalingEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.16") align 8 %20, ptr noundef nonnull align 8 dereferenceable(24) %0)
  %231 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %20)
  invoke void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %21, ptr noundef nonnull align 8 dereferenceable(8) %154)
          to label %232 unwind label %259

232:                                              ; preds = %230
  invoke void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %22, ptr noundef nonnull align 8 dereferenceable(8) %155)
          to label %233 unwind label %261

233:                                              ; preds = %232
  invoke void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %23, ptr noundef nonnull align 8 dereferenceable(8) %156)
          to label %234 unwind label %263

234:                                              ; preds = %233
  invoke void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %24, ptr noundef nonnull align 8 dereferenceable(8) %165)
          to label %235 unwind label %265

235:                                              ; preds = %234
  invoke void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %25, ptr noundef nonnull align 8 dereferenceable(8) %166)
          to label %236 unwind label %267

236:                                              ; preds = %235
  invoke void @_ZN10SimTKIpopt8SmartPtrIKNS_14SymMatrixSpaceEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %26, ptr noundef nonnull align 8 dereferenceable(8) %167)
          to label %237 unwind label %269

237:                                              ; preds = %236
  %238 = getelementptr inbounds i8, ptr %0, i64 152
  %239 = getelementptr inbounds i8, ptr %0, i64 160
  %240 = getelementptr inbounds i8, ptr %0, i64 168
  %241 = load ptr, ptr %231, align 8, !tbaa !31
  %242 = getelementptr inbounds i8, ptr %241, i64 208
  %243 = load ptr, ptr %242, align 8
  invoke void %243(ptr noundef nonnull align 8 dereferenceable(24) %231, ptr noundef nonnull %21, ptr noundef nonnull %22, ptr noundef nonnull %23, ptr noundef nonnull %24, ptr noundef nonnull %25, ptr noundef nonnull %26, ptr noundef nonnull align 8 dereferenceable(8) %238, ptr noundef nonnull align 8 dereferenceable(8) %239, ptr noundef nonnull align 8 dereferenceable(8) %240)
          to label %244 unwind label %271

244:                                              ; preds = %237
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14SymMatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %26) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %25) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %24) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %23) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %22) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %21) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %20) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %20) #7
  %245 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %154)
  %246 = call noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %245)
  %247 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %155)
  %248 = call noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %247)
  %.not = icmp slt i32 %246, %248
  br i1 %.not, label %249, label %292

249:                                              ; preds = %244
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %27) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %28) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %27, ptr noundef nonnull @.str.32, ptr noundef nonnull align 1 dereferenceable(1) %28)
          to label %250 unwind label %279

250:                                              ; preds = %249
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %28) #7
  %251 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc(ptr noundef nonnull align 8 dereferenceable(32) %27, ptr noundef nonnull @.str.33)
          to label %252 unwind label %281

252:                                              ; preds = %250
  %253 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc(ptr noundef nonnull align 8 dereferenceable(32) %27, ptr noundef nonnull @.str.34)
          to label %254 unwind label %281

254:                                              ; preds = %252
  %255 = call ptr @__cxa_allocate_exception(i64 112) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %29, ptr noundef nonnull align 8 dereferenceable(32) %27)
          to label %256 unwind label %.thread337

256:                                              ; preds = %254
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %31) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %30, ptr noundef nonnull @.str.35, ptr noundef nonnull align 1 dereferenceable(1) %31)
          to label %257 unwind label %284

257:                                              ; preds = %256
  invoke void @_ZN10SimTKIpopt11TOO_FEW_DOFC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_i(ptr noundef nonnull align 8 dereferenceable(112) %255, ptr noundef nonnull %29, ptr noundef nonnull %30, i32 noundef 214)
          to label %258 unwind label %286

258:                                              ; preds = %257
  invoke void @__cxa_throw(ptr nonnull %255, ptr nonnull @_ZTIN10SimTKIpopt11TOO_FEW_DOFE, ptr nonnull @_ZN10SimTKIpopt14IpoptExceptionD2Ev) #10
          to label %1110 unwind label %286

259:                                              ; preds = %230
  %260 = landingpad { ptr, i32 }
          cleanup
  br label %278

261:                                              ; preds = %232
  %262 = landingpad { ptr, i32 }
          cleanup
  br label %277

263:                                              ; preds = %233
  %264 = landingpad { ptr, i32 }
          cleanup
  br label %276

265:                                              ; preds = %234
  %266 = landingpad { ptr, i32 }
          cleanup
  br label %275

267:                                              ; preds = %235
  %268 = landingpad { ptr, i32 }
          cleanup
  br label %274

269:                                              ; preds = %236
  %270 = landingpad { ptr, i32 }
          cleanup
  br label %273

271:                                              ; preds = %237
  %272 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14SymMatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %26) #7
  br label %273

273:                                              ; preds = %271, %269
  %.pn187 = phi { ptr, i32 } [ %272, %271 ], [ %270, %269 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %25) #7
  br label %274

274:                                              ; preds = %273, %267
  %.pn187.pn = phi { ptr, i32 } [ %.pn187, %273 ], [ %268, %267 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %24) #7
  br label %275

275:                                              ; preds = %274, %265
  %.pn187.pn.pn = phi { ptr, i32 } [ %.pn187.pn, %274 ], [ %266, %265 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %23) #7
  br label %276

276:                                              ; preds = %275, %263
  %.pn187.pn.pn.pn = phi { ptr, i32 } [ %.pn187.pn.pn, %275 ], [ %264, %263 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %22) #7
  br label %277

277:                                              ; preds = %276, %261
  %.pn187.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn187.pn.pn.pn, %276 ], [ %262, %261 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %21) #7
  br label %278

278:                                              ; preds = %277, %259
  %.pn187.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn187.pn.pn.pn.pn, %277 ], [ %260, %259 ]
  call void @_ZN10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %20) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %20) #7
  br label %1109

279:                                              ; preds = %249
  %280 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %28) #7
  br label %291

281:                                              ; preds = %252, %250
  %282 = landingpad { ptr, i32 }
          cleanup
  br label %290

.thread337:                                       ; preds = %254
  %283 = landingpad { ptr, i32 }
          cleanup
  br label %289

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

286:                                              ; preds = %258, %257
  %.065 = phi i1 [ false, %258 ], [ true, %257 ]
  %287 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #7
  br label %288

288:                                              ; preds = %284, %286
  %.pn194 = phi { ptr, i32 } [ %287, %286 ], [ %285, %284 ]
  %.166 = phi i1 [ %.065, %286 ], [ true, %284 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %31) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #7
  br i1 %.166, label %289, label %290

289:                                              ; preds = %.thread337, %288
  %.pn194.pn340 = phi { ptr, i32 } [ %283, %.thread337 ], [ %.pn194, %288 ]
  call void @__cxa_free_exception(ptr %255) #7
  br label %290

290:                                              ; preds = %288, %289, %281
  %.pn194.pn.pn = phi { ptr, i32 } [ %.pn194.pn340, %289 ], [ %.pn194, %288 ], [ %282, %281 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #7
  br label %291

291:                                              ; preds = %290, %279
  %.pn194.pn.pn.pn = phi { ptr, i32 } [ %.pn194.pn.pn, %290 ], [ %280, %279 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #7
  br label %1109

292:                                              ; preds = %244
  %293 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %154)
  %294 = call noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %293)
  %295 = icmp sgt i32 %294, 0
  br i1 %295, label %319, label %296

296:                                              ; preds = %292
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %32) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %33) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %33) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %32, ptr noundef nonnull @.str.36, ptr noundef nonnull align 1 dereferenceable(1) %33)
          to label %297 unwind label %306

297:                                              ; preds = %296
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %33) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %33) #7
  %298 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc(ptr noundef nonnull align 8 dereferenceable(32) %32, ptr noundef nonnull @.str.33)
          to label %299 unwind label %308

299:                                              ; preds = %297
  %300 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc(ptr noundef nonnull align 8 dereferenceable(32) %32, ptr noundef nonnull @.str.37)
          to label %301 unwind label %308

301:                                              ; preds = %299
  %302 = call ptr @__cxa_allocate_exception(i64 112) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %34, ptr noundef nonnull align 8 dereferenceable(32) %32)
          to label %303 unwind label %.thread341

303:                                              ; preds = %301
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %36) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %36) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %35, ptr noundef nonnull @.str.35, ptr noundef nonnull align 1 dereferenceable(1) %36)
          to label %304 unwind label %311

304:                                              ; preds = %303
  invoke void @_ZN10SimTKIpopt11TOO_FEW_DOFC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_i(ptr noundef nonnull align 8 dereferenceable(112) %302, ptr noundef nonnull %34, ptr noundef nonnull %35, i32 noundef 216)
          to label %305 unwind label %313

305:                                              ; preds = %304
  invoke void @__cxa_throw(ptr nonnull %302, ptr nonnull @_ZTIN10SimTKIpopt11TOO_FEW_DOFE, ptr nonnull @_ZN10SimTKIpopt14IpoptExceptionD2Ev) #10
          to label %1110 unwind label %313

306:                                              ; preds = %296
  %307 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %33) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %33) #7
  br label %318

308:                                              ; preds = %299, %297
  %309 = landingpad { ptr, i32 }
          cleanup
  br label %317

.thread341:                                       ; preds = %301
  %310 = landingpad { ptr, i32 }
          cleanup
  br label %316

311:                                              ; preds = %303
  %312 = landingpad { ptr, i32 }
          cleanup
  br label %315

313:                                              ; preds = %305, %304
  %.062 = phi i1 [ false, %305 ], [ true, %304 ]
  %314 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #7
  br label %315

315:                                              ; preds = %311, %313
  %.pn199 = phi { ptr, i32 } [ %314, %313 ], [ %312, %311 ]
  %.163 = phi i1 [ %.062, %313 ], [ true, %311 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %36) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %36) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #7
  br i1 %.163, label %316, label %317

316:                                              ; preds = %.thread341, %315
  %.pn199.pn344 = phi { ptr, i32 } [ %310, %.thread341 ], [ %.pn199, %315 ]
  call void @__cxa_free_exception(ptr %302) #7
  br label %317

317:                                              ; preds = %315, %316, %308
  %.pn199.pn.pn = phi { ptr, i32 } [ %.pn199.pn344, %316 ], [ %.pn199, %315 ], [ %309, %308 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #7
  br label %318

318:                                              ; preds = %317, %306
  %.pn199.pn.pn.pn = phi { ptr, i32 } [ %.pn199.pn.pn, %317 ], [ %307, %306 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %32) #7
  br label %1109

319:                                              ; preds = %292
  %320 = call noundef zeroext i1 @_ZN10SimTKIpopt7IsValidIKNS_11VectorSpaceEEEbRKNS_8SmartPtrIT_EE(ptr noundef nonnull align 8 dereferenceable(8) %154)
  br i1 %320, label %321, label %379

321:                                              ; preds = %319
  %322 = call noundef zeroext i1 @_ZN10SimTKIpopt7IsValidIKNS_11VectorSpaceEEEbRKNS_8SmartPtrIT_EE(ptr noundef nonnull align 8 dereferenceable(8) %155)
  br i1 %322, label %323, label %379

323:                                              ; preds = %321
  %324 = call noundef zeroext i1 @_ZN10SimTKIpopt7IsValidIKNS_11VectorSpaceEEEbRKNS_8SmartPtrIT_EE(ptr noundef nonnull align 8 dereferenceable(8) %156)
  br i1 %324, label %325, label %379

325:                                              ; preds = %323
  %326 = call noundef zeroext i1 @_ZN10SimTKIpopt7IsValidIKNS_11VectorSpaceEEEbRKNS_8SmartPtrIT_EE(ptr noundef nonnull align 8 dereferenceable(8) %157)
  br i1 %326, label %327, label %379

327:                                              ; preds = %325
  %328 = call noundef zeroext i1 @_ZN10SimTKIpopt7IsValidIKNS_11MatrixSpaceEEEbRKNS_8SmartPtrIT_EE(ptr noundef nonnull align 8 dereferenceable(8) %158)
  br i1 %328, label %329, label %379

329:                                              ; preds = %327
  %330 = call noundef zeroext i1 @_ZN10SimTKIpopt7IsValidIKNS_11VectorSpaceEEEbRKNS_8SmartPtrIT_EE(ptr noundef nonnull align 8 dereferenceable(8) %159)
  br i1 %330, label %331, label %379

331:                                              ; preds = %329
  %332 = call noundef zeroext i1 @_ZN10SimTKIpopt7IsValidIKNS_11MatrixSpaceEEEbRKNS_8SmartPtrIT_EE(ptr noundef nonnull align 8 dereferenceable(8) %160)
  br i1 %332, label %333, label %379

333:                                              ; preds = %331
  %334 = call noundef zeroext i1 @_ZN10SimTKIpopt7IsValidIKNS_11VectorSpaceEEEbRKNS_8SmartPtrIT_EE(ptr noundef nonnull align 8 dereferenceable(8) %163)
  br i1 %334, label %335, label %379

335:                                              ; preds = %333
  %336 = call noundef zeroext i1 @_ZN10SimTKIpopt7IsValidIKNS_11MatrixSpaceEEEbRKNS_8SmartPtrIT_EE(ptr noundef nonnull align 8 dereferenceable(8) %164)
  br i1 %336, label %337, label %379

337:                                              ; preds = %335
  %338 = call noundef zeroext i1 @_ZN10SimTKIpopt7IsValidIKNS_11VectorSpaceEEEbRKNS_8SmartPtrIT_EE(ptr noundef nonnull align 8 dereferenceable(8) %161)
  br i1 %338, label %339, label %379

339:                                              ; preds = %337
  %340 = call noundef zeroext i1 @_ZN10SimTKIpopt7IsValidIKNS_11MatrixSpaceEEEbRKNS_8SmartPtrIT_EE(ptr noundef nonnull align 8 dereferenceable(8) %162)
  br i1 %340, label %341, label %379

341:                                              ; preds = %339
  %342 = call noundef zeroext i1 @_ZN10SimTKIpopt7IsValidIKNS_11MatrixSpaceEEEbRKNS_8SmartPtrIT_EE(ptr noundef nonnull align 8 dereferenceable(8) %165)
  br i1 %342, label %343, label %379

343:                                              ; preds = %341
  %344 = call noundef zeroext i1 @_ZN10SimTKIpopt7IsValidIKNS_11MatrixSpaceEEEbRKNS_8SmartPtrIT_EE(ptr noundef nonnull align 8 dereferenceable(8) %166)
  br i1 %344, label %345, label %379

345:                                              ; preds = %343
  %346 = call noundef zeroext i1 @_ZN10SimTKIpopt7IsValidIKNS_14SymMatrixSpaceEEEbRKNS_8SmartPtrIT_EE(ptr noundef nonnull align 8 dereferenceable(8) %167)
  br i1 %346, label %347, label %379

347:                                              ; preds = %345
  %348 = call noundef zeroext i1 @_ZN10SimTKIpopt7IsValidIKNS_11MatrixSpaceEEEbRKNS_8SmartPtrIT_EE(ptr noundef nonnull align 8 dereferenceable(8) %238)
  br i1 %348, label %349, label %379

349:                                              ; preds = %347
  %350 = call noundef zeroext i1 @_ZN10SimTKIpopt7IsValidIKNS_11MatrixSpaceEEEbRKNS_8SmartPtrIT_EE(ptr noundef nonnull align 8 dereferenceable(8) %239)
  br i1 %350, label %351, label %379

351:                                              ; preds = %349
  %352 = call noundef zeroext i1 @_ZN10SimTKIpopt7IsValidIKNS_14SymMatrixSpaceEEEbRKNS_8SmartPtrIT_EE(ptr noundef nonnull align 8 dereferenceable(8) %240)
  br label %379

353:                                              ; preds = %13
  %354 = getelementptr inbounds i8, ptr %0, i64 40
  %355 = tail call noundef zeroext i1 @_ZN10SimTKIpopt7IsValidIKNS_11VectorSpaceEEEbRKNS_8SmartPtrIT_EE(ptr noundef nonnull align 8 dereferenceable(8) %354)
  br i1 %355, label %379, label %356

356:                                              ; preds = %353
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %37) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %38) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %38) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %37, ptr noundef nonnull @.str.38, ptr noundef nonnull align 1 dereferenceable(1) %38)
          to label %357 unwind label %366

357:                                              ; preds = %356
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %38) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %38) #7
  %358 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc(ptr noundef nonnull align 8 dereferenceable(32) %37, ptr noundef nonnull @.str.33)
          to label %359 unwind label %368

359:                                              ; preds = %357
  %360 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc(ptr noundef nonnull align 8 dereferenceable(32) %37, ptr noundef nonnull @.str.39)
          to label %361 unwind label %368

361:                                              ; preds = %359
  %362 = call ptr @__cxa_allocate_exception(i64 112) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %39, ptr noundef nonnull align 8 dereferenceable(32) %37)
          to label %363 unwind label %.thread345

363:                                              ; preds = %361
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %41) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %41) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %40, ptr noundef nonnull @.str.35, ptr noundef nonnull align 1 dereferenceable(1) %41)
          to label %364 unwind label %371

364:                                              ; preds = %363
  invoke void @_ZN10SimTKIpopt17INVALID_WARMSTARTC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_i(ptr noundef nonnull align 8 dereferenceable(112) %362, ptr noundef nonnull %39, ptr noundef nonnull %40, i32 noundef 236)
          to label %365 unwind label %373

365:                                              ; preds = %364
  invoke void @__cxa_throw(ptr nonnull %362, ptr nonnull @_ZTIN10SimTKIpopt17INVALID_WARMSTARTE, ptr nonnull @_ZN10SimTKIpopt14IpoptExceptionD2Ev) #10
          to label %1110 unwind label %373

366:                                              ; preds = %356
  %367 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %38) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %38) #7
  br label %378

368:                                              ; preds = %359, %357
  %369 = landingpad { ptr, i32 }
          cleanup
  br label %377

.thread345:                                       ; preds = %361
  %370 = landingpad { ptr, i32 }
          cleanup
  br label %376

371:                                              ; preds = %363
  %372 = landingpad { ptr, i32 }
          cleanup
  br label %375

373:                                              ; preds = %365, %364
  %.060 = phi i1 [ false, %365 ], [ true, %364 ]
  %374 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #7
  br label %375

375:                                              ; preds = %371, %373
  %.pn204 = phi { ptr, i32 } [ %374, %373 ], [ %372, %371 ]
  %.161 = phi i1 [ %.060, %373 ], [ true, %371 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %41) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %41) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #7
  br i1 %.161, label %376, label %377

376:                                              ; preds = %.thread345, %375
  %.pn204.pn348 = phi { ptr, i32 } [ %370, %.thread345 ], [ %.pn204, %375 ]
  call void @__cxa_free_exception(ptr %362) #7
  br label %377

377:                                              ; preds = %375, %376, %368
  %.pn204.pn.pn = phi { ptr, i32 } [ %.pn204.pn348, %376 ], [ %.pn204, %375 ], [ %369, %368 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #7
  br label %378

378:                                              ; preds = %377, %366
  %.pn204.pn.pn.pn = phi { ptr, i32 } [ %.pn204.pn.pn, %377 ], [ %367, %366 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %37) #7
  br label %1109

379:                                              ; preds = %319, %321, %323, %325, %327, %329, %331, %333, %335, %337, %339, %341, %343, %345, %347, %349, %351, %353
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %42) #7
  %380 = getelementptr inbounds i8, ptr %0, i64 64
  %381 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %380)
  %382 = load ptr, ptr %381, align 8, !tbaa !31
  %383 = getelementptr inbounds i8, ptr %382, i64 16
  %384 = load ptr, ptr %383, align 8
  %385 = call noundef ptr %384(ptr noundef nonnull align 8 dereferenceable(16) %381)
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8) %42, ptr noundef %385)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %43) #7
  %386 = getelementptr inbounds i8, ptr %0, i64 72
  %387 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %386)
  %388 = load ptr, ptr %387, align 8, !tbaa !31
  %389 = getelementptr inbounds i8, ptr %388, i64 16
  %390 = load ptr, ptr %389, align 8
  %391 = invoke noundef ptr %390(ptr noundef nonnull align 8 dereferenceable(20) %387)
          to label %392 unwind label %454

392:                                              ; preds = %379
  invoke void @_ZN10SimTKIpopt8SmartPtrINS_6MatrixEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8) %43, ptr noundef %391)
          to label %393 unwind label %454

393:                                              ; preds = %392
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %44) #7
  %394 = getelementptr inbounds i8, ptr %0, i64 80
  %395 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %394)
  %396 = load ptr, ptr %395, align 8, !tbaa !31
  %397 = getelementptr inbounds i8, ptr %396, i64 16
  %398 = load ptr, ptr %397, align 8
  %399 = invoke noundef ptr %398(ptr noundef nonnull align 8 dereferenceable(16) %395)
          to label %400 unwind label %456

400:                                              ; preds = %393
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8) %44, ptr noundef %399)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %45) #7
  %401 = getelementptr inbounds i8, ptr %0, i64 88
  %402 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %401)
  %403 = load ptr, ptr %402, align 8, !tbaa !31
  %404 = getelementptr inbounds i8, ptr %403, i64 16
  %405 = load ptr, ptr %404, align 8
  %406 = invoke noundef ptr %405(ptr noundef nonnull align 8 dereferenceable(20) %402)
          to label %407 unwind label %458

407:                                              ; preds = %400
  invoke void @_ZN10SimTKIpopt8SmartPtrINS_6MatrixEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8) %45, ptr noundef %406)
          to label %408 unwind label %458

408:                                              ; preds = %407
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %46) #7
  %409 = getelementptr inbounds i8, ptr %0, i64 96
  %410 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %409)
  %411 = load ptr, ptr %410, align 8, !tbaa !31
  %412 = getelementptr inbounds i8, ptr %411, i64 16
  %413 = load ptr, ptr %412, align 8
  %414 = invoke noundef ptr %413(ptr noundef nonnull align 8 dereferenceable(16) %410)
          to label %415 unwind label %460

415:                                              ; preds = %408
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8) %46, ptr noundef %414)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %47) #7
  %416 = getelementptr inbounds i8, ptr %0, i64 104
  %417 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %416)
  %418 = load ptr, ptr %417, align 8, !tbaa !31
  %419 = getelementptr inbounds i8, ptr %418, i64 16
  %420 = load ptr, ptr %419, align 8
  %421 = invoke noundef ptr %420(ptr noundef nonnull align 8 dereferenceable(20) %417)
          to label %422 unwind label %462

422:                                              ; preds = %415
  invoke void @_ZN10SimTKIpopt8SmartPtrINS_6MatrixEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8) %47, ptr noundef %421)
          to label %423 unwind label %462

423:                                              ; preds = %422
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %48) #7
  %424 = getelementptr inbounds i8, ptr %0, i64 112
  %425 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %424)
  %426 = load ptr, ptr %425, align 8, !tbaa !31
  %427 = getelementptr inbounds i8, ptr %426, i64 16
  %428 = load ptr, ptr %427, align 8
  %429 = invoke noundef ptr %428(ptr noundef nonnull align 8 dereferenceable(16) %425)
          to label %430 unwind label %464

430:                                              ; preds = %423
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8) %48, ptr noundef %429)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %49) #7
  %431 = getelementptr inbounds i8, ptr %0, i64 120
  %432 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %431)
  %433 = load ptr, ptr %432, align 8, !tbaa !31
  %434 = getelementptr inbounds i8, ptr %433, i64 16
  %435 = load ptr, ptr %434, align 8
  %436 = invoke noundef ptr %435(ptr noundef nonnull align 8 dereferenceable(20) %432)
          to label %437 unwind label %466

437:                                              ; preds = %430
  invoke void @_ZN10SimTKIpopt8SmartPtrINS_6MatrixEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8) %49, ptr noundef %436)
          to label %438 unwind label %466

438:                                              ; preds = %437
  %439 = getelementptr inbounds i8, ptr %0, i64 32
  %440 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_3NLPEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %439)
  %441 = call noundef nonnull align 8 dereferenceable(69) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6MatrixEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %43)
  %442 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %42)
  %443 = call noundef nonnull align 8 dereferenceable(69) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6MatrixEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %45)
  %444 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %44)
  %445 = call noundef nonnull align 8 dereferenceable(69) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6MatrixEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %47)
  %446 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %46)
  %447 = call noundef nonnull align 8 dereferenceable(69) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6MatrixEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %49)
  %448 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %48)
  %449 = load ptr, ptr %440, align 8, !tbaa !31
  %450 = getelementptr inbounds i8, ptr %449, i64 32
  %451 = load ptr, ptr %450, align 8
  %452 = invoke noundef zeroext i1 %451(ptr noundef nonnull align 8 dereferenceable(12) %440, ptr noundef nonnull align 8 dereferenceable(69) %441, ptr noundef nonnull align 8 dereferenceable(205) %442, ptr noundef nonnull align 8 dereferenceable(69) %443, ptr noundef nonnull align 8 dereferenceable(205) %444, ptr noundef nonnull align 8 dereferenceable(69) %445, ptr noundef nonnull align 8 dereferenceable(205) %446, ptr noundef nonnull align 8 dereferenceable(69) %447, ptr noundef nonnull align 8 dereferenceable(205) %448)
          to label %453 unwind label %468

453:                                              ; preds = %438
  br i1 %452, label %470, label %1099

454:                                              ; preds = %392, %379
  %455 = landingpad { ptr, i32 }
          cleanup
  br label %1107

456:                                              ; preds = %393
  %457 = landingpad { ptr, i32 }
          cleanup
  br label %1106

458:                                              ; preds = %407, %400
  %459 = landingpad { ptr, i32 }
          cleanup
  br label %1105

460:                                              ; preds = %408
  %461 = landingpad { ptr, i32 }
          cleanup
  br label %1104

462:                                              ; preds = %422, %415
  %463 = landingpad { ptr, i32 }
          cleanup
  br label %1103

464:                                              ; preds = %423
  %465 = landingpad { ptr, i32 }
          cleanup
  br label %1102

466:                                              ; preds = %437, %430
  %467 = landingpad { ptr, i32 }
          cleanup
  br label %1101

468:                                              ; preds = %711, %705, %703, %697, %695, %689, %687, %681, %679, %673, %671, %664, %662, %656, %571, %567, %564, %559, %438
  %469 = landingpad { ptr, i32 }
          cleanup
  br label %1100

470:                                              ; preds = %453
  %471 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %42)
  %472 = getelementptr inbounds i8, ptr %0, i64 24
  %473 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_10JournalistEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %472)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %50) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %51) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %51) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef nonnull @.str.40, ptr noundef nonnull align 1 dereferenceable(1) %51)
          to label %474 unwind label %514

474:                                              ; preds = %470
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %52) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %53) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %53) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %52, ptr noundef nonnull @.str.41, ptr noundef nonnull align 1 dereferenceable(1) %53)
          to label %475 unwind label %516

475:                                              ; preds = %474
  invoke void @_ZNK10SimTKIpopt6Vector5PrintERKNS_10JournalistENS_13EJournalLevelENS_16EJournalCategoryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSD_(ptr noundef nonnull align 8 dereferenceable(205) %471, ptr noundef nonnull align 8 dereferenceable(40) %473, i32 noundef 8, i32 noundef 3, ptr noundef nonnull align 8 dereferenceable(32) %50, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(32) %52)
          to label %476 unwind label %518

476:                                              ; preds = %475
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %53) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %53) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %52) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %51) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %51) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %50) #7
  %477 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %44)
  %478 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_10JournalistEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %472)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %54) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %55) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %55) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %54, ptr noundef nonnull @.str.42, ptr noundef nonnull align 1 dereferenceable(1) %55)
          to label %479 unwind label %522

479:                                              ; preds = %476
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %56) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %57) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %57) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %56, ptr noundef nonnull @.str.41, ptr noundef nonnull align 1 dereferenceable(1) %57)
          to label %480 unwind label %524

480:                                              ; preds = %479
  invoke void @_ZNK10SimTKIpopt6Vector5PrintERKNS_10JournalistENS_13EJournalLevelENS_16EJournalCategoryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSD_(ptr noundef nonnull align 8 dereferenceable(205) %477, ptr noundef nonnull align 8 dereferenceable(40) %478, i32 noundef 8, i32 noundef 3, ptr noundef nonnull align 8 dereferenceable(32) %54, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(32) %56)
          to label %481 unwind label %526

481:                                              ; preds = %480
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %57) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %57) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %56) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %55) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %55) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %54) #7
  %482 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %46)
  %483 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_10JournalistEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %472)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %58) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %59) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %59) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %58, ptr noundef nonnull @.str.43, ptr noundef nonnull align 1 dereferenceable(1) %59)
          to label %484 unwind label %530

484:                                              ; preds = %481
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %60) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %61) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %61) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %60, ptr noundef nonnull @.str.41, ptr noundef nonnull align 1 dereferenceable(1) %61)
          to label %485 unwind label %532

485:                                              ; preds = %484
  invoke void @_ZNK10SimTKIpopt6Vector5PrintERKNS_10JournalistENS_13EJournalLevelENS_16EJournalCategoryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSD_(ptr noundef nonnull align 8 dereferenceable(205) %482, ptr noundef nonnull align 8 dereferenceable(40) %483, i32 noundef 8, i32 noundef 3, ptr noundef nonnull align 8 dereferenceable(32) %58, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(32) %60)
          to label %486 unwind label %534

486:                                              ; preds = %485
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %61) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %61) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %60) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %59) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %59) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %58) #7
  %487 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %48)
  %488 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_10JournalistEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %472)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %62) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %63) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %63) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %62, ptr noundef nonnull @.str.44, ptr noundef nonnull align 1 dereferenceable(1) %63)
          to label %489 unwind label %538

489:                                              ; preds = %486
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %64) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %65) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %65) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %64, ptr noundef nonnull @.str.41, ptr noundef nonnull align 1 dereferenceable(1) %65)
          to label %490 unwind label %540

490:                                              ; preds = %489
  invoke void @_ZNK10SimTKIpopt6Vector5PrintERKNS_10JournalistENS_13EJournalLevelENS_16EJournalCategoryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSD_(ptr noundef nonnull align 8 dereferenceable(205) %487, ptr noundef nonnull align 8 dereferenceable(40) %488, i32 noundef 8, i32 noundef 3, ptr noundef nonnull align 8 dereferenceable(32) %62, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(32) %64)
          to label %491 unwind label %542

491:                                              ; preds = %490
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %65) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %65) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %64) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %63) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %63) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %62) #7
  %492 = getelementptr inbounds i8, ptr %0, i64 432
  %493 = load i8, ptr %492, align 8, !tbaa !34, !range !29, !noundef !30
  %494 = trunc nuw i8 %493 to i1
  br i1 %494, label %495, label %559

495:                                              ; preds = %491
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %66) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %66)
  %496 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %42)
  %497 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector11MakeNewCopyEv(ptr noundef nonnull align 8 dereferenceable(205) %496)
          to label %498 unwind label %546

498:                                              ; preds = %495
  %499 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %66, ptr noundef %497)
          to label %500 unwind label %546

500:                                              ; preds = %498
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %67) #7
  invoke void @_ZN10SimTKIpopt8ConstPtrINS_6VectorEEENS_8SmartPtrIKT_EERKNS2_IS3_EE(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.23") align 8 %67, ptr noundef nonnull align 8 dereferenceable(8) %66)
          to label %501 unwind label %548

501:                                              ; preds = %500
  %502 = getelementptr inbounds i8, ptr %0, i64 408
  %503 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %502, ptr noundef nonnull align 8 dereferenceable(8) %67)
          to label %504 unwind label %550

504:                                              ; preds = %501
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %67) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %67) #7
  %505 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %44)
  %506 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector11MakeNewCopyEv(ptr noundef nonnull align 8 dereferenceable(205) %505)
          to label %507 unwind label %546

507:                                              ; preds = %504
  %508 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %66, ptr noundef %506)
          to label %509 unwind label %546

509:                                              ; preds = %507
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %68) #7
  invoke void @_ZN10SimTKIpopt8ConstPtrINS_6VectorEEENS_8SmartPtrIKT_EERKNS2_IS3_EE(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.23") align 8 %68, ptr noundef nonnull align 8 dereferenceable(8) %66)
          to label %510 unwind label %553

510:                                              ; preds = %509
  %511 = getelementptr inbounds i8, ptr %0, i64 416
  %512 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %511, ptr noundef nonnull align 8 dereferenceable(8) %68)
          to label %513 unwind label %555

513:                                              ; preds = %510
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %68) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %68) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %66) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %66) #7
  br label %559

514:                                              ; preds = %470
  %515 = landingpad { ptr, i32 }
          cleanup
  br label %521

516:                                              ; preds = %474
  %517 = landingpad { ptr, i32 }
          cleanup
  br label %520

518:                                              ; preds = %475
  %519 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #7
  br label %520

520:                                              ; preds = %518, %516
  %.pn209 = phi { ptr, i32 } [ %519, %518 ], [ %517, %516 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %53) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %53) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %52) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #7
  br label %521

521:                                              ; preds = %520, %514
  %.pn209.pn = phi { ptr, i32 } [ %.pn209, %520 ], [ %515, %514 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %51) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %51) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %50) #7
  br label %1100

522:                                              ; preds = %476
  %523 = landingpad { ptr, i32 }
          cleanup
  br label %529

524:                                              ; preds = %479
  %525 = landingpad { ptr, i32 }
          cleanup
  br label %528

526:                                              ; preds = %480
  %527 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #7
  br label %528

528:                                              ; preds = %526, %524
  %.pn212 = phi { ptr, i32 } [ %527, %526 ], [ %525, %524 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %57) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %57) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %56) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #7
  br label %529

529:                                              ; preds = %528, %522
  %.pn212.pn = phi { ptr, i32 } [ %.pn212, %528 ], [ %523, %522 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %55) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %55) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %54) #7
  br label %1100

530:                                              ; preds = %481
  %531 = landingpad { ptr, i32 }
          cleanup
  br label %537

532:                                              ; preds = %484
  %533 = landingpad { ptr, i32 }
          cleanup
  br label %536

534:                                              ; preds = %485
  %535 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #7
  br label %536

536:                                              ; preds = %534, %532
  %.pn215 = phi { ptr, i32 } [ %535, %534 ], [ %533, %532 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %61) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %61) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %60) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #7
  br label %537

537:                                              ; preds = %536, %530
  %.pn215.pn = phi { ptr, i32 } [ %.pn215, %536 ], [ %531, %530 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %59) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %59) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %58) #7
  br label %1100

538:                                              ; preds = %486
  %539 = landingpad { ptr, i32 }
          cleanup
  br label %545

540:                                              ; preds = %489
  %541 = landingpad { ptr, i32 }
          cleanup
  br label %544

542:                                              ; preds = %490
  %543 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #7
  br label %544

544:                                              ; preds = %542, %540
  %.pn218 = phi { ptr, i32 } [ %543, %542 ], [ %541, %540 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %65) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %65) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %64) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #7
  br label %545

545:                                              ; preds = %544, %538
  %.pn218.pn = phi { ptr, i32 } [ %.pn218, %544 ], [ %539, %538 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %63) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %63) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %62) #7
  br label %1100

546:                                              ; preds = %507, %504, %498, %495
  %547 = landingpad { ptr, i32 }
          cleanup
  br label %558

548:                                              ; preds = %500
  %549 = landingpad { ptr, i32 }
          cleanup
  br label %552

550:                                              ; preds = %501
  %551 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %67) #7
  br label %552

552:                                              ; preds = %550, %548
  %.pn221 = phi { ptr, i32 } [ %551, %550 ], [ %549, %548 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %67) #7
  br label %558

553:                                              ; preds = %509
  %554 = landingpad { ptr, i32 }
          cleanup
  br label %557

555:                                              ; preds = %510
  %556 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %68) #7
  br label %557

557:                                              ; preds = %555, %553
  %.pn223 = phi { ptr, i32 } [ %556, %555 ], [ %554, %553 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %68) #7
  br label %558

558:                                              ; preds = %557, %552, %546
  %.pn223.pn = phi { ptr, i32 } [ %.pn223, %557 ], [ %547, %546 ], [ %.pn221, %552 ]
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %66) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %66) #7
  br label %1100

559:                                              ; preds = %513, %491
  %560 = getelementptr inbounds i8, ptr %0, i64 424
  %561 = load double, ptr %560, align 8, !tbaa !35
  %562 = fneg double %561
  %563 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %42)
  invoke void @_ZN10SimTKIpopt12OrigIpoptNLP12relax_boundsEdRNS_6VectorE(ptr noundef nonnull align 8 dereferenceable(648) %0, double noundef %562, ptr noundef nonnull align 8 dereferenceable(205) %563)
          to label %564 unwind label %468

564:                                              ; preds = %559
  %565 = load double, ptr %560, align 8, !tbaa !35
  %566 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %44)
  invoke void @_ZN10SimTKIpopt12OrigIpoptNLP12relax_boundsEdRNS_6VectorE(ptr noundef nonnull align 8 dereferenceable(648) %0, double noundef %565, ptr noundef nonnull align 8 dereferenceable(205) %566)
          to label %567 unwind label %468

567:                                              ; preds = %564
  %568 = load double, ptr %560, align 8, !tbaa !35
  %569 = fneg double %568
  %570 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %46)
  invoke void @_ZN10SimTKIpopt12OrigIpoptNLP12relax_boundsEdRNS_6VectorE(ptr noundef nonnull align 8 dereferenceable(648) %0, double noundef %569, ptr noundef nonnull align 8 dereferenceable(205) %570)
          to label %571 unwind label %468

571:                                              ; preds = %567
  %572 = load double, ptr %560, align 8, !tbaa !35
  %573 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %48)
  invoke void @_ZN10SimTKIpopt12OrigIpoptNLP12relax_boundsEdRNS_6VectorE(ptr noundef nonnull align 8 dereferenceable(648) %0, double noundef %572, ptr noundef nonnull align 8 dereferenceable(205) %573)
          to label %574 unwind label %468

574:                                              ; preds = %571
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %69) #7
  invoke void @_ZN10SimTKIpopt8ConstPtrINS_6VectorEEENS_8SmartPtrIKT_EERKNS2_IS3_EE(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.23") align 8 %69, ptr noundef nonnull align 8 dereferenceable(8) %42)
          to label %575 unwind label %725

575:                                              ; preds = %574
  %576 = getelementptr inbounds i8, ptr %0, i64 344
  %577 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %576, ptr noundef nonnull align 8 dereferenceable(8) %69)
          to label %578 unwind label %727

578:                                              ; preds = %575
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %69) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %69) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %70) #7
  invoke void @_ZN10SimTKIpopt8ConstPtrINS_6MatrixEEENS_8SmartPtrIKT_EERKNS2_IS3_EE(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.24") align 8 %70, ptr noundef nonnull align 8 dereferenceable(8) %43)
          to label %579 unwind label %730

579:                                              ; preds = %578
  %580 = getelementptr inbounds i8, ptr %0, i64 352
  %581 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %580, ptr noundef nonnull align 8 dereferenceable(8) %70)
          to label %582 unwind label %732

582:                                              ; preds = %579
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(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.start.p0(i64 8, ptr nonnull %71) #7
  invoke void @_ZN10SimTKIpopt8ConstPtrINS_6VectorEEENS_8SmartPtrIKT_EERKNS2_IS3_EE(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.23") align 8 %71, ptr noundef nonnull align 8 dereferenceable(8) %44)
          to label %583 unwind label %735

583:                                              ; preds = %582
  %584 = getelementptr inbounds i8, ptr %0, i64 360
  %585 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %584, ptr noundef nonnull align 8 dereferenceable(8) %71)
          to label %586 unwind label %737

586:                                              ; preds = %583
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %71) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %71) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %72) #7
  invoke void @_ZN10SimTKIpopt8ConstPtrINS_6MatrixEEENS_8SmartPtrIKT_EERKNS2_IS3_EE(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.24") align 8 %72, ptr noundef nonnull align 8 dereferenceable(8) %45)
          to label %587 unwind label %740

587:                                              ; preds = %586
  %588 = getelementptr inbounds i8, ptr %0, i64 368
  %589 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %588, ptr noundef nonnull align 8 dereferenceable(8) %72)
          to label %590 unwind label %742

590:                                              ; preds = %587
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(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.start.p0(i64 8, ptr nonnull %73) #7
  invoke void @_ZN10SimTKIpopt8ConstPtrINS_6VectorEEENS_8SmartPtrIKT_EERKNS2_IS3_EE(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.23") align 8 %73, ptr noundef nonnull align 8 dereferenceable(8) %46)
          to label %591 unwind label %745

591:                                              ; preds = %590
  %592 = getelementptr inbounds i8, ptr %0, i64 376
  %593 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %592, ptr noundef nonnull align 8 dereferenceable(8) %73)
          to label %594 unwind label %747

594:                                              ; preds = %591
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %73) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %73) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %74) #7
  invoke void @_ZN10SimTKIpopt8ConstPtrINS_6MatrixEEENS_8SmartPtrIKT_EERKNS2_IS3_EE(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.24") align 8 %74, ptr noundef nonnull align 8 dereferenceable(8) %47)
          to label %595 unwind label %750

595:                                              ; preds = %594
  %596 = getelementptr inbounds i8, ptr %0, i64 384
  %597 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %596, ptr noundef nonnull align 8 dereferenceable(8) %74)
          to label %598 unwind label %752

598:                                              ; preds = %595
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(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.start.p0(i64 8, ptr nonnull %75) #7
  invoke void @_ZN10SimTKIpopt8ConstPtrINS_6VectorEEENS_8SmartPtrIKT_EERKNS2_IS3_EE(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.23") align 8 %75, ptr noundef nonnull align 8 dereferenceable(8) %48)
          to label %599 unwind label %755

599:                                              ; preds = %598
  %600 = getelementptr inbounds i8, ptr %0, i64 392
  %601 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %600, ptr noundef nonnull align 8 dereferenceable(8) %75)
          to label %602 unwind label %757

602:                                              ; preds = %599
  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
  invoke void @_ZN10SimTKIpopt8ConstPtrINS_6MatrixEEENS_8SmartPtrIKT_EERKNS2_IS3_EE(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.24") align 8 %76, ptr noundef nonnull align 8 dereferenceable(8) %49)
          to label %603 unwind label %760

603:                                              ; preds = %602
  %604 = getelementptr inbounds i8, ptr %0, i64 400
  %605 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %604, ptr noundef nonnull align 8 dereferenceable(8) %76)
          to label %606 unwind label %762

606:                                              ; preds = %603
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(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
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %78) #7
  invoke void @_ZNK10SimTKIpopt8IpoptNLP11NLP_scalingEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.16") align 8 %78, ptr noundef nonnull align 8 dereferenceable(24) %0)
          to label %607 unwind label %765

607:                                              ; preds = %606
  %608 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %78)
  %609 = call noundef nonnull align 8 dereferenceable(69) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6MatrixEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %580)
  %610 = getelementptr inbounds i8, ptr %0, i64 40
  %611 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %610)
  invoke void @_ZN10SimTKIpopt16NLPScalingObject25apply_vector_scaling_x_LUERKNS_6MatrixERKNS_8SmartPtrIKNS_6VectorEEERKNS_11VectorSpaceE(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.23") align 8 %77, ptr noundef nonnull align 8 dereferenceable(24) %608, ptr noundef nonnull align 8 dereferenceable(69) %609, ptr noundef nonnull align 8 dereferenceable(8) %576, ptr noundef nonnull align 8 dereferenceable(16) %611)
          to label %612 unwind label %767

612:                                              ; preds = %607
  %613 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %576, ptr noundef nonnull align 8 dereferenceable(8) %77)
          to label %614 unwind label %769

614:                                              ; preds = %612
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %77) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %78) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %78) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %77) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %79) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %80) #7
  invoke void @_ZNK10SimTKIpopt8IpoptNLP11NLP_scalingEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.16") align 8 %80, ptr noundef nonnull align 8 dereferenceable(24) %0)
          to label %615 unwind label %773

615:                                              ; preds = %614
  %616 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %80)
  %617 = call noundef nonnull align 8 dereferenceable(69) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6MatrixEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %588)
  %618 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %610)
  invoke void @_ZN10SimTKIpopt16NLPScalingObject25apply_vector_scaling_x_LUERKNS_6MatrixERKNS_8SmartPtrIKNS_6VectorEEERKNS_11VectorSpaceE(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.23") align 8 %79, ptr noundef nonnull align 8 dereferenceable(24) %616, ptr noundef nonnull align 8 dereferenceable(69) %617, ptr noundef nonnull align 8 dereferenceable(8) %584, ptr noundef nonnull align 8 dereferenceable(16) %618)
          to label %619 unwind label %775

619:                                              ; preds = %615
  %620 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %584, ptr noundef nonnull align 8 dereferenceable(8) %79)
          to label %621 unwind label %777

621:                                              ; preds = %619
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %79) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEED2Ev(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.end.p0(i64 8, ptr nonnull %79) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %81) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %82) #7
  invoke void @_ZNK10SimTKIpopt8IpoptNLP11NLP_scalingEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.16") align 8 %82, ptr noundef nonnull align 8 dereferenceable(24) %0)
          to label %622 unwind label %781

622:                                              ; preds = %621
  %623 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %82)
  %624 = call noundef nonnull align 8 dereferenceable(69) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6MatrixEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %596)
  %625 = getelementptr inbounds i8, ptr %0, i64 56
  %626 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %625)
  invoke void @_ZN10SimTKIpopt16NLPScalingObject25apply_vector_scaling_d_LUERKNS_6MatrixERKNS_8SmartPtrIKNS_6VectorEEERKNS_11VectorSpaceE(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.23") align 8 %81, ptr noundef nonnull align 8 dereferenceable(24) %623, ptr noundef nonnull align 8 dereferenceable(69) %624, ptr noundef nonnull align 8 dereferenceable(8) %592, ptr noundef nonnull align 8 dereferenceable(16) %626)
          to label %627 unwind label %783

627:                                              ; preds = %622
  %628 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %592, ptr noundef nonnull align 8 dereferenceable(8) %81)
          to label %629 unwind label %785

629:                                              ; preds = %627
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %81) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %82) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %82) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %81) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %83) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %84) #7
  invoke void @_ZNK10SimTKIpopt8IpoptNLP11NLP_scalingEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.16") align 8 %84, ptr noundef nonnull align 8 dereferenceable(24) %0)
          to label %630 unwind label %789

630:                                              ; preds = %629
  %631 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %84)
  %632 = call noundef nonnull align 8 dereferenceable(69) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6MatrixEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %604)
  %633 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %625)
  invoke void @_ZN10SimTKIpopt16NLPScalingObject25apply_vector_scaling_d_LUERKNS_6MatrixERKNS_8SmartPtrIKNS_6VectorEEERKNS_11VectorSpaceE(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.23") align 8 %83, ptr noundef nonnull align 8 dereferenceable(24) %631, ptr noundef nonnull align 8 dereferenceable(69) %632, ptr noundef nonnull align 8 dereferenceable(8) %600, ptr noundef nonnull align 8 dereferenceable(16) %633)
          to label %634 unwind label %791

634:                                              ; preds = %630
  %635 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %600, ptr noundef nonnull align 8 dereferenceable(8) %83)
          to label %636 unwind label %793

636:                                              ; preds = %634
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %83) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEED2Ev(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.end.p0(i64 8, ptr nonnull %83) #7
  %637 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %42)
  %638 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_10JournalistEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %472)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %85) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %86) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %86) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %85, ptr noundef nonnull @.str.45, ptr noundef nonnull align 1 dereferenceable(1) %86)
          to label %639 unwind label %797

639:                                              ; preds = %636
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %87) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %88) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %88) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %87, ptr noundef nonnull @.str.41, ptr noundef nonnull align 1 dereferenceable(1) %88)
          to label %640 unwind label %799

640:                                              ; preds = %639
  invoke void @_ZNK10SimTKIpopt6Vector5PrintERKNS_10JournalistENS_13EJournalLevelENS_16EJournalCategoryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSD_(ptr noundef nonnull align 8 dereferenceable(205) %637, ptr noundef nonnull align 8 dereferenceable(40) %638, i32 noundef 7, i32 noundef 3, ptr noundef nonnull align 8 dereferenceable(32) %85, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(32) %87)
          to label %641 unwind label %801

641:                                              ; preds = %640
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %87) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %88) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %88) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %87) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %85) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %86) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %86) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %85) #7
  %642 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %44)
  %643 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_10JournalistEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %472)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %89) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %90) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %90) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %89, ptr noundef nonnull @.str.46, ptr noundef nonnull align 1 dereferenceable(1) %90)
          to label %644 unwind label %805

644:                                              ; preds = %641
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %91) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %92) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %92) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %91, ptr noundef nonnull @.str.41, ptr noundef nonnull align 1 dereferenceable(1) %92)
          to label %645 unwind label %807

645:                                              ; preds = %644
  invoke void @_ZNK10SimTKIpopt6Vector5PrintERKNS_10JournalistENS_13EJournalLevelENS_16EJournalCategoryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSD_(ptr noundef nonnull align 8 dereferenceable(205) %642, ptr noundef nonnull align 8 dereferenceable(40) %643, i32 noundef 7, i32 noundef 3, ptr noundef nonnull align 8 dereferenceable(32) %89, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(32) %91)
          to label %646 unwind label %809

646:                                              ; preds = %645
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %91) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %92) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %92) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %91) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %89) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %90) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %90) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %89) #7
  %647 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %46)
  %648 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_10JournalistEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %472)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %93) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %94) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %94) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %93, ptr noundef nonnull @.str.47, ptr noundef nonnull align 1 dereferenceable(1) %94)
          to label %649 unwind label %813

649:                                              ; preds = %646
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %95) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %96) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %96) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %95, ptr noundef nonnull @.str.41, ptr noundef nonnull align 1 dereferenceable(1) %96)
          to label %650 unwind label %815

650:                                              ; preds = %649
  invoke void @_ZNK10SimTKIpopt6Vector5PrintERKNS_10JournalistENS_13EJournalLevelENS_16EJournalCategoryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSD_(ptr noundef nonnull align 8 dereferenceable(205) %647, ptr noundef nonnull align 8 dereferenceable(40) %648, i32 noundef 7, i32 noundef 3, ptr noundef nonnull align 8 dereferenceable(32) %93, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(32) %95)
          to label %651 unwind label %817

651:                                              ; preds = %650
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %95) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %96) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %96) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %95) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %93) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %94) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %94) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %93) #7
  %652 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %48)
  %653 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_10JournalistEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %472)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %97) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %98) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %98) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %97, ptr noundef nonnull @.str.48, ptr noundef nonnull align 1 dereferenceable(1) %98)
          to label %654 unwind label %821

654:                                              ; preds = %651
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %99) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %100) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %100) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %99, ptr noundef nonnull @.str.41, ptr noundef nonnull align 1 dereferenceable(1) %100)
          to label %655 unwind label %823

655:                                              ; preds = %654
  invoke void @_ZNK10SimTKIpopt6Vector5PrintERKNS_10JournalistENS_13EJournalLevelENS_16EJournalCategoryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSD_(ptr noundef nonnull align 8 dereferenceable(205) %652, ptr noundef nonnull align 8 dereferenceable(40) %653, i32 noundef 7, i32 noundef 3, ptr noundef nonnull align 8 dereferenceable(32) %97, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(32) %99)
          to label %656 unwind label %825

656:                                              ; preds = %655
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %99) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %100) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %100) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %99) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %97) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %98) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %98) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %97) #7
  %657 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %610)
  %658 = load ptr, ptr %657, align 8, !tbaa !31
  %659 = getelementptr inbounds i8, ptr %658, i64 16
  %660 = load ptr, ptr %659, align 8
  %661 = invoke noundef ptr %660(ptr noundef nonnull align 8 dereferenceable(16) %657)
          to label %662 unwind label %468

662:                                              ; preds = %656
  %663 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %1, ptr noundef %661)
          to label %664 unwind label %468

664:                                              ; preds = %662
  %665 = getelementptr inbounds i8, ptr %0, i64 48
  %666 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %665)
  %667 = load ptr, ptr %666, align 8, !tbaa !31
  %668 = getelementptr inbounds i8, ptr %667, i64 16
  %669 = load ptr, ptr %668, align 8
  %670 = invoke noundef ptr %669(ptr noundef nonnull align 8 dereferenceable(16) %666)
          to label %671 unwind label %468

671:                                              ; preds = %664
  %672 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %3, ptr noundef %670)
          to label %673 unwind label %468

673:                                              ; preds = %671
  %674 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %625)
  %675 = load ptr, ptr %674, align 8, !tbaa !31
  %676 = getelementptr inbounds i8, ptr %675, i64 16
  %677 = load ptr, ptr %676, align 8
  %678 = invoke noundef ptr %677(ptr noundef nonnull align 8 dereferenceable(16) %674)
          to label %679 unwind label %468

679:                                              ; preds = %673
  %680 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %5, ptr noundef %678)
          to label %681 unwind label %468

681:                                              ; preds = %679
  %682 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %380)
  %683 = load ptr, ptr %682, align 8, !tbaa !31
  %684 = getelementptr inbounds i8, ptr %683, i64 16
  %685 = load ptr, ptr %684, align 8
  %686 = invoke noundef ptr %685(ptr noundef nonnull align 8 dereferenceable(16) %682)
          to label %687 unwind label %468

687:                                              ; preds = %681
  %688 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %7, ptr noundef %686)
          to label %689 unwind label %468

689:                                              ; preds = %687
  %690 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %394)
  %691 = load ptr, ptr %690, align 8, !tbaa !31
  %692 = getelementptr inbounds i8, ptr %691, i64 16
  %693 = load ptr, ptr %692, align 8
  %694 = invoke noundef ptr %693(ptr noundef nonnull align 8 dereferenceable(16) %690)
          to label %695 unwind label %468

695:                                              ; preds = %689
  %696 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %9, ptr noundef %694)
          to label %697 unwind label %468

697:                                              ; preds = %695
  %698 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %409)
  %699 = load ptr, ptr %698, align 8, !tbaa !31
  %700 = getelementptr inbounds i8, ptr %699, i64 16
  %701 = load ptr, ptr %700, align 8
  %702 = invoke noundef ptr %701(ptr noundef nonnull align 8 dereferenceable(16) %698)
          to label %703 unwind label %468

703:                                              ; preds = %697
  %704 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %11, ptr noundef %702)
          to label %705 unwind label %468

705:                                              ; preds = %703
  %706 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %424)
  %707 = load ptr, ptr %706, align 8, !tbaa !31
  %708 = getelementptr inbounds i8, ptr %707, i64 16
  %709 = load ptr, ptr %708, align 8
  %710 = invoke noundef ptr %709(ptr noundef nonnull align 8 dereferenceable(16) %706)
          to label %711 unwind label %468

711:                                              ; preds = %705
  %712 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %12, ptr noundef %710)
          to label %713 unwind label %468

713:                                              ; preds = %711
  %714 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_3NLPEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %439)
  %715 = call noundef ptr @_ZN10SimTKIpopt9GetRawPtrINS_6VectorEEEPT_RKNS_8SmartPtrIS2_EE(ptr noundef nonnull align 8 dereferenceable(8) %1)
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8) %101, ptr noundef %715)
  %716 = call noundef ptr @_ZN10SimTKIpopt9GetRawPtrINS_6VectorEEEPT_RKNS_8SmartPtrIS2_EE(ptr noundef nonnull align 8 dereferenceable(8) %3)
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8) %102, ptr noundef %716)
  %717 = call noundef ptr @_ZN10SimTKIpopt9GetRawPtrINS_6VectorEEEPT_RKNS_8SmartPtrIS2_EE(ptr noundef nonnull align 8 dereferenceable(8) %5)
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8) %103, ptr noundef %717)
  %718 = call noundef ptr @_ZN10SimTKIpopt9GetRawPtrINS_6VectorEEEPT_RKNS_8SmartPtrIS2_EE(ptr noundef nonnull align 8 dereferenceable(8) %7)
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8) %104, ptr noundef %718)
  %719 = call noundef ptr @_ZN10SimTKIpopt9GetRawPtrINS_6VectorEEEPT_RKNS_8SmartPtrIS2_EE(ptr noundef nonnull align 8 dereferenceable(8) %9)
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8) %105, ptr noundef %719)
  %720 = load ptr, ptr %714, align 8, !tbaa !31
  %721 = getelementptr inbounds i8, ptr %720, i64 40
  %722 = load ptr, ptr %721, align 8
  %723 = invoke noundef zeroext i1 %722(ptr noundef nonnull align 8 dereferenceable(12) %714, ptr noundef nonnull %101, i1 noundef zeroext %2, ptr noundef nonnull %102, i1 noundef zeroext %4, ptr noundef nonnull %103, i1 noundef zeroext %6, ptr noundef nonnull %104, i1 noundef zeroext %8, ptr noundef nonnull %105, i1 noundef zeroext %10)
          to label %724 unwind label %829

724:                                              ; preds = %713
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %105) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %104) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %103) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %102) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %101) #7
  br i1 %723, label %831, label %1099

725:                                              ; preds = %574
  %726 = landingpad { ptr, i32 }
          cleanup
  br label %729

727:                                              ; preds = %575
  %728 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %69) #7
  br label %729

729:                                              ; preds = %727, %725
  %.pn226 = phi { ptr, i32 } [ %728, %727 ], [ %726, %725 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %69) #7
  br label %1100

730:                                              ; preds = %578
  %731 = landingpad { ptr, i32 }
          cleanup
  br label %734

732:                                              ; preds = %579
  %733 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %70) #7
  br label %734

734:                                              ; preds = %732, %730
  %.pn228 = phi { ptr, i32 } [ %733, %732 ], [ %731, %730 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %70) #7
  br label %1100

735:                                              ; preds = %582
  %736 = landingpad { ptr, i32 }
          cleanup
  br label %739

737:                                              ; preds = %583
  %738 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %71) #7
  br label %739

739:                                              ; preds = %737, %735
  %.pn230 = phi { ptr, i32 } [ %738, %737 ], [ %736, %735 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %71) #7
  br label %1100

740:                                              ; preds = %586
  %741 = landingpad { ptr, i32 }
          cleanup
  br label %744

742:                                              ; preds = %587
  %743 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %72) #7
  br label %744

744:                                              ; preds = %742, %740
  %.pn232 = phi { ptr, i32 } [ %743, %742 ], [ %741, %740 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %72) #7
  br label %1100

745:                                              ; preds = %590
  %746 = landingpad { ptr, i32 }
          cleanup
  br label %749

747:                                              ; preds = %591
  %748 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %73) #7
  br label %749

749:                                              ; preds = %747, %745
  %.pn234 = phi { ptr, i32 } [ %748, %747 ], [ %746, %745 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %73) #7
  br label %1100

750:                                              ; preds = %594
  %751 = landingpad { ptr, i32 }
          cleanup
  br label %754

752:                                              ; preds = %595
  %753 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %74) #7
  br label %754

754:                                              ; preds = %752, %750
  %.pn236 = phi { ptr, i32 } [ %753, %752 ], [ %751, %750 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %74) #7
  br label %1100

755:                                              ; preds = %598
  %756 = landingpad { ptr, i32 }
          cleanup
  br label %759

757:                                              ; preds = %599
  %758 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %75) #7
  br label %759

759:                                              ; preds = %757, %755
  %.pn238 = phi { ptr, i32 } [ %758, %757 ], [ %756, %755 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %75) #7
  br label %1100

760:                                              ; preds = %602
  %761 = landingpad { ptr, i32 }
          cleanup
  br label %764

762:                                              ; preds = %603
  %763 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %76) #7
  br label %764

764:                                              ; preds = %762, %760
  %.pn240 = phi { ptr, i32 } [ %763, %762 ], [ %761, %760 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %76) #7
  br label %1100

765:                                              ; preds = %606
  %766 = landingpad { ptr, i32 }
          cleanup
  br label %772

767:                                              ; preds = %607
  %768 = landingpad { ptr, i32 }
          cleanup
  br label %771

769:                                              ; preds = %612
  %770 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %77) #7
  br label %771

771:                                              ; preds = %769, %767
  %.pn242 = phi { ptr, i32 } [ %770, %769 ], [ %768, %767 ]
  call void @_ZN10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %78) #7
  br label %772

772:                                              ; preds = %771, %765
  %.pn242.pn = phi { ptr, i32 } [ %.pn242, %771 ], [ %766, %765 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %78) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %77) #7
  br label %1100

773:                                              ; preds = %614
  %774 = landingpad { ptr, i32 }
          cleanup
  br label %780

775:                                              ; preds = %615
  %776 = landingpad { ptr, i32 }
          cleanup
  br label %779

777:                                              ; preds = %619
  %778 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %79) #7
  br label %779

779:                                              ; preds = %777, %775
  %.pn245 = phi { ptr, i32 } [ %778, %777 ], [ %776, %775 ]
  call void @_ZN10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %80) #7
  br label %780

780:                                              ; preds = %779, %773
  %.pn245.pn = phi { ptr, i32 } [ %.pn245, %779 ], [ %774, %773 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %80) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %79) #7
  br label %1100

781:                                              ; preds = %621
  %782 = landingpad { ptr, i32 }
          cleanup
  br label %788

783:                                              ; preds = %622
  %784 = landingpad { ptr, i32 }
          cleanup
  br label %787

785:                                              ; preds = %627
  %786 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %81) #7
  br label %787

787:                                              ; preds = %785, %783
  %.pn248 = phi { ptr, i32 } [ %786, %785 ], [ %784, %783 ]
  call void @_ZN10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %82) #7
  br label %788

788:                                              ; preds = %787, %781
  %.pn248.pn = phi { ptr, i32 } [ %.pn248, %787 ], [ %782, %781 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %82) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %81) #7
  br label %1100

789:                                              ; preds = %629
  %790 = landingpad { ptr, i32 }
          cleanup
  br label %796

791:                                              ; preds = %630
  %792 = landingpad { ptr, i32 }
          cleanup
  br label %795

793:                                              ; preds = %634
  %794 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %83) #7
  br label %795

795:                                              ; preds = %793, %791
  %.pn251 = phi { ptr, i32 } [ %794, %793 ], [ %792, %791 ]
  call void @_ZN10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %84) #7
  br label %796

796:                                              ; preds = %795, %789
  %.pn251.pn = phi { ptr, i32 } [ %.pn251, %795 ], [ %790, %789 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %84) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %83) #7
  br label %1100

797:                                              ; preds = %636
  %798 = landingpad { ptr, i32 }
          cleanup
  br label %804

799:                                              ; preds = %639
  %800 = landingpad { ptr, i32 }
          cleanup
  br label %803

801:                                              ; preds = %640
  %802 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %87) #7
  br label %803

803:                                              ; preds = %801, %799
  %.pn254 = phi { ptr, i32 } [ %802, %801 ], [ %800, %799 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %88) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %88) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %87) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %85) #7
  br label %804

804:                                              ; preds = %803, %797
  %.pn254.pn = phi { ptr, i32 } [ %.pn254, %803 ], [ %798, %797 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %86) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %86) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %85) #7
  br label %1100

805:                                              ; preds = %641
  %806 = landingpad { ptr, i32 }
          cleanup
  br label %812

807:                                              ; preds = %644
  %808 = landingpad { ptr, i32 }
          cleanup
  br label %811

809:                                              ; preds = %645
  %810 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %91) #7
  br label %811

811:                                              ; preds = %809, %807
  %.pn257 = phi { ptr, i32 } [ %810, %809 ], [ %808, %807 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %92) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %92) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %91) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %89) #7
  br label %812

812:                                              ; preds = %811, %805
  %.pn257.pn = phi { ptr, i32 } [ %.pn257, %811 ], [ %806, %805 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %90) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %90) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %89) #7
  br label %1100

813:                                              ; preds = %646
  %814 = landingpad { ptr, i32 }
          cleanup
  br label %820

815:                                              ; preds = %649
  %816 = landingpad { ptr, i32 }
          cleanup
  br label %819

817:                                              ; preds = %650
  %818 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %95) #7
  br label %819

819:                                              ; preds = %817, %815
  %.pn260 = phi { ptr, i32 } [ %818, %817 ], [ %816, %815 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %96) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %96) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %95) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %93) #7
  br label %820

820:                                              ; preds = %819, %813
  %.pn260.pn = phi { ptr, i32 } [ %.pn260, %819 ], [ %814, %813 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %94) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %94) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %93) #7
  br label %1100

821:                                              ; preds = %651
  %822 = landingpad { ptr, i32 }
          cleanup
  br label %828

823:                                              ; preds = %654
  %824 = landingpad { ptr, i32 }
          cleanup
  br label %827

825:                                              ; preds = %655
  %826 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %99) #7
  br label %827

827:                                              ; preds = %825, %823
  %.pn263 = phi { ptr, i32 } [ %826, %825 ], [ %824, %823 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %100) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %100) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %99) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %97) #7
  br label %828

828:                                              ; preds = %827, %821
  %.pn263.pn = phi { ptr, i32 } [ %.pn263, %827 ], [ %822, %821 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %98) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %98) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %97) #7
  br label %1100

829:                                              ; preds = %713
  %830 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %105) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %104) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %103) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %102) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %101) #7
  br label %1100

831:                                              ; preds = %724
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %106) #7
  invoke void @_ZNK10SimTKIpopt8IpoptNLP11NLP_scalingEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.16") align 8 %106, ptr noundef nonnull align 8 dereferenceable(24) %0)
          to label %832 unwind label %862

832:                                              ; preds = %831
  %833 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %106)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %107) #7
  store double 1.000000e+00, ptr %107, align 8, !tbaa !36
  %834 = load ptr, ptr %833, align 8, !tbaa !31
  %835 = getelementptr inbounds i8, ptr %834, i64 16
  %836 = load ptr, ptr %835, align 8
  %837 = invoke noundef double %836(ptr noundef nonnull align 8 dereferenceable(24) %833, ptr noundef nonnull align 8 dereferenceable(8) %107)
          to label %838 unwind label %864

838:                                              ; preds = %832
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %107) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %106) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %106) #7
  br i1 %2, label %839, label %893

839:                                              ; preds = %838
  %840 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1)
  %841 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_10JournalistEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %472)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %108) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %109) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %109) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %108, ptr noundef nonnull @.str.49, ptr noundef nonnull align 1 dereferenceable(1) %109)
          to label %842 unwind label %869

842:                                              ; preds = %839
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %110) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %111) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %111) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %110, ptr noundef nonnull @.str.41, ptr noundef nonnull align 1 dereferenceable(1) %111)
          to label %843 unwind label %871

843:                                              ; preds = %842
  invoke void @_ZNK10SimTKIpopt6Vector5PrintERKNS_10JournalistENS_13EJournalLevelENS_16EJournalCategoryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSD_(ptr noundef nonnull align 8 dereferenceable(205) %840, ptr noundef nonnull align 8 dereferenceable(40) %841, i32 noundef 7, i32 noundef 3, ptr noundef nonnull align 8 dereferenceable(32) %108, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(32) %110)
          to label %844 unwind label %873

844:                                              ; preds = %843
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %110) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %111) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %111) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %110) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %108) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %109) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %109) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %108) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %112) #7
  invoke void @_ZNK10SimTKIpopt8IpoptNLP11NLP_scalingEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.16") align 8 %112, ptr noundef nonnull align 8 dereferenceable(24) %0)
          to label %845 unwind label %877

845:                                              ; preds = %844
  %846 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %112)
  %847 = load ptr, ptr %846, align 8, !tbaa !31
  %848 = getelementptr inbounds i8, ptr %847, i64 184
  %849 = load ptr, ptr %848, align 8
  %850 = invoke noundef zeroext i1 %849(ptr noundef nonnull align 8 dereferenceable(24) %846)
          to label %851 unwind label %879

851:                                              ; preds = %845
  call void @_ZN10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %112) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %112) #7
  br i1 %850, label %852, label %893

852:                                              ; preds = %851
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %113) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %114) #7
  invoke void @_ZNK10SimTKIpopt8IpoptNLP11NLP_scalingEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.16") align 8 %114, ptr noundef nonnull align 8 dereferenceable(24) %0)
          to label %853 unwind label %882

853:                                              ; preds = %852
  %854 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %114)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %115) #7
  invoke void @_ZN10SimTKIpopt8ConstPtrINS_6VectorEEENS_8SmartPtrIKT_EERKNS2_IS3_EE(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.23") align 8 %115, ptr noundef nonnull align 8 dereferenceable(8) %1)
          to label %855 unwind label %884

855:                                              ; preds = %853
  %856 = load ptr, ptr %854, align 8, !tbaa !31
  %857 = getelementptr inbounds i8, ptr %856, i64 32
  %858 = load ptr, ptr %857, align 8
  invoke void %858(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.55") align 8 %113, ptr noundef nonnull align 8 dereferenceable(24) %854, ptr noundef nonnull align 8 dereferenceable(8) %115)
          to label %859 unwind label %886

859:                                              ; preds = %855
  %860 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSERKS2_(ptr noundef nonnull align 8 dereferenceable(8) %1, ptr noundef nonnull align 8 dereferenceable(8) %113)
          to label %861 unwind label %888

861:                                              ; preds = %859
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %113) #7
  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 @_ZN10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEED2Ev(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
  br label %893

862:                                              ; preds = %831
  %863 = landingpad { ptr, i32 }
          cleanup
  br label %866

864:                                              ; preds = %832
  %865 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %107) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %106) #7
  br label %866

866:                                              ; preds = %864, %862
  %.pn266 = phi { ptr, i32 } [ %865, %864 ], [ %863, %862 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %106) #7
  br label %1100

867:                                              ; preds = %1097, %1046, %995, %943
  %868 = landingpad { ptr, i32 }
          cleanup
  br label %1100

869:                                              ; preds = %839
  %870 = landingpad { ptr, i32 }
          cleanup
  br label %876

871:                                              ; preds = %842
  %872 = landingpad { ptr, i32 }
          cleanup
  br label %875

873:                                              ; preds = %843
  %874 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %110) #7
  br label %875

875:                                              ; preds = %873, %871
  %.pn268 = phi { ptr, i32 } [ %874, %873 ], [ %872, %871 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %111) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %111) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %110) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %108) #7
  br label %876

876:                                              ; preds = %875, %869
  %.pn268.pn = phi { ptr, i32 } [ %.pn268, %875 ], [ %870, %869 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %109) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %109) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %108) #7
  br label %1100

877:                                              ; preds = %844
  %878 = landingpad { ptr, i32 }
          cleanup
  br label %881

879:                                              ; preds = %845
  %880 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %112) #7
  br label %881

881:                                              ; preds = %879, %877
  %.pn271 = phi { ptr, i32 } [ %880, %879 ], [ %878, %877 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %112) #7
  br label %1100

882:                                              ; preds = %852
  %883 = landingpad { ptr, i32 }
          cleanup
  br label %892

884:                                              ; preds = %853
  %885 = landingpad { ptr, i32 }
          cleanup
  br label %891

886:                                              ; preds = %855
  %887 = landingpad { ptr, i32 }
          cleanup
  br label %890

888:                                              ; preds = %859
  %889 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %113) #7
  br label %890

890:                                              ; preds = %888, %886
  %.pn273 = phi { ptr, i32 } [ %889, %888 ], [ %887, %886 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %115) #7
  br label %891

891:                                              ; preds = %890, %884
  %.pn273.pn = phi { ptr, i32 } [ %.pn273, %890 ], [ %885, %884 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %115) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %114) #7
  br label %892

892:                                              ; preds = %891, %882
  %.pn273.pn.pn = phi { ptr, i32 } [ %.pn273.pn, %891 ], [ %883, %882 ]
  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 %1100

893:                                              ; preds = %851, %861, %838
  br i1 %4, label %894, label %945

894:                                              ; preds = %893
  %895 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %3)
  %896 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_10JournalistEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %472)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %116) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %117) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %117) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %116, ptr noundef nonnull @.str.50, ptr noundef nonnull align 1 dereferenceable(1) %117)
          to label %897 unwind label %917

897:                                              ; preds = %894
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %118) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %119) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %119) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %118, ptr noundef nonnull @.str.41, ptr noundef nonnull align 1 dereferenceable(1) %119)
          to label %898 unwind label %919

898:                                              ; preds = %897
  invoke void @_ZNK10SimTKIpopt6Vector5PrintERKNS_10JournalistENS_13EJournalLevelENS_16EJournalCategoryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSD_(ptr noundef nonnull align 8 dereferenceable(205) %895, ptr noundef nonnull align 8 dereferenceable(40) %896, i32 noundef 7, i32 noundef 3, ptr noundef nonnull align 8 dereferenceable(32) %116, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(32) %118)
          to label %899 unwind label %921

899:                                              ; preds = %898
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %118) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %119) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %119) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %118) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %116) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %117) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %117) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %116) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %120) #7
  invoke void @_ZNK10SimTKIpopt8IpoptNLP11NLP_scalingEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.16") align 8 %120, ptr noundef nonnull align 8 dereferenceable(24) %0)
          to label %900 unwind label %925

900:                                              ; preds = %899
  %901 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %120)
  %902 = load ptr, ptr %901, align 8, !tbaa !31
  %903 = getelementptr inbounds i8, ptr %902, i64 192
  %904 = load ptr, ptr %903, align 8
  %905 = invoke noundef zeroext i1 %904(ptr noundef nonnull align 8 dereferenceable(24) %901)
          to label %906 unwind label %927

906:                                              ; preds = %900
  call void @_ZN10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %120) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %120) #7
  br i1 %905, label %907, label %941

907:                                              ; preds = %906
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %121) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %122) #7
  invoke void @_ZNK10SimTKIpopt8IpoptNLP11NLP_scalingEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.16") align 8 %122, ptr noundef nonnull align 8 dereferenceable(24) %0)
          to label %908 unwind label %930

908:                                              ; preds = %907
  %909 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %122)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %123) #7
  invoke void @_ZN10SimTKIpopt8ConstPtrINS_6VectorEEENS_8SmartPtrIKT_EERKNS2_IS3_EE(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.23") align 8 %123, ptr noundef nonnull align 8 dereferenceable(8) %3)
          to label %910 unwind label %932

910:                                              ; preds = %908
  %911 = load ptr, ptr %909, align 8, !tbaa !31
  %912 = getelementptr inbounds i8, ptr %911, i64 88
  %913 = load ptr, ptr %912, align 8
  invoke void %913(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.55") align 8 %121, ptr noundef nonnull align 8 dereferenceable(24) %909, ptr noundef nonnull align 8 dereferenceable(8) %123)
          to label %914 unwind label %934

914:                                              ; preds = %910
  %915 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSERKS2_(ptr noundef nonnull align 8 dereferenceable(8) %3, ptr noundef nonnull align 8 dereferenceable(8) %121)
          to label %916 unwind label %936

916:                                              ; preds = %914
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %121) #7
  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 @_ZN10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %122) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %122) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %121) #7
  br label %941

917:                                              ; preds = %894
  %918 = landingpad { ptr, i32 }
          cleanup
  br label %924

919:                                              ; preds = %897
  %920 = landingpad { ptr, i32 }
          cleanup
  br label %923

921:                                              ; preds = %898
  %922 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %118) #7
  br label %923

923:                                              ; preds = %921, %919
  %.pn277 = phi { ptr, i32 } [ %922, %921 ], [ %920, %919 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %119) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %119) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %118) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %116) #7
  br label %924

924:                                              ; preds = %923, %917
  %.pn277.pn = phi { ptr, i32 } [ %.pn277, %923 ], [ %918, %917 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %117) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %117) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %116) #7
  br label %1100

925:                                              ; preds = %899
  %926 = landingpad { ptr, i32 }
          cleanup
  br label %929

927:                                              ; preds = %900
  %928 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %120) #7
  br label %929

929:                                              ; preds = %927, %925
  %.pn280 = phi { ptr, i32 } [ %928, %927 ], [ %926, %925 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %120) #7
  br label %1100

930:                                              ; preds = %907
  %931 = landingpad { ptr, i32 }
          cleanup
  br label %940

932:                                              ; preds = %908
  %933 = landingpad { ptr, i32 }
          cleanup
  br label %939

934:                                              ; preds = %910
  %935 = landingpad { ptr, i32 }
          cleanup
  br label %938

936:                                              ; preds = %914
  %937 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %121) #7
  br label %938

938:                                              ; preds = %936, %934
  %.pn282 = phi { ptr, i32 } [ %937, %936 ], [ %935, %934 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %123) #7
  br label %939

939:                                              ; preds = %938, %932
  %.pn282.pn = phi { ptr, i32 } [ %.pn282, %938 ], [ %933, %932 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %123) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %122) #7
  br label %940

940:                                              ; preds = %939, %930
  %.pn282.pn.pn = phi { ptr, i32 } [ %.pn282.pn, %939 ], [ %931, %930 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %122) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %121) #7
  br label %1100

941:                                              ; preds = %916, %906
  %942 = fcmp une double %837, 1.000000e+00
  br i1 %942, label %943, label %945

943:                                              ; preds = %941
  %944 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %3)
  invoke void @_ZN10SimTKIpopt6Vector4ScalEd(ptr noundef nonnull align 8 dereferenceable(205) %944, double noundef %837)
          to label %945 unwind label %867

945:                                              ; preds = %941, %943, %893
  br i1 %6, label %946, label %997

946:                                              ; preds = %945
  %947 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %5)
  %948 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_10JournalistEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %472)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %124) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %125) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %125) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %124, ptr noundef nonnull @.str.51, ptr noundef nonnull align 1 dereferenceable(1) %125)
          to label %949 unwind label %969

949:                                              ; preds = %946
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %126) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %127) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %127) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %126, ptr noundef nonnull @.str.41, ptr noundef nonnull align 1 dereferenceable(1) %127)
          to label %950 unwind label %971

950:                                              ; preds = %949
  invoke void @_ZNK10SimTKIpopt6Vector5PrintERKNS_10JournalistENS_13EJournalLevelENS_16EJournalCategoryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSD_(ptr noundef nonnull align 8 dereferenceable(205) %947, ptr noundef nonnull align 8 dereferenceable(40) %948, i32 noundef 7, i32 noundef 3, ptr noundef nonnull align 8 dereferenceable(32) %124, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(32) %126)
          to label %951 unwind label %973

951:                                              ; preds = %950
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %126) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %127) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %127) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %126) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %124) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %125) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %125) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %124) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %128) #7
  invoke void @_ZNK10SimTKIpopt8IpoptNLP11NLP_scalingEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.16") align 8 %128, ptr noundef nonnull align 8 dereferenceable(24) %0)
          to label %952 unwind label %977

952:                                              ; preds = %951
  %953 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %128)
  %954 = load ptr, ptr %953, align 8, !tbaa !31
  %955 = getelementptr inbounds i8, ptr %954, i64 200
  %956 = load ptr, ptr %955, align 8
  %957 = invoke noundef zeroext i1 %956(ptr noundef nonnull align 8 dereferenceable(24) %953)
          to label %958 unwind label %979

958:                                              ; preds = %952
  call void @_ZN10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %128) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %128) #7
  br i1 %957, label %959, label %993

959:                                              ; preds = %958
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %129) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %130) #7
  invoke void @_ZNK10SimTKIpopt8IpoptNLP11NLP_scalingEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.16") align 8 %130, ptr noundef nonnull align 8 dereferenceable(24) %0)
          to label %960 unwind label %982

960:                                              ; preds = %959
  %961 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %130)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %131) #7
  invoke void @_ZN10SimTKIpopt8ConstPtrINS_6VectorEEENS_8SmartPtrIKT_EERKNS2_IS3_EE(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.23") align 8 %131, ptr noundef nonnull align 8 dereferenceable(8) %5)
          to label %962 unwind label %984

962:                                              ; preds = %960
  %963 = load ptr, ptr %961, align 8, !tbaa !31
  %964 = getelementptr inbounds i8, ptr %963, i64 120
  %965 = load ptr, ptr %964, align 8
  invoke void %965(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.55") align 8 %129, ptr noundef nonnull align 8 dereferenceable(24) %961, ptr noundef nonnull align 8 dereferenceable(8) %131)
          to label %966 unwind label %986

966:                                              ; preds = %962
  %967 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSERKS2_(ptr noundef nonnull align 8 dereferenceable(8) %5, ptr noundef nonnull align 8 dereferenceable(8) %129)
          to label %968 unwind label %988

968:                                              ; preds = %966
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %129) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_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_16NLPScalingObjectEED2Ev(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.end.p0(i64 8, ptr nonnull %129) #7
  br label %993

969:                                              ; preds = %946
  %970 = landingpad { ptr, i32 }
          cleanup
  br label %976

971:                                              ; preds = %949
  %972 = landingpad { ptr, i32 }
          cleanup
  br label %975

973:                                              ; preds = %950
  %974 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %126) #7
  br label %975

975:                                              ; preds = %973, %971
  %.pn286 = phi { ptr, i32 } [ %974, %973 ], [ %972, %971 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %127) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %127) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %126) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %124) #7
  br label %976

976:                                              ; preds = %975, %969
  %.pn286.pn = phi { ptr, i32 } [ %.pn286, %975 ], [ %970, %969 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %125) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %125) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %124) #7
  br label %1100

977:                                              ; preds = %951
  %978 = landingpad { ptr, i32 }
          cleanup
  br label %981

979:                                              ; preds = %952
  %980 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %128) #7
  br label %981

981:                                              ; preds = %979, %977
  %.pn289 = phi { ptr, i32 } [ %980, %979 ], [ %978, %977 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %128) #7
  br label %1100

982:                                              ; preds = %959
  %983 = landingpad { ptr, i32 }
          cleanup
  br label %992

984:                                              ; preds = %960
  %985 = landingpad { ptr, i32 }
          cleanup
  br label %991

986:                                              ; preds = %962
  %987 = landingpad { ptr, i32 }
          cleanup
  br label %990

988:                                              ; preds = %966
  %989 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %129) #7
  br label %990

990:                                              ; preds = %988, %986
  %.pn291 = phi { ptr, i32 } [ %989, %988 ], [ %987, %986 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %131) #7
  br label %991

991:                                              ; preds = %990, %984
  %.pn291.pn = phi { ptr, i32 } [ %.pn291, %990 ], [ %985, %984 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %131) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %130) #7
  br label %992

992:                                              ; preds = %991, %982
  %.pn291.pn.pn = phi { ptr, i32 } [ %.pn291.pn, %991 ], [ %983, %982 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %130) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %129) #7
  br label %1100

993:                                              ; preds = %968, %958
  %994 = fcmp une double %837, 1.000000e+00
  br i1 %994, label %995, label %997

995:                                              ; preds = %993
  %996 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %5)
  invoke void @_ZN10SimTKIpopt6Vector4ScalEd(ptr noundef nonnull align 8 dereferenceable(205) %996, double noundef %837)
          to label %997 unwind label %867

997:                                              ; preds = %993, %995, %945
  br i1 %8, label %998, label %1048

998:                                              ; preds = %997
  %999 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %7)
  %1000 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_10JournalistEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %472)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %132) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %133) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %133) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %132, ptr noundef nonnull @.str.52, ptr noundef nonnull align 1 dereferenceable(1) %133)
          to label %1001 unwind label %1020

1001:                                             ; preds = %998
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %134) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %135) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %135) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %134, ptr noundef nonnull @.str.41, ptr noundef nonnull align 1 dereferenceable(1) %135)
          to label %1002 unwind label %1022

1002:                                             ; preds = %1001
  invoke void @_ZNK10SimTKIpopt6Vector5PrintERKNS_10JournalistENS_13EJournalLevelENS_16EJournalCategoryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSD_(ptr noundef nonnull align 8 dereferenceable(205) %999, ptr noundef nonnull align 8 dereferenceable(40) %1000, i32 noundef 7, i32 noundef 3, ptr noundef nonnull align 8 dereferenceable(32) %132, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(32) %134)
          to label %1003 unwind label %1024

1003:                                             ; preds = %1002
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %134) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %135) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %135) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %134) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %132) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %133) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %133) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %132) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %136) #7
  invoke void @_ZNK10SimTKIpopt8IpoptNLP11NLP_scalingEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.16") align 8 %136, ptr noundef nonnull align 8 dereferenceable(24) %0)
          to label %1004 unwind label %1028

1004:                                             ; preds = %1003
  %1005 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %136)
  %1006 = load ptr, ptr %1005, align 8, !tbaa !31
  %1007 = getelementptr inbounds i8, ptr %1006, i64 184
  %1008 = load ptr, ptr %1007, align 8
  %1009 = invoke noundef zeroext i1 %1008(ptr noundef nonnull align 8 dereferenceable(24) %1005)
          to label %1010 unwind label %1030

1010:                                             ; preds = %1004
  call void @_ZN10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %136) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %136) #7
  br i1 %1009, label %1011, label %1044

1011:                                             ; preds = %1010
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %137) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %138) #7
  invoke void @_ZNK10SimTKIpopt8IpoptNLP11NLP_scalingEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.16") align 8 %138, ptr noundef nonnull align 8 dereferenceable(24) %0)
          to label %1012 unwind label %1033

1012:                                             ; preds = %1011
  %1013 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %138)
  %1014 = call noundef nonnull align 8 dereferenceable(69) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6MatrixEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %580)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %139) #7
  invoke void @_ZN10SimTKIpopt8ConstPtrINS_6VectorEEENS_8SmartPtrIKT_EERKNS2_IS3_EE(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.23") align 8 %139, ptr noundef nonnull align 8 dereferenceable(8) %7)
          to label %1015 unwind label %1035

1015:                                             ; preds = %1012
  %1016 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %610)
  invoke void @_ZN10SimTKIpopt16NLPScalingObject34apply_vector_scaling_x_LU_NonConstERKNS_6MatrixERKNS_8SmartPtrIKNS_6VectorEEERKNS_11VectorSpaceE(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.55") align 8 %137, ptr noundef nonnull align 8 dereferenceable(24) %1013, ptr noundef nonnull align 8 dereferenceable(69) %1014, ptr noundef nonnull align 8 dereferenceable(8) %139, ptr noundef nonnull align 8 dereferenceable(16) %1016)
          to label %1017 unwind label %1037

1017:                                             ; preds = %1015
  %1018 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSERKS2_(ptr noundef nonnull align 8 dereferenceable(8) %7, ptr noundef nonnull align 8 dereferenceable(8) %137)
          to label %1019 unwind label %1039

1019:                                             ; preds = %1017
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %137) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %139) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %139) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %138) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %138) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %137) #7
  br label %1044

1020:                                             ; preds = %998
  %1021 = landingpad { ptr, i32 }
          cleanup
  br label %1027

1022:                                             ; preds = %1001
  %1023 = landingpad { ptr, i32 }
          cleanup
  br label %1026

1024:                                             ; preds = %1002
  %1025 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %134) #7
  br label %1026

1026:                                             ; preds = %1024, %1022
  %.pn295 = phi { ptr, i32 } [ %1025, %1024 ], [ %1023, %1022 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %135) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %135) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %134) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %132) #7
  br label %1027

1027:                                             ; preds = %1026, %1020
  %.pn295.pn = phi { ptr, i32 } [ %.pn295, %1026 ], [ %1021, %1020 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %133) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %133) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %132) #7
  br label %1100

1028:                                             ; preds = %1003
  %1029 = landingpad { ptr, i32 }
          cleanup
  br label %1032

1030:                                             ; preds = %1004
  %1031 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %136) #7
  br label %1032

1032:                                             ; preds = %1030, %1028
  %.pn298 = phi { ptr, i32 } [ %1031, %1030 ], [ %1029, %1028 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %136) #7
  br label %1100

1033:                                             ; preds = %1011
  %1034 = landingpad { ptr, i32 }
          cleanup
  br label %1043

1035:                                             ; preds = %1012
  %1036 = landingpad { ptr, i32 }
          cleanup
  br label %1042

1037:                                             ; preds = %1015
  %1038 = landingpad { ptr, i32 }
          cleanup
  br label %1041

1039:                                             ; preds = %1017
  %1040 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %137) #7
  br label %1041

1041:                                             ; preds = %1039, %1037
  %.pn300 = phi { ptr, i32 } [ %1040, %1039 ], [ %1038, %1037 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %139) #7
  br label %1042

1042:                                             ; preds = %1041, %1035
  %.pn300.pn = phi { ptr, i32 } [ %.pn300, %1041 ], [ %1036, %1035 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %139) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %138) #7
  br label %1043

1043:                                             ; preds = %1042, %1033
  %.pn300.pn.pn = phi { ptr, i32 } [ %.pn300.pn, %1042 ], [ %1034, %1033 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %138) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %137) #7
  br label %1100

1044:                                             ; preds = %1019, %1010
  %1045 = fcmp une double %837, 1.000000e+00
  br i1 %1045, label %1046, label %1048

1046:                                             ; preds = %1044
  %1047 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %7)
  invoke void @_ZN10SimTKIpopt6Vector4ScalEd(ptr noundef nonnull align 8 dereferenceable(205) %1047, double noundef %837)
          to label %1048 unwind label %867

1048:                                             ; preds = %1044, %1046, %997
  br i1 %10, label %1049, label %1099

1049:                                             ; preds = %1048
  %1050 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %9)
  %1051 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_10JournalistEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %472)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %140) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %141) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %141) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %140, ptr noundef nonnull @.str.53, ptr noundef nonnull align 1 dereferenceable(1) %141)
          to label %1052 unwind label %1071

1052:                                             ; preds = %1049
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %142) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %143) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %143) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %142, ptr noundef nonnull @.str.41, ptr noundef nonnull align 1 dereferenceable(1) %143)
          to label %1053 unwind label %1073

1053:                                             ; preds = %1052
  invoke void @_ZNK10SimTKIpopt6Vector5PrintERKNS_10JournalistENS_13EJournalLevelENS_16EJournalCategoryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSD_(ptr noundef nonnull align 8 dereferenceable(205) %1050, ptr noundef nonnull align 8 dereferenceable(40) %1051, i32 noundef 7, i32 noundef 3, ptr noundef nonnull align 8 dereferenceable(32) %140, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(32) %142)
          to label %1054 unwind label %1075

1054:                                             ; preds = %1053
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %142) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %143) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %143) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %142) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %140) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %141) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %141) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %140) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %144) #7
  invoke void @_ZNK10SimTKIpopt8IpoptNLP11NLP_scalingEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.16") align 8 %144, ptr noundef nonnull align 8 dereferenceable(24) %0)
          to label %1055 unwind label %1079

1055:                                             ; preds = %1054
  %1056 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %144)
  %1057 = load ptr, ptr %1056, align 8, !tbaa !31
  %1058 = getelementptr inbounds i8, ptr %1057, i64 184
  %1059 = load ptr, ptr %1058, align 8
  %1060 = invoke noundef zeroext i1 %1059(ptr noundef nonnull align 8 dereferenceable(24) %1056)
          to label %1061 unwind label %1081

1061:                                             ; preds = %1055
  call void @_ZN10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %144) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %144) #7
  br i1 %1060, label %1062, label %1095

1062:                                             ; preds = %1061
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %145) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %146) #7
  invoke void @_ZNK10SimTKIpopt8IpoptNLP11NLP_scalingEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.16") align 8 %146, ptr noundef nonnull align 8 dereferenceable(24) %0)
          to label %1063 unwind label %1084

1063:                                             ; preds = %1062
  %1064 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %146)
  %1065 = call noundef nonnull align 8 dereferenceable(69) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6MatrixEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %588)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %147) #7
  invoke void @_ZN10SimTKIpopt8ConstPtrINS_6VectorEEENS_8SmartPtrIKT_EERKNS2_IS3_EE(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.23") align 8 %147, ptr noundef nonnull align 8 dereferenceable(8) %9)
          to label %1066 unwind label %1086

1066:                                             ; preds = %1063
  %1067 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %610)
  invoke void @_ZN10SimTKIpopt16NLPScalingObject34apply_vector_scaling_x_LU_NonConstERKNS_6MatrixERKNS_8SmartPtrIKNS_6VectorEEERKNS_11VectorSpaceE(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.55") align 8 %145, ptr noundef nonnull align 8 dereferenceable(24) %1064, ptr noundef nonnull align 8 dereferenceable(69) %1065, ptr noundef nonnull align 8 dereferenceable(8) %147, ptr noundef nonnull align 8 dereferenceable(16) %1067)
          to label %1068 unwind label %1088

1068:                                             ; preds = %1066
  %1069 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSERKS2_(ptr noundef nonnull align 8 dereferenceable(8) %9, ptr noundef nonnull align 8 dereferenceable(8) %145)
          to label %1070 unwind label %1090

1070:                                             ; preds = %1068
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %145) #7
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_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_16NLPScalingObjectEED2Ev(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.end.p0(i64 8, ptr nonnull %145) #7
  br label %1095

1071:                                             ; preds = %1049
  %1072 = landingpad { ptr, i32 }
          cleanup
  br label %1078

1073:                                             ; preds = %1052
  %1074 = landingpad { ptr, i32 }
          cleanup
  br label %1077

1075:                                             ; preds = %1053
  %1076 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %142) #7
  br label %1077

1077:                                             ; preds = %1075, %1073
  %.pn304 = phi { ptr, i32 } [ %1076, %1075 ], [ %1074, %1073 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %143) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %143) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %142) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %140) #7
  br label %1078

1078:                                             ; preds = %1077, %1071
  %.pn304.pn = phi { ptr, i32 } [ %.pn304, %1077 ], [ %1072, %1071 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %141) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %141) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %140) #7
  br label %1100

1079:                                             ; preds = %1054
  %1080 = landingpad { ptr, i32 }
          cleanup
  br label %1083

1081:                                             ; preds = %1055
  %1082 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %144) #7
  br label %1083

1083:                                             ; preds = %1081, %1079
  %.pn307 = phi { ptr, i32 } [ %1082, %1081 ], [ %1080, %1079 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %144) #7
  br label %1100

1084:                                             ; preds = %1062
  %1085 = landingpad { ptr, i32 }
          cleanup
  br label %1094

1086:                                             ; preds = %1063
  %1087 = landingpad { ptr, i32 }
          cleanup
  br label %1093

1088:                                             ; preds = %1066
  %1089 = landingpad { ptr, i32 }
          cleanup
  br label %1092

1090:                                             ; preds = %1068
  %1091 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %145) #7
  br label %1092

1092:                                             ; preds = %1090, %1088
  %.pn309 = phi { ptr, i32 } [ %1091, %1090 ], [ %1089, %1088 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %147) #7
  br label %1093

1093:                                             ; preds = %1092, %1086
  %.pn309.pn = phi { ptr, i32 } [ %.pn309, %1092 ], [ %1087, %1086 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %147) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %146) #7
  br label %1094

1094:                                             ; preds = %1093, %1084
  %.pn309.pn.pn = phi { ptr, i32 } [ %.pn309.pn, %1093 ], [ %1085, %1084 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %146) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %145) #7
  br label %1100

1095:                                             ; preds = %1070, %1061
  %1096 = fcmp une double %837, 1.000000e+00
  br i1 %1096, label %1097, label %1099

1097:                                             ; preds = %1095
  %1098 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %9)
  invoke void @_ZN10SimTKIpopt6Vector4ScalEd(ptr noundef nonnull align 8 dereferenceable(205) %1098, double noundef %837)
          to label %1099 unwind label %867

1099:                                             ; preds = %1048, %1097, %1095, %724, %453
  %.0 = phi i1 [ false, %453 ], [ false, %724 ], [ true, %1095 ], [ true, %1097 ], [ true, %1048 ]
  call void @_ZN10SimTKIpopt8SmartPtrINS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %49) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %49) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %48) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %48) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %47) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %47) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %46) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %46) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %45) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %45) #7
  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 @_ZN10SimTKIpopt8SmartPtrINS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %43) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %43) #7
  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
  br label %1108

1100:                                             ; preds = %866, %867, %876, %881, %892, %924, %929, %940, %976, %981, %992, %1027, %1032, %1043, %1078, %1083, %1094, %829, %828, %820, %812, %804, %796, %788, %780, %772, %764, %759, %754, %749, %744, %739, %734, %729, %558, %545, %537, %529, %521, %468
  %.pn313.pn = phi { ptr, i32 } [ %830, %829 ], [ %469, %468 ], [ %.pn263.pn, %828 ], [ %.pn260.pn, %820 ], [ %.pn257.pn, %812 ], [ %.pn254.pn, %804 ], [ %.pn251.pn, %796 ], [ %.pn248.pn, %788 ], [ %.pn245.pn, %780 ], [ %.pn242.pn, %772 ], [ %.pn240, %764 ], [ %.pn238, %759 ], [ %.pn236, %754 ], [ %.pn234, %749 ], [ %.pn232, %744 ], [ %.pn230, %739 ], [ %.pn228, %734 ], [ %.pn226, %729 ], [ %.pn223.pn, %558 ], [ %.pn218.pn, %545 ], [ %.pn215.pn, %537 ], [ %.pn212.pn, %529 ], [ %.pn209.pn, %521 ], [ %868, %867 ], [ %.pn309.pn.pn, %1094 ], [ %.pn307, %1083 ], [ %.pn304.pn, %1078 ], [ %.pn300.pn.pn, %1043 ], [ %.pn298, %1032 ], [ %.pn295.pn, %1027 ], [ %.pn291.pn.pn, %992 ], [ %.pn289, %981 ], [ %.pn286.pn, %976 ], [ %.pn282.pn.pn, %940 ], [ %.pn280, %929 ], [ %.pn277.pn, %924 ], [ %.pn273.pn.pn, %892 ], [ %.pn271, %881 ], [ %.pn268.pn, %876 ], [ %.pn266, %866 ]
  call void @_ZN10SimTKIpopt8SmartPtrINS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %49) #7
  br label %1101

1101:                                             ; preds = %1100, %466
  %.pn313.pn.pn = phi { ptr, i32 } [ %.pn313.pn, %1100 ], [ %467, %466 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %49) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %48) #7
  br label %1102

1102:                                             ; preds = %1101, %464
  %.pn313.pn.pn.pn = phi { ptr, i32 } [ %.pn313.pn.pn, %1101 ], [ %465, %464 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %48) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %47) #7
  br label %1103

1103:                                             ; preds = %1102, %462
  %.pn313.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn313.pn.pn.pn, %1102 ], [ %463, %462 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %47) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %46) #7
  br label %1104

1104:                                             ; preds = %1103, %460
  %.pn313.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn313.pn.pn.pn.pn, %1103 ], [ %461, %460 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %46) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %45) #7
  br label %1105

1105:                                             ; preds = %1104, %458
  %.pn313.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn313.pn.pn.pn.pn.pn, %1104 ], [ %459, %458 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %45) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %44) #7
  br label %1106

1106:                                             ; preds = %1105, %456
  %.pn313.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn313.pn.pn.pn.pn.pn.pn, %1105 ], [ %457, %456 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %44) #7
  call void @_ZN10SimTKIpopt8SmartPtrINS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %43) #7
  br label %1107

1107:                                             ; preds = %1106, %454
  %.pn313.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn313.pn.pn.pn.pn.pn.pn.pn, %1106 ], [ %455, %454 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %43) #7
  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
  br label %1109

1108:                                             ; preds = %151, %1099
  %.1 = phi i1 [ %.0, %1099 ], [ false, %151 ]
  ret i1 %.1

1109:                                             ; preds = %1107, %378, %318, %291, %278, %229
  %.pn313.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn313.pn.pn.pn.pn.pn.pn.pn.pn, %1107 ], [ %.pn204.pn.pn.pn, %378 ], [ %.pn199.pn.pn.pn, %318 ], [ %.pn194.pn.pn.pn, %291 ], [ %.pn187.pn.pn.pn.pn.pn, %278 ], [ %.pn185, %229 ]
  resume { ptr, i32 } %.pn313.pn.pn.pn.pn.pn.pn.pn.pn.pn

1110:                                             ; preds = %365, %305, %258
  unreachable
}

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

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

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

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

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

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

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

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

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

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef i32 @_ZNK10SimTKIpopt6Matrix5NColsEv(ptr noundef nonnull align 8 dereferenceable(69)) local_unnamed_addr #6 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef i32 @_ZNK10SimTKIpopt6Matrix5NRowsEv(ptr noundef nonnull align 8 dereferenceable(69)) local_unnamed_addr #6 align 2

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

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

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

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

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

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

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

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

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

declare ptr @__cxa_allocate_exception(i64) local_unnamed_addr

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

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

declare void @__cxa_throw(ptr, ptr, ptr) local_unnamed_addr

declare void @__cxa_free_exception(ptr) local_unnamed_addr

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

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

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

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

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

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

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

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

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

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

declare void @_ZNK10SimTKIpopt6Vector5PrintERKNS_10JournalistENS_13EJournalLevelENS_16EJournalCategoryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSD_(ptr noundef nonnull align 8 dereferenceable(205), ptr noundef nonnull align 8 dereferenceable(40), i32 noundef, i32 noundef, ptr noundef nonnull align 8 dereferenceable(32), i32 noundef, ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #5

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef ptr @_ZNK10SimTKIpopt6Vector11MakeNewCopyEv(ptr noundef nonnull align 8 dereferenceable(205)) local_unnamed_addr #6 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 #3 align 2

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN10SimTKIpopt12OrigIpoptNLP12relax_boundsEdRNS_6VectorE(ptr noundef nonnull align 8 dereferenceable(648), double noundef, 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 @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #3 align 2

declare void @_ZN10SimTKIpopt16NLPScalingObject25apply_vector_scaling_x_LUERKNS_6MatrixERKNS_8SmartPtrIKNS_6VectorEEERKNS_11VectorSpaceE(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.23") align 8, ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(69), ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #5

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

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

declare void @_ZN10SimTKIpopt16NLPScalingObject25apply_vector_scaling_d_LUERKNS_6MatrixERKNS_8SmartPtrIKNS_6VectorEEERKNS_11VectorSpaceE(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.23") align 8, ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(69), ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #5

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

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

declare void @_ZN10SimTKIpopt6Vector4ScalEd(ptr noundef nonnull align 8 dereferenceable(205), double noundef) local_unnamed_addr #5

declare void @_ZN10SimTKIpopt16NLPScalingObject34apply_vector_scaling_x_LU_NonConstERKNS_6MatrixERKNS_8SmartPtrIKNS_6VectorEEERKNS_11VectorSpaceE(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.55") align 8, ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(69), ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #5

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

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

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

!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, !26, i64 433}
!6 = !{!"_ZTSN10SimTKIpopt12OrigIpoptNLPE", !7, i64 0, !14, i64 24, !15, i64 32, !16, i64 40, !16, i64 48, !16, i64 56, !16, i64 64, !17, i64 72, !16, i64 80, !17, i64 88, !16, i64 96, !17, i64 104, !16, i64 112, !17, i64 120, !17, i64 128, !17, i64 136, !18, i64 144, !17, i64 152, !17, i64 160, !18, i64 168, !19, i64 176, !20, i64 200, !20, i64 224, !21, i64 248, !20, i64 272, !21, i64 296, !22, i64 320, !23, i64 344, !24, i64 352, !23, i64 360, !24, i64 368, !23, i64 376, !24, i64 384, !23, i64 392, !24, i64 400, !23, i64 408, !23, i64 416, !25, i64 424, !26, i64 432, !26, i64 433, !27, i64 436, !26, i64 440, !9, i64 444, !9, i64 448, !9, i64 452, !9, i64 456, !9, i64 460, !9, i64 464, !9, i64 468, !26, i64 472, !28, i64 480, !28, i64 504, !28, i64 528, !28, i64 552, !28, i64 576, !28, i64 600, !28, i64 624}
!7 = !{!"_ZTSN10SimTKIpopt8IpoptNLPE", !8, i64 0, !12, i64 16}
!8 = !{!"_ZTSN10SimTKIpopt16ReferencedObjectE", !9, i64 8}
!9 = !{!"int", !10, i64 0}
!10 = !{!"omnipotent char", !11, i64 0}
!11 = !{!"Simple C++ TBAA"}
!12 = !{!"_ZTSN10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEEE", !13, i64 0}
!13 = !{!"any pointer", !10, i64 0}
!14 = !{!"_ZTSN10SimTKIpopt8SmartPtrIKNS_10JournalistEEE", !13, i64 0}
!15 = !{!"_ZTSN10SimTKIpopt8SmartPtrINS_3NLPEEE", !13, i64 0}
!16 = !{!"_ZTSN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEE", !13, i64 0}
!17 = !{!"_ZTSN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEEE", !13, i64 0}
!18 = !{!"_ZTSN10SimTKIpopt8SmartPtrIKNS_14SymMatrixSpaceEEE", !13, i64 0}
!19 = !{!"_ZTSN10SimTKIpopt13CachedResultsIdEE", !9, i64 8, !13, i64 16}
!20 = !{!"_ZTSN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEE", !9, i64 8, !13, i64 16}
!21 = !{!"_ZTSN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6MatrixEEEEE", !9, i64 8, !13, i64 16}
!22 = !{!"_ZTSN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_9SymMatrixEEEEE", !9, i64 8, !13, i64 16}
!23 = !{!"_ZTSN10SimTKIpopt8SmartPtrIKNS_6VectorEEE", !13, i64 0}
!24 = !{!"_ZTSN10SimTKIpopt8SmartPtrIKNS_6MatrixEEE", !13, i64 0}
!25 = !{!"double", !10, i64 0}
!26 = !{!"bool", !10, i64 0}
!27 = !{!"_ZTSN10SimTKIpopt24HessianApproximationTypeE", !10, i64 0}
!28 = !{!"_ZTSN10SimTKIpopt9TimedTaskE", !25, i64 0, !25, i64 8, !26, i64 16, !26, i64 17}
!29 = !{i8 0, i8 2}
!30 = !{}
!31 = !{!32, !32, i64 0}
!32 = !{!"vtable pointer", !11, i64 0}
!33 = !{!6, !27, i64 436}
!34 = !{!6, !26, i64 432}
!35 = !{!6, !25, i64 424}
!36 = !{!25, !25, i64 0}


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