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

; 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" = type { ptr }
%"class.SimTKIpopt::SmartPtr.5" = type { ptr }
%"class.SimTKIpopt::SmartPtr.57" = type { ptr }
%"class.SimTKIpopt::SmartPtr.78" = type { ptr }
%"class.SimTKIpopt::SmartPtr.79" = type { ptr }
%"class.SimTKIpopt::SmartPtr.26" = type { ptr }
%"class.SimTKIpopt::SmartPtr.80" = type { ptr }
%"class.SimTKIpopt::SmartPtr.16" = type { ptr }
%"class.SimTKIpopt::SmartPtr.25" = type { ptr }
%"class.SimTKIpopt::SmartPtr.27" = type { ptr }
%"class.SimTKIpopt::SmartPtr.23" = type { ptr }
%"class.SimTKIpopt::SmartPtr.32" = type { ptr }
%"class.SimTKIpopt::RestoIpoptNLP" = type { %"class.SimTKIpopt::IpoptNLP", %"class.SimTKIpopt::SmartPtr.17", %"class.SimTKIpopt::SmartPtr.18", %"class.SimTKIpopt::SmartPtr.19", %"class.SimTKIpopt::SmartPtr.20", %"class.SimTKIpopt::SmartPtr", %"class.SimTKIpopt::SmartPtr", %"class.SimTKIpopt::SmartPtr.20", %"class.SimTKIpopt::SmartPtr.21", %"class.SimTKIpopt::SmartPtr", %"class.SimTKIpopt::SmartPtr.21", %"class.SimTKIpopt::SmartPtr", %"class.SimTKIpopt::SmartPtr.5", %"class.SimTKIpopt::SmartPtr", %"class.SimTKIpopt::SmartPtr.5", %"class.SimTKIpopt::SmartPtr.21", %"class.SimTKIpopt::SmartPtr.21", %"class.SimTKIpopt::SmartPtr.22", %"class.SimTKIpopt::SmartPtr.23", %"class.SimTKIpopt::SmartPtr.24", %"class.SimTKIpopt::SmartPtr.25", %"class.SimTKIpopt::SmartPtr.24", %"class.SimTKIpopt::SmartPtr.25", %"class.SimTKIpopt::SmartPtr.26", %"class.SimTKIpopt::SmartPtr.25", %"class.SimTKIpopt::SmartPtr.26", double, double, double, %"class.SimTKIpopt::SmartPtr.27", %"class.SimTKIpopt::SmartPtr.28", %"class.SimTKIpopt::SmartPtr.27", i8, i32, i8, i32, i32, i32, i32, i32, i32, i32 }
%"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::SmartPtr.19" = type { ptr }
%"class.SimTKIpopt::SmartPtr.20" = type { ptr }
%"class.SimTKIpopt::SmartPtr.21" = type { ptr }
%"class.SimTKIpopt::SmartPtr.22" = type { ptr }
%"class.SimTKIpopt::SmartPtr.24" = type { ptr }
%"class.SimTKIpopt::SmartPtr.28" = type { ptr }

@_ZTIN10SimTKIpopt14SymMatrixSpaceE = external constant ptr
@_ZTIN10SimTKIpopt27LowRankUpdateSymMatrixSpaceE = external dso_local constant { ptr, ptr, ptr }, align 8

; 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: nobuiltin allocsize(0)
declare noundef nonnull ptr @_Znwm(i64 noundef) #3

; 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_11VectorSpaceEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #2 align 2

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

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

; Function Attrs: mustprogress 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_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #2 align 2

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

; Function Attrs: mustprogress uwtable
define dso_local noundef zeroext i1 @_ZN10SimTKIpopt13RestoIpoptNLP20InitializeStructuresERNS_8SmartPtrINS_6VectorEEEbS4_bS4_bS4_bS4_bS4_S4_(ptr noundef nonnull align 8 dereferenceable(312) %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 #4 align 2 personality ptr @__gxx_personality_v0 {
  %14 = alloca ptr, align 8
  %15 = alloca ptr, align 8
  %16 = alloca i8, align 1
  %17 = alloca ptr, align 8
  %18 = alloca i8, align 1
  %19 = alloca ptr, align 8
  %20 = alloca i8, align 1
  %21 = alloca ptr, align 8
  %22 = alloca i8, align 1
  %23 = alloca ptr, align 8
  %24 = alloca i8, align 1
  %25 = alloca ptr, align 8
  %26 = alloca ptr, align 8
  %27 = alloca %"class.SimTKIpopt::SmartPtr", align 8
  %28 = alloca %"class.SimTKIpopt::SmartPtr", align 8
  %29 = alloca ptr, align 8
  %30 = alloca i32, align 4
  %31 = alloca %"class.SimTKIpopt::SmartPtr", align 8
  %32 = alloca %"class.SimTKIpopt::SmartPtr", align 8
  %33 = alloca %"class.SimTKIpopt::SmartPtr.5", align 8
  %34 = alloca %"class.SimTKIpopt::SmartPtr", align 8
  %35 = alloca %"class.SimTKIpopt::SmartPtr.5", align 8
  %36 = alloca %"class.SimTKIpopt::SmartPtr", align 8
  %37 = alloca %"class.SimTKIpopt::SmartPtr.5", align 8
  %38 = alloca %"class.SimTKIpopt::SmartPtr", align 8
  %39 = alloca %"class.SimTKIpopt::SmartPtr.5", align 8
  %40 = alloca %"class.SimTKIpopt::SmartPtr.5", align 8
  %41 = alloca %"class.SimTKIpopt::SmartPtr.5", align 8
  %42 = alloca %"class.SimTKIpopt::SmartPtr.57", align 8
  %43 = alloca i32, align 4
  %44 = alloca i32, align 4
  %45 = alloca i32, align 4
  %46 = alloca %"class.SimTKIpopt::SmartPtr.5", align 8
  %47 = alloca %"class.SimTKIpopt::SmartPtr.5", align 8
  %48 = alloca %"class.SimTKIpopt::SmartPtr.78", align 8
  %49 = alloca ptr, align 8
  %50 = alloca %"class.SimTKIpopt::SmartPtr.79", align 8
  %51 = alloca %"class.SimTKIpopt::SmartPtr.26", align 8
  %52 = alloca %"class.SimTKIpopt::SmartPtr", align 8
  %53 = alloca i1, align 1
  %54 = alloca %"class.SimTKIpopt::SmartPtr.80", align 8
  %55 = alloca %"class.SimTKIpopt::SmartPtr.5", align 8
  %56 = alloca %"class.SimTKIpopt::SmartPtr.5", align 8
  %57 = alloca %"class.SimTKIpopt::SmartPtr.57", align 8
  %58 = alloca %"class.SimTKIpopt::SmartPtr.16", align 8
  %59 = alloca %"class.SimTKIpopt::SmartPtr", align 8
  %60 = alloca %"class.SimTKIpopt::SmartPtr", align 8
  %61 = alloca %"class.SimTKIpopt::SmartPtr", align 8
  %62 = alloca %"class.SimTKIpopt::SmartPtr.5", align 8
  %63 = alloca %"class.SimTKIpopt::SmartPtr.5", align 8
  %64 = alloca %"class.SimTKIpopt::SmartPtr.57", align 8
  %65 = alloca %"class.SimTKIpopt::SmartPtr.25", align 8
  %66 = alloca %"class.SimTKIpopt::SmartPtr.27", align 8
  %67 = alloca %"class.SimTKIpopt::SmartPtr.27", align 8
  %68 = alloca %"class.SimTKIpopt::SmartPtr.27", align 8
  %69 = alloca %"class.SimTKIpopt::SmartPtr.27", align 8
  %70 = alloca %"class.SimTKIpopt::SmartPtr.25", align 8
  %71 = alloca %"class.SimTKIpopt::SmartPtr.25", align 8
  %72 = alloca %"class.SimTKIpopt::SmartPtr.25", align 8
  %73 = alloca %"class.SimTKIpopt::SmartPtr.26", align 8
  %74 = alloca %"class.SimTKIpopt::SmartPtr.26", align 8
  %75 = alloca %"class.SimTKIpopt::SmartPtr.26", align 8
  %76 = alloca %"class.SimTKIpopt::SmartPtr.26", align 8
  %77 = alloca %"class.SimTKIpopt::SmartPtr.23", align 8
  %78 = alloca %"class.SimTKIpopt::SmartPtr.27", align 8
  %79 = alloca %"class.SimTKIpopt::SmartPtr.25", align 8
  %80 = alloca %"class.SimTKIpopt::SmartPtr.32", align 8
  %81 = alloca %"class.SimTKIpopt::SmartPtr.27", align 8
  %82 = alloca %"class.SimTKIpopt::SmartPtr.27", align 8
  %83 = alloca %"class.SimTKIpopt::SmartPtr.27", align 8
  %84 = alloca %"class.SimTKIpopt::SmartPtr.27", align 8
  %85 = alloca %"class.SimTKIpopt::SmartPtr.25", align 8
  %86 = alloca %"class.SimTKIpopt::SmartPtr.32", align 8
  %87 = alloca %"class.SimTKIpopt::SmartPtr.27", align 8
  store ptr %0, ptr %14, align 8, !tbaa !5
  store ptr %1, ptr %15, align 8, !tbaa !5
  %88 = zext i1 %2 to i8
  store i8 %88, ptr %16, align 1, !tbaa !9
  store ptr %3, ptr %17, align 8, !tbaa !5
  %89 = zext i1 %4 to i8
  store i8 %89, ptr %18, align 1, !tbaa !9
  store ptr %5, ptr %19, align 8, !tbaa !5
  %90 = zext i1 %6 to i8
  store i8 %90, ptr %20, align 1, !tbaa !9
  store ptr %7, ptr %21, align 8, !tbaa !5
  %91 = zext i1 %8 to i8
  store i8 %91, ptr %22, align 1, !tbaa !9
  store ptr %9, ptr %23, align 8, !tbaa !5
  %92 = zext i1 %10 to i8
  store i8 %92, ptr %24, align 1, !tbaa !9
  store ptr %11, ptr %25, align 8, !tbaa !5
  store ptr %12, ptr %26, align 8, !tbaa !5
  %93 = load ptr, ptr %14, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %27) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %27)
  call void @llvm.lifetime.start.p0(i64 8, ptr %28) #8
  invoke void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %28)
          to label %94 unwind label %787

94:                                               ; preds = %13
  call void @llvm.lifetime.start.p0(i64 8, ptr %31) #8
  invoke void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %31)
          to label %95 unwind label %791

95:                                               ; preds = %94
  call void @llvm.lifetime.start.p0(i64 8, ptr %32) #8
  invoke void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %32)
          to label %96 unwind label %795

96:                                               ; preds = %95
  call void @llvm.lifetime.start.p0(i64 8, ptr %33) #8
  invoke void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %33)
          to label %97 unwind label %799

97:                                               ; preds = %96
  call void @llvm.lifetime.start.p0(i64 8, ptr %34) #8
  invoke void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %34)
          to label %98 unwind label %803

98:                                               ; preds = %97
  call void @llvm.lifetime.start.p0(i64 8, ptr %35) #8
  invoke void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %35)
          to label %99 unwind label %807

99:                                               ; preds = %98
  call void @llvm.lifetime.start.p0(i64 8, ptr %36) #8
  invoke void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %36)
          to label %100 unwind label %811

100:                                              ; preds = %99
  call void @llvm.lifetime.start.p0(i64 8, ptr %37) #8
  invoke void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %37)
          to label %101 unwind label %815

101:                                              ; preds = %100
  call void @llvm.lifetime.start.p0(i64 8, ptr %38) #8
  invoke void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %38)
          to label %102 unwind label %819

102:                                              ; preds = %101
  call void @llvm.lifetime.start.p0(i64 8, ptr %39) #8
  invoke void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %39)
          to label %103 unwind label %823

103:                                              ; preds = %102
  call void @llvm.lifetime.start.p0(i64 8, ptr %40) #8
  invoke void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %40)
          to label %104 unwind label %827

104:                                              ; preds = %103
  call void @llvm.lifetime.start.p0(i64 8, ptr %41) #8
  invoke void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %41)
          to label %105 unwind label %831

105:                                              ; preds = %104
  call void @llvm.lifetime.start.p0(i64 8, ptr %42) #8
  invoke void @_ZN10SimTKIpopt8SmartPtrIKNS_14SymMatrixSpaceEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %42)
          to label %106 unwind label %835

106:                                              ; preds = %105
  %107 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 1
  %108 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_8IpoptNLPEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %107)
          to label %109 unwind label %839

109:                                              ; preds = %106
  %110 = load ptr, ptr %108, align 8, !tbaa !11
  %111 = getelementptr inbounds ptr, ptr %110, i64 21
  %112 = load ptr, ptr %111, align 8
  invoke void %112(ptr noundef nonnull align 8 dereferenceable(24) %108, ptr noundef nonnull align 8 dereferenceable(8) %27, ptr noundef nonnull align 8 dereferenceable(8) %28, ptr noundef nonnull align 8 dereferenceable(8) %31, ptr noundef nonnull align 8 dereferenceable(8) %32, ptr noundef nonnull align 8 dereferenceable(8) %33, ptr noundef nonnull align 8 dereferenceable(8) %34, ptr noundef nonnull align 8 dereferenceable(8) %35, ptr noundef nonnull align 8 dereferenceable(8) %36, ptr noundef nonnull align 8 dereferenceable(8) %37, ptr noundef nonnull align 8 dereferenceable(8) %38, ptr noundef nonnull align 8 dereferenceable(8) %39, ptr noundef nonnull align 8 dereferenceable(8) %40, ptr noundef nonnull align 8 dereferenceable(8) %41, ptr noundef nonnull align 8 dereferenceable(8) %42)
          to label %113 unwind label %839

113:                                              ; preds = %109
  call void @llvm.lifetime.start.p0(i64 4, ptr %43) #8
  %114 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %27)
          to label %115 unwind label %843

115:                                              ; preds = %113
  %116 = invoke noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %114)
          to label %117 unwind label %843

117:                                              ; preds = %115
  %118 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %28)
          to label %119 unwind label %843

119:                                              ; preds = %117
  %120 = invoke noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %118)
          to label %121 unwind label %843

121:                                              ; preds = %119
  %122 = mul nsw i32 2, %120
  %123 = add nsw i32 %116, %122
  %124 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %31)
          to label %125 unwind label %843

125:                                              ; preds = %121
  %126 = invoke noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %124)
          to label %127 unwind label %843

127:                                              ; preds = %125
  %128 = mul nsw i32 2, %126
  %129 = add nsw i32 %123, %128
  store i32 %129, ptr %43, align 4, !tbaa !13
  %130 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 48) #9
          to label %131 unwind label %843

131:                                              ; preds = %127
  %132 = load i32, ptr %43, align 4, !tbaa !13
  invoke void @_ZN10SimTKIpopt19CompoundVectorSpaceC1Eii(ptr noundef nonnull align 8 dereferenceable(48) %130, i32 noundef 5, i32 noundef %132)
          to label %133 unwind label %847

133:                                              ; preds = %131
  %134 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 4
  %135 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_19CompoundVectorSpaceEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %134, ptr noundef %130)
          to label %136 unwind label %843

136:                                              ; preds = %133
  %137 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 4
  %138 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundVectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %137)
          to label %139 unwind label %843

139:                                              ; preds = %136
  %140 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %27)
          to label %141 unwind label %843

141:                                              ; preds = %139
  %142 = load ptr, ptr %138, align 8, !tbaa !11
  %143 = getelementptr inbounds ptr, ptr %142, i64 3
  %144 = load ptr, ptr %143, align 8
  invoke void %144(ptr noundef nonnull align 8 dereferenceable(48) %138, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(16) %140)
          to label %145 unwind label %843

145:                                              ; preds = %141
  %146 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 4
  %147 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundVectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %146)
          to label %148 unwind label %843

148:                                              ; preds = %145
  %149 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %28)
          to label %150 unwind label %843

150:                                              ; preds = %148
  %151 = load ptr, ptr %147, align 8, !tbaa !11
  %152 = getelementptr inbounds ptr, ptr %151, i64 3
  %153 = load ptr, ptr %152, align 8
  invoke void %153(ptr noundef nonnull align 8 dereferenceable(48) %147, i32 noundef 1, ptr noundef nonnull align 8 dereferenceable(16) %149)
          to label %154 unwind label %843

154:                                              ; preds = %150
  %155 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 4
  %156 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundVectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %155)
          to label %157 unwind label %843

157:                                              ; preds = %154
  %158 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %28)
          to label %159 unwind label %843

159:                                              ; preds = %157
  %160 = load ptr, ptr %156, align 8, !tbaa !11
  %161 = getelementptr inbounds ptr, ptr %160, i64 3
  %162 = load ptr, ptr %161, align 8
  invoke void %162(ptr noundef nonnull align 8 dereferenceable(48) %156, i32 noundef 2, ptr noundef nonnull align 8 dereferenceable(16) %158)
          to label %163 unwind label %843

163:                                              ; preds = %159
  %164 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 4
  %165 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundVectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %164)
          to label %166 unwind label %843

166:                                              ; preds = %163
  %167 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %31)
          to label %168 unwind label %843

168:                                              ; preds = %166
  %169 = load ptr, ptr %165, align 8, !tbaa !11
  %170 = getelementptr inbounds ptr, ptr %169, i64 3
  %171 = load ptr, ptr %170, align 8
  invoke void %171(ptr noundef nonnull align 8 dereferenceable(48) %165, i32 noundef 3, ptr noundef nonnull align 8 dereferenceable(16) %167)
          to label %172 unwind label %843

172:                                              ; preds = %168
  %173 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 4
  %174 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundVectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %173)
          to label %175 unwind label %843

175:                                              ; preds = %172
  %176 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %31)
          to label %177 unwind label %843

177:                                              ; preds = %175
  %178 = load ptr, ptr %174, align 8, !tbaa !11
  %179 = getelementptr inbounds ptr, ptr %178, i64 3
  %180 = load ptr, ptr %179, align 8
  invoke void %180(ptr noundef nonnull align 8 dereferenceable(48) %174, i32 noundef 4, ptr noundef nonnull align 8 dereferenceable(16) %176)
          to label %181 unwind label %843

181:                                              ; preds = %177
  %182 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 5
  %183 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %182, ptr noundef nonnull align 8 dereferenceable(8) %28)
          to label %184 unwind label %843

184:                                              ; preds = %181
  %185 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 6
  %186 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %185, ptr noundef nonnull align 8 dereferenceable(8) %31)
          to label %187 unwind label %843

187:                                              ; preds = %184
  %188 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %32)
          to label %189 unwind label %843

189:                                              ; preds = %187
  %190 = invoke noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %188)
          to label %191 unwind label %843

191:                                              ; preds = %189
  %192 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %28)
          to label %193 unwind label %843

193:                                              ; preds = %191
  %194 = invoke noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %192)
          to label %195 unwind label %843

195:                                              ; preds = %193
  %196 = mul nsw i32 2, %194
  %197 = add nsw i32 %190, %196
  %198 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %31)
          to label %199 unwind label %843

199:                                              ; preds = %195
  %200 = invoke noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %198)
          to label %201 unwind label %843

201:                                              ; preds = %199
  %202 = mul nsw i32 2, %200
  %203 = add nsw i32 %197, %202
  store i32 %203, ptr %43, align 4, !tbaa !13
  %204 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 48) #9
          to label %205 unwind label %843

205:                                              ; preds = %201
  %206 = load i32, ptr %43, align 4, !tbaa !13
  invoke void @_ZN10SimTKIpopt19CompoundVectorSpaceC1Eii(ptr noundef nonnull align 8 dereferenceable(48) %204, i32 noundef 5, i32 noundef %206)
          to label %207 unwind label %851

207:                                              ; preds = %205
  %208 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 7
  %209 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_19CompoundVectorSpaceEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %208, ptr noundef %204)
          to label %210 unwind label %843

210:                                              ; preds = %207
  %211 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 7
  %212 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundVectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %211)
          to label %213 unwind label %843

213:                                              ; preds = %210
  %214 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %32)
          to label %215 unwind label %843

215:                                              ; preds = %213
  %216 = load ptr, ptr %212, align 8, !tbaa !11
  %217 = getelementptr inbounds ptr, ptr %216, i64 3
  %218 = load ptr, ptr %217, align 8
  invoke void %218(ptr noundef nonnull align 8 dereferenceable(48) %212, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(16) %214)
          to label %219 unwind label %843

219:                                              ; preds = %215
  %220 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 7
  %221 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundVectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %220)
          to label %222 unwind label %843

222:                                              ; preds = %219
  %223 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %28)
          to label %224 unwind label %843

224:                                              ; preds = %222
  %225 = load ptr, ptr %221, align 8, !tbaa !11
  %226 = getelementptr inbounds ptr, ptr %225, i64 3
  %227 = load ptr, ptr %226, align 8
  invoke void %227(ptr noundef nonnull align 8 dereferenceable(48) %221, i32 noundef 1, ptr noundef nonnull align 8 dereferenceable(16) %223)
          to label %228 unwind label %843

228:                                              ; preds = %224
  %229 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 7
  %230 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundVectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %229)
          to label %231 unwind label %843

231:                                              ; preds = %228
  %232 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %28)
          to label %233 unwind label %843

233:                                              ; preds = %231
  %234 = load ptr, ptr %230, align 8, !tbaa !11
  %235 = getelementptr inbounds ptr, ptr %234, i64 3
  %236 = load ptr, ptr %235, align 8
  invoke void %236(ptr noundef nonnull align 8 dereferenceable(48) %230, i32 noundef 2, ptr noundef nonnull align 8 dereferenceable(16) %232)
          to label %237 unwind label %843

237:                                              ; preds = %233
  %238 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 7
  %239 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundVectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %238)
          to label %240 unwind label %843

240:                                              ; preds = %237
  %241 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %31)
          to label %242 unwind label %843

242:                                              ; preds = %240
  %243 = load ptr, ptr %239, align 8, !tbaa !11
  %244 = getelementptr inbounds ptr, ptr %243, i64 3
  %245 = load ptr, ptr %244, align 8
  invoke void %245(ptr noundef nonnull align 8 dereferenceable(48) %239, i32 noundef 3, ptr noundef nonnull align 8 dereferenceable(16) %241)
          to label %246 unwind label %843

246:                                              ; preds = %242
  %247 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 7
  %248 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundVectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %247)
          to label %249 unwind label %843

249:                                              ; preds = %246
  %250 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %31)
          to label %251 unwind label %843

251:                                              ; preds = %249
  %252 = load ptr, ptr %248, align 8, !tbaa !11
  %253 = getelementptr inbounds ptr, ptr %252, i64 3
  %254 = load ptr, ptr %253, align 8
  invoke void %254(ptr noundef nonnull align 8 dereferenceable(48) %248, i32 noundef 4, ptr noundef nonnull align 8 dereferenceable(16) %250)
          to label %255 unwind label %843

255:                                              ; preds = %251
  %256 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 9
  %257 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %256, ptr noundef nonnull align 8 dereferenceable(8) %34)
          to label %258 unwind label %843

258:                                              ; preds = %255
  call void @llvm.lifetime.start.p0(i64 4, ptr %44) #8
  %259 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %27)
          to label %260 unwind label %855

260:                                              ; preds = %258
  %261 = invoke noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %259)
          to label %262 unwind label %855

262:                                              ; preds = %260
  %263 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %28)
          to label %264 unwind label %855

264:                                              ; preds = %262
  %265 = invoke noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %263)
          to label %266 unwind label %855

266:                                              ; preds = %264
  %267 = mul nsw i32 2, %265
  %268 = add nsw i32 %261, %267
  %269 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %31)
          to label %270 unwind label %855

270:                                              ; preds = %266
  %271 = invoke noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %269)
          to label %272 unwind label %855

272:                                              ; preds = %270
  %273 = mul nsw i32 2, %271
  %274 = add nsw i32 %268, %273
  store i32 %274, ptr %44, align 4, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 4, ptr %45) #8
  %275 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %32)
          to label %276 unwind label %859

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

278:                                              ; preds = %276
  %279 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %28)
          to label %280 unwind label %859

280:                                              ; preds = %278
  %281 = invoke noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %279)
          to label %282 unwind label %859

282:                                              ; preds = %280
  %283 = mul nsw i32 2, %281
  %284 = add nsw i32 %277, %283
  %285 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %31)
          to label %286 unwind label %859

286:                                              ; preds = %282
  %287 = invoke noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %285)
          to label %288 unwind label %859

288:                                              ; preds = %286
  %289 = mul nsw i32 2, %287
  %290 = add nsw i32 %284, %289
  store i32 %290, ptr %45, align 4, !tbaa !13
  %291 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 136) #9
          to label %292 unwind label %859

292:                                              ; preds = %288
  %293 = load i32, ptr %44, align 4, !tbaa !13
  %294 = load i32, ptr %45, align 4, !tbaa !13
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpaceC1Eiiii(ptr noundef nonnull align 8 dereferenceable(129) %291, i32 noundef 5, i32 noundef 5, i32 noundef %293, i32 noundef %294)
          to label %295 unwind label %863

295:                                              ; preds = %292
  %296 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 8
  %297 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef %291)
          to label %298 unwind label %859

298:                                              ; preds = %295
  %299 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 8
  %300 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %299)
          to label %301 unwind label %859

301:                                              ; preds = %298
  %302 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %27)
          to label %303 unwind label %859

303:                                              ; preds = %301
  %304 = invoke noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %302)
          to label %305 unwind label %859

305:                                              ; preds = %303
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetBlockRowsEii(ptr noundef nonnull align 8 dereferenceable(129) %300, i32 noundef 0, i32 noundef %304)
          to label %306 unwind label %859

306:                                              ; preds = %305
  %307 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 8
  %308 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %307)
          to label %309 unwind label %859

309:                                              ; preds = %306
  %310 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %28)
          to label %311 unwind label %859

311:                                              ; preds = %309
  %312 = invoke noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %310)
          to label %313 unwind label %859

313:                                              ; preds = %311
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetBlockRowsEii(ptr noundef nonnull align 8 dereferenceable(129) %308, i32 noundef 1, i32 noundef %312)
          to label %314 unwind label %859

314:                                              ; preds = %313
  %315 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 8
  %316 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %315)
          to label %317 unwind label %859

317:                                              ; preds = %314
  %318 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %28)
          to label %319 unwind label %859

319:                                              ; preds = %317
  %320 = invoke noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %318)
          to label %321 unwind label %859

321:                                              ; preds = %319
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetBlockRowsEii(ptr noundef nonnull align 8 dereferenceable(129) %316, i32 noundef 2, i32 noundef %320)
          to label %322 unwind label %859

322:                                              ; preds = %321
  %323 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 8
  %324 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %323)
          to label %325 unwind label %859

325:                                              ; preds = %322
  %326 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %31)
          to label %327 unwind label %859

327:                                              ; preds = %325
  %328 = invoke noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %326)
          to label %329 unwind label %859

329:                                              ; preds = %327
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetBlockRowsEii(ptr noundef nonnull align 8 dereferenceable(129) %324, i32 noundef 3, i32 noundef %328)
          to label %330 unwind label %859

330:                                              ; preds = %329
  %331 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 8
  %332 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %331)
          to label %333 unwind label %859

333:                                              ; preds = %330
  %334 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %31)
          to label %335 unwind label %859

335:                                              ; preds = %333
  %336 = invoke noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %334)
          to label %337 unwind label %859

337:                                              ; preds = %335
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetBlockRowsEii(ptr noundef nonnull align 8 dereferenceable(129) %332, i32 noundef 4, i32 noundef %336)
          to label %338 unwind label %859

338:                                              ; preds = %337
  %339 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 8
  %340 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %339)
          to label %341 unwind label %859

341:                                              ; preds = %338
  %342 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %32)
          to label %343 unwind label %859

343:                                              ; preds = %341
  %344 = invoke noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %342)
          to label %345 unwind label %859

345:                                              ; preds = %343
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetBlockColsEii(ptr noundef nonnull align 8 dereferenceable(129) %340, i32 noundef 0, i32 noundef %344)
          to label %346 unwind label %859

346:                                              ; preds = %345
  %347 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 8
  %348 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %347)
          to label %349 unwind label %859

349:                                              ; preds = %346
  %350 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %28)
          to label %351 unwind label %859

351:                                              ; preds = %349
  %352 = invoke noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %350)
          to label %353 unwind label %859

353:                                              ; preds = %351
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetBlockColsEii(ptr noundef nonnull align 8 dereferenceable(129) %348, i32 noundef 1, i32 noundef %352)
          to label %354 unwind label %859

354:                                              ; preds = %353
  %355 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 8
  %356 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %355)
          to label %357 unwind label %859

357:                                              ; preds = %354
  %358 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %28)
          to label %359 unwind label %859

359:                                              ; preds = %357
  %360 = invoke noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %358)
          to label %361 unwind label %859

361:                                              ; preds = %359
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetBlockColsEii(ptr noundef nonnull align 8 dereferenceable(129) %356, i32 noundef 2, i32 noundef %360)
          to label %362 unwind label %859

362:                                              ; preds = %361
  %363 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 8
  %364 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %363)
          to label %365 unwind label %859

365:                                              ; preds = %362
  %366 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %31)
          to label %367 unwind label %859

367:                                              ; preds = %365
  %368 = invoke noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %366)
          to label %369 unwind label %859

369:                                              ; preds = %367
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetBlockColsEii(ptr noundef nonnull align 8 dereferenceable(129) %364, i32 noundef 3, i32 noundef %368)
          to label %370 unwind label %859

370:                                              ; preds = %369
  %371 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 8
  %372 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %371)
          to label %373 unwind label %859

373:                                              ; preds = %370
  %374 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %31)
          to label %375 unwind label %859

375:                                              ; preds = %373
  %376 = invoke noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %374)
          to label %377 unwind label %859

377:                                              ; preds = %375
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetBlockColsEii(ptr noundef nonnull align 8 dereferenceable(129) %372, i32 noundef 4, i32 noundef %376)
          to label %378 unwind label %859

378:                                              ; preds = %377
  %379 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 8
  %380 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %379)
          to label %381 unwind label %859

381:                                              ; preds = %378
  %382 = invoke noundef nonnull align 8 dereferenceable(20) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %33)
          to label %383 unwind label %859

383:                                              ; preds = %381
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetCompSpaceEiiRKNS_11MatrixSpaceEb(ptr noundef nonnull align 8 dereferenceable(129) %380, i32 noundef 0, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(20) %382, i1 noundef zeroext false)
          to label %384 unwind label %859

384:                                              ; preds = %383
  call void @llvm.lifetime.start.p0(i64 8, ptr %46) #8
  %385 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 24) #9
          to label %386 unwind label %867

386:                                              ; preds = %384
  %387 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %28)
          to label %388 unwind label %871

388:                                              ; preds = %386
  %389 = invoke noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %387)
          to label %390 unwind label %871

390:                                              ; preds = %388
  invoke void @_ZN10SimTKIpopt19IdentityMatrixSpaceC2Ei(ptr noundef nonnull align 8 dereferenceable(20) %385, i32 noundef %389)
          to label %391 unwind label %871

391:                                              ; preds = %390
  invoke void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEEC2EPS2_(ptr noundef nonnull align 8 dereferenceable(8) %46, ptr noundef %385)
          to label %392 unwind label %867

392:                                              ; preds = %391
  %393 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 8
  %394 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %393)
          to label %395 unwind label %875

395:                                              ; preds = %392
  %396 = invoke noundef nonnull align 8 dereferenceable(20) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %46)
          to label %397 unwind label %875

397:                                              ; preds = %395
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetCompSpaceEiiRKNS_11MatrixSpaceEb(ptr noundef nonnull align 8 dereferenceable(129) %394, i32 noundef 1, i32 noundef 1, ptr noundef nonnull align 8 dereferenceable(20) %396, i1 noundef zeroext true)
          to label %398 unwind label %875

398:                                              ; preds = %397
  %399 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 8
  %400 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %399)
          to label %401 unwind label %875

401:                                              ; preds = %398
  %402 = invoke noundef nonnull align 8 dereferenceable(20) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %46)
          to label %403 unwind label %875

403:                                              ; preds = %401
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetCompSpaceEiiRKNS_11MatrixSpaceEb(ptr noundef nonnull align 8 dereferenceable(129) %400, i32 noundef 2, i32 noundef 2, ptr noundef nonnull align 8 dereferenceable(20) %402, i1 noundef zeroext true)
          to label %404 unwind label %875

404:                                              ; preds = %403
  call void @llvm.lifetime.start.p0(i64 8, ptr %47) #8
  %405 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 24) #9
          to label %406 unwind label %879

406:                                              ; preds = %404
  %407 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %31)
          to label %408 unwind label %883

408:                                              ; preds = %406
  %409 = invoke noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %407)
          to label %410 unwind label %883

410:                                              ; preds = %408
  invoke void @_ZN10SimTKIpopt19IdentityMatrixSpaceC2Ei(ptr noundef nonnull align 8 dereferenceable(20) %405, i32 noundef %409)
          to label %411 unwind label %883

411:                                              ; preds = %410
  invoke void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEEC2EPS2_(ptr noundef nonnull align 8 dereferenceable(8) %47, ptr noundef %405)
          to label %412 unwind label %879

412:                                              ; preds = %411
  %413 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 8
  %414 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %413)
          to label %415 unwind label %887

415:                                              ; preds = %412
  %416 = invoke noundef nonnull align 8 dereferenceable(20) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %47)
          to label %417 unwind label %887

417:                                              ; preds = %415
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetCompSpaceEiiRKNS_11MatrixSpaceEb(ptr noundef nonnull align 8 dereferenceable(129) %414, i32 noundef 3, i32 noundef 3, ptr noundef nonnull align 8 dereferenceable(20) %416, i1 noundef zeroext true)
          to label %418 unwind label %887

418:                                              ; preds = %417
  %419 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 8
  %420 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %419)
          to label %421 unwind label %887

421:                                              ; preds = %418
  %422 = invoke noundef nonnull align 8 dereferenceable(20) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %47)
          to label %423 unwind label %887

423:                                              ; preds = %421
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetCompSpaceEiiRKNS_11MatrixSpaceEb(ptr noundef nonnull align 8 dereferenceable(129) %420, i32 noundef 4, i32 noundef 4, ptr noundef nonnull align 8 dereferenceable(20) %422, i1 noundef zeroext true)
          to label %424 unwind label %887

424:                                              ; preds = %423
  %425 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %27)
          to label %426 unwind label %887

426:                                              ; preds = %424
  %427 = invoke noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %425)
          to label %428 unwind label %887

428:                                              ; preds = %426
  %429 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %28)
          to label %430 unwind label %887

430:                                              ; preds = %428
  %431 = invoke noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %429)
          to label %432 unwind label %887

432:                                              ; preds = %430
  %433 = mul nsw i32 2, %431
  %434 = add nsw i32 %427, %433
  %435 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %31)
          to label %436 unwind label %887

436:                                              ; preds = %432
  %437 = invoke noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %435)
          to label %438 unwind label %887

438:                                              ; preds = %436
  %439 = mul nsw i32 2, %437
  %440 = add nsw i32 %434, %439
  store i32 %440, ptr %44, align 4, !tbaa !13
  %441 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %34)
          to label %442 unwind label %887

442:                                              ; preds = %438
  %443 = invoke noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %441)
          to label %444 unwind label %887

444:                                              ; preds = %442
  store i32 %443, ptr %45, align 4, !tbaa !13
  %445 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 136) #9
          to label %446 unwind label %887

446:                                              ; preds = %444
  %447 = load i32, ptr %44, align 4, !tbaa !13
  %448 = load i32, ptr %45, align 4, !tbaa !13
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpaceC1Eiiii(ptr noundef nonnull align 8 dereferenceable(129) %445, i32 noundef 5, i32 noundef 1, i32 noundef %447, i32 noundef %448)
          to label %449 unwind label %891

449:                                              ; preds = %446
  %450 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 10
  %451 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %450, ptr noundef %445)
          to label %452 unwind label %887

452:                                              ; preds = %449
  %453 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 10
  %454 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %453)
          to label %455 unwind label %887

455:                                              ; preds = %452
  %456 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %27)
          to label %457 unwind label %887

457:                                              ; preds = %455
  %458 = invoke noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %456)
          to label %459 unwind label %887

459:                                              ; preds = %457
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetBlockRowsEii(ptr noundef nonnull align 8 dereferenceable(129) %454, i32 noundef 0, i32 noundef %458)
          to label %460 unwind label %887

460:                                              ; preds = %459
  %461 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 10
  %462 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %461)
          to label %463 unwind label %887

463:                                              ; preds = %460
  %464 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %28)
          to label %465 unwind label %887

465:                                              ; preds = %463
  %466 = invoke noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %464)
          to label %467 unwind label %887

467:                                              ; preds = %465
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetBlockRowsEii(ptr noundef nonnull align 8 dereferenceable(129) %462, i32 noundef 1, i32 noundef %466)
          to label %468 unwind label %887

468:                                              ; preds = %467
  %469 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 10
  %470 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %469)
          to label %471 unwind label %887

471:                                              ; preds = %468
  %472 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %28)
          to label %473 unwind label %887

473:                                              ; preds = %471
  %474 = invoke noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %472)
          to label %475 unwind label %887

475:                                              ; preds = %473
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetBlockRowsEii(ptr noundef nonnull align 8 dereferenceable(129) %470, i32 noundef 2, i32 noundef %474)
          to label %476 unwind label %887

476:                                              ; preds = %475
  %477 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 10
  %478 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %477)
          to label %479 unwind label %887

479:                                              ; preds = %476
  %480 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %31)
          to label %481 unwind label %887

481:                                              ; preds = %479
  %482 = invoke noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %480)
          to label %483 unwind label %887

483:                                              ; preds = %481
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetBlockRowsEii(ptr noundef nonnull align 8 dereferenceable(129) %478, i32 noundef 3, i32 noundef %482)
          to label %484 unwind label %887

484:                                              ; preds = %483
  %485 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 10
  %486 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %485)
          to label %487 unwind label %887

487:                                              ; preds = %484
  %488 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %31)
          to label %489 unwind label %887

489:                                              ; preds = %487
  %490 = invoke noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %488)
          to label %491 unwind label %887

491:                                              ; preds = %489
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetBlockRowsEii(ptr noundef nonnull align 8 dereferenceable(129) %486, i32 noundef 4, i32 noundef %490)
          to label %492 unwind label %887

492:                                              ; preds = %491
  %493 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 10
  %494 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %493)
          to label %495 unwind label %887

495:                                              ; preds = %492
  %496 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %34)
          to label %497 unwind label %887

497:                                              ; preds = %495
  %498 = invoke noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %496)
          to label %499 unwind label %887

499:                                              ; preds = %497
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetBlockColsEii(ptr noundef nonnull align 8 dereferenceable(129) %494, i32 noundef 0, i32 noundef %498)
          to label %500 unwind label %887

500:                                              ; preds = %499
  %501 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 10
  %502 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %501)
          to label %503 unwind label %887

503:                                              ; preds = %500
  %504 = invoke noundef nonnull align 8 dereferenceable(20) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %35)
          to label %505 unwind label %887

505:                                              ; preds = %503
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetCompSpaceEiiRKNS_11MatrixSpaceEb(ptr noundef nonnull align 8 dereferenceable(129) %502, i32 noundef 0, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(20) %504, i1 noundef zeroext false)
          to label %506 unwind label %887

506:                                              ; preds = %505
  %507 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 11
  %508 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %507, ptr noundef nonnull align 8 dereferenceable(8) %36)
          to label %509 unwind label %887

509:                                              ; preds = %506
  %510 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 13
  %511 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %510, ptr noundef nonnull align 8 dereferenceable(8) %38)
          to label %512 unwind label %887

512:                                              ; preds = %509
  %513 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 12
  %514 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %513, ptr noundef nonnull align 8 dereferenceable(8) %37)
          to label %515 unwind label %887

515:                                              ; preds = %512
  %516 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 14
  %517 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %516, ptr noundef nonnull align 8 dereferenceable(8) %39)
          to label %518 unwind label %887

518:                                              ; preds = %515
  %519 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %28)
          to label %520 unwind label %887

520:                                              ; preds = %518
  %521 = invoke noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %519)
          to label %522 unwind label %887

522:                                              ; preds = %520
  store i32 %521, ptr %44, align 4, !tbaa !13
  %523 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %27)
          to label %524 unwind label %887

524:                                              ; preds = %522
  %525 = invoke noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %523)
          to label %526 unwind label %887

526:                                              ; preds = %524
  %527 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %28)
          to label %528 unwind label %887

528:                                              ; preds = %526
  %529 = invoke noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %527)
          to label %530 unwind label %887

530:                                              ; preds = %528
  %531 = mul nsw i32 2, %529
  %532 = add nsw i32 %525, %531
  %533 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %31)
          to label %534 unwind label %887

534:                                              ; preds = %530
  %535 = invoke noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %533)
          to label %536 unwind label %887

536:                                              ; preds = %534
  %537 = mul nsw i32 2, %535
  %538 = add nsw i32 %532, %537
  store i32 %538, ptr %45, align 4, !tbaa !13
  %539 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 136) #9
          to label %540 unwind label %887

540:                                              ; preds = %536
  %541 = load i32, ptr %44, align 4, !tbaa !13
  %542 = load i32, ptr %45, align 4, !tbaa !13
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpaceC1Eiiii(ptr noundef nonnull align 8 dereferenceable(129) %539, i32 noundef 1, i32 noundef 5, i32 noundef %541, i32 noundef %542)
          to label %543 unwind label %895

543:                                              ; preds = %540
  %544 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 15
  %545 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %544, ptr noundef %539)
          to label %546 unwind label %887

546:                                              ; preds = %543
  %547 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 15
  %548 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %547)
          to label %549 unwind label %887

549:                                              ; preds = %546
  %550 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %28)
          to label %551 unwind label %887

551:                                              ; preds = %549
  %552 = invoke noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %550)
          to label %553 unwind label %887

553:                                              ; preds = %551
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetBlockRowsEii(ptr noundef nonnull align 8 dereferenceable(129) %548, i32 noundef 0, i32 noundef %552)
          to label %554 unwind label %887

554:                                              ; preds = %553
  %555 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 15
  %556 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %555)
          to label %557 unwind label %887

557:                                              ; preds = %554
  %558 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %27)
          to label %559 unwind label %887

559:                                              ; preds = %557
  %560 = invoke noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %558)
          to label %561 unwind label %887

561:                                              ; preds = %559
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetBlockColsEii(ptr noundef nonnull align 8 dereferenceable(129) %556, i32 noundef 0, i32 noundef %560)
          to label %562 unwind label %887

562:                                              ; preds = %561
  %563 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 15
  %564 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %563)
          to label %565 unwind label %887

565:                                              ; preds = %562
  %566 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %28)
          to label %567 unwind label %887

567:                                              ; preds = %565
  %568 = invoke noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %566)
          to label %569 unwind label %887

569:                                              ; preds = %567
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetBlockColsEii(ptr noundef nonnull align 8 dereferenceable(129) %564, i32 noundef 1, i32 noundef %568)
          to label %570 unwind label %887

570:                                              ; preds = %569
  %571 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 15
  %572 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %571)
          to label %573 unwind label %887

573:                                              ; preds = %570
  %574 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %28)
          to label %575 unwind label %887

575:                                              ; preds = %573
  %576 = invoke noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %574)
          to label %577 unwind label %887

577:                                              ; preds = %575
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetBlockColsEii(ptr noundef nonnull align 8 dereferenceable(129) %572, i32 noundef 2, i32 noundef %576)
          to label %578 unwind label %887

578:                                              ; preds = %577
  %579 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 15
  %580 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %579)
          to label %581 unwind label %887

581:                                              ; preds = %578
  %582 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %31)
          to label %583 unwind label %887

583:                                              ; preds = %581
  %584 = invoke noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %582)
          to label %585 unwind label %887

585:                                              ; preds = %583
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetBlockColsEii(ptr noundef nonnull align 8 dereferenceable(129) %580, i32 noundef 3, i32 noundef %584)
          to label %586 unwind label %887

586:                                              ; preds = %585
  %587 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 15
  %588 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %587)
          to label %589 unwind label %887

589:                                              ; preds = %586
  %590 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %31)
          to label %591 unwind label %887

591:                                              ; preds = %589
  %592 = invoke noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %590)
          to label %593 unwind label %887

593:                                              ; preds = %591
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetBlockColsEii(ptr noundef nonnull align 8 dereferenceable(129) %588, i32 noundef 4, i32 noundef %592)
          to label %594 unwind label %887

594:                                              ; preds = %593
  %595 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 15
  %596 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %595)
          to label %597 unwind label %887

597:                                              ; preds = %594
  %598 = invoke noundef nonnull align 8 dereferenceable(20) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %40)
          to label %599 unwind label %887

599:                                              ; preds = %597
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetCompSpaceEiiRKNS_11MatrixSpaceEb(ptr noundef nonnull align 8 dereferenceable(129) %596, i32 noundef 0, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(20) %598, i1 noundef zeroext false)
          to label %600 unwind label %887

600:                                              ; preds = %599
  %601 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 15
  %602 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %601)
          to label %603 unwind label %887

603:                                              ; preds = %600
  %604 = invoke noundef nonnull align 8 dereferenceable(20) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %46)
          to label %605 unwind label %887

605:                                              ; preds = %603
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetCompSpaceEiiRKNS_11MatrixSpaceEb(ptr noundef nonnull align 8 dereferenceable(129) %602, i32 noundef 0, i32 noundef 1, ptr noundef nonnull align 8 dereferenceable(20) %604, i1 noundef zeroext true)
          to label %606 unwind label %887

606:                                              ; preds = %605
  %607 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 15
  %608 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %607)
          to label %609 unwind label %887

609:                                              ; preds = %606
  %610 = invoke noundef nonnull align 8 dereferenceable(20) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %46)
          to label %611 unwind label %887

611:                                              ; preds = %609
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetCompSpaceEiiRKNS_11MatrixSpaceEb(ptr noundef nonnull align 8 dereferenceable(129) %608, i32 noundef 0, i32 noundef 2, ptr noundef nonnull align 8 dereferenceable(20) %610, i1 noundef zeroext true)
          to label %612 unwind label %887

612:                                              ; preds = %611
  %613 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %31)
          to label %614 unwind label %887

614:                                              ; preds = %612
  %615 = invoke noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %613)
          to label %616 unwind label %887

616:                                              ; preds = %614
  store i32 %615, ptr %44, align 4, !tbaa !13
  %617 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %27)
          to label %618 unwind label %887

618:                                              ; preds = %616
  %619 = invoke noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %617)
          to label %620 unwind label %887

620:                                              ; preds = %618
  %621 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %28)
          to label %622 unwind label %887

622:                                              ; preds = %620
  %623 = invoke noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %621)
          to label %624 unwind label %887

624:                                              ; preds = %622
  %625 = mul nsw i32 2, %623
  %626 = add nsw i32 %619, %625
  %627 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %31)
          to label %628 unwind label %887

628:                                              ; preds = %624
  %629 = invoke noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %627)
          to label %630 unwind label %887

630:                                              ; preds = %628
  %631 = mul nsw i32 2, %629
  %632 = add nsw i32 %626, %631
  store i32 %632, ptr %45, align 4, !tbaa !13
  %633 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 136) #9
          to label %634 unwind label %887

634:                                              ; preds = %630
  %635 = load i32, ptr %44, align 4, !tbaa !13
  %636 = load i32, ptr %45, align 4, !tbaa !13
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpaceC1Eiiii(ptr noundef nonnull align 8 dereferenceable(129) %633, i32 noundef 1, i32 noundef 5, i32 noundef %635, i32 noundef %636)
          to label %637 unwind label %899

637:                                              ; preds = %634
  %638 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 16
  %639 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %638, ptr noundef %633)
          to label %640 unwind label %887

640:                                              ; preds = %637
  %641 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 16
  %642 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %641)
          to label %643 unwind label %887

643:                                              ; preds = %640
  %644 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %31)
          to label %645 unwind label %887

645:                                              ; preds = %643
  %646 = invoke noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %644)
          to label %647 unwind label %887

647:                                              ; preds = %645
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetBlockRowsEii(ptr noundef nonnull align 8 dereferenceable(129) %642, i32 noundef 0, i32 noundef %646)
          to label %648 unwind label %887

648:                                              ; preds = %647
  %649 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 16
  %650 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %649)
          to label %651 unwind label %887

651:                                              ; preds = %648
  %652 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %27)
          to label %653 unwind label %887

653:                                              ; preds = %651
  %654 = invoke noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %652)
          to label %655 unwind label %887

655:                                              ; preds = %653
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetBlockColsEii(ptr noundef nonnull align 8 dereferenceable(129) %650, i32 noundef 0, i32 noundef %654)
          to label %656 unwind label %887

656:                                              ; preds = %655
  %657 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 16
  %658 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %657)
          to label %659 unwind label %887

659:                                              ; preds = %656
  %660 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %28)
          to label %661 unwind label %887

661:                                              ; preds = %659
  %662 = invoke noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %660)
          to label %663 unwind label %887

663:                                              ; preds = %661
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetBlockColsEii(ptr noundef nonnull align 8 dereferenceable(129) %658, i32 noundef 1, i32 noundef %662)
          to label %664 unwind label %887

664:                                              ; preds = %663
  %665 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 16
  %666 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %665)
          to label %667 unwind label %887

667:                                              ; preds = %664
  %668 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %28)
          to label %669 unwind label %887

669:                                              ; preds = %667
  %670 = invoke noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %668)
          to label %671 unwind label %887

671:                                              ; preds = %669
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetBlockColsEii(ptr noundef nonnull align 8 dereferenceable(129) %666, i32 noundef 2, i32 noundef %670)
          to label %672 unwind label %887

672:                                              ; preds = %671
  %673 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 16
  %674 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %673)
          to label %675 unwind label %887

675:                                              ; preds = %672
  %676 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %31)
          to label %677 unwind label %887

677:                                              ; preds = %675
  %678 = invoke noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %676)
          to label %679 unwind label %887

679:                                              ; preds = %677
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetBlockColsEii(ptr noundef nonnull align 8 dereferenceable(129) %674, i32 noundef 3, i32 noundef %678)
          to label %680 unwind label %887

680:                                              ; preds = %679
  %681 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 16
  %682 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %681)
          to label %683 unwind label %887

683:                                              ; preds = %680
  %684 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %31)
          to label %685 unwind label %887

685:                                              ; preds = %683
  %686 = invoke noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %684)
          to label %687 unwind label %887

687:                                              ; preds = %685
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetBlockColsEii(ptr noundef nonnull align 8 dereferenceable(129) %682, i32 noundef 4, i32 noundef %686)
          to label %688 unwind label %887

688:                                              ; preds = %687
  %689 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 16
  %690 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %689)
          to label %691 unwind label %887

691:                                              ; preds = %688
  %692 = invoke noundef nonnull align 8 dereferenceable(20) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %41)
          to label %693 unwind label %887

693:                                              ; preds = %691
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetCompSpaceEiiRKNS_11MatrixSpaceEb(ptr noundef nonnull align 8 dereferenceable(129) %690, i32 noundef 0, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(20) %692, i1 noundef zeroext false)
          to label %694 unwind label %887

694:                                              ; preds = %693
  %695 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 16
  %696 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %695)
          to label %697 unwind label %887

697:                                              ; preds = %694
  %698 = invoke noundef nonnull align 8 dereferenceable(20) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %47)
          to label %699 unwind label %887

699:                                              ; preds = %697
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetCompSpaceEiiRKNS_11MatrixSpaceEb(ptr noundef nonnull align 8 dereferenceable(129) %696, i32 noundef 0, i32 noundef 3, ptr noundef nonnull align 8 dereferenceable(20) %698, i1 noundef zeroext true)
          to label %700 unwind label %887

700:                                              ; preds = %699
  %701 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 16
  %702 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %701)
          to label %703 unwind label %887

703:                                              ; preds = %700
  %704 = invoke noundef nonnull align 8 dereferenceable(20) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %47)
          to label %705 unwind label %887

705:                                              ; preds = %703
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetCompSpaceEiiRKNS_11MatrixSpaceEb(ptr noundef nonnull align 8 dereferenceable(129) %702, i32 noundef 0, i32 noundef 4, ptr noundef nonnull align 8 dereferenceable(20) %704, i1 noundef zeroext true)
          to label %706 unwind label %887

706:                                              ; preds = %705
  %707 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %27)
          to label %708 unwind label %887

708:                                              ; preds = %706
  %709 = invoke noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %707)
          to label %710 unwind label %887

710:                                              ; preds = %708
  %711 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %28)
          to label %712 unwind label %887

712:                                              ; preds = %710
  %713 = invoke noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %711)
          to label %714 unwind label %887

714:                                              ; preds = %712
  %715 = mul nsw i32 2, %713
  %716 = add nsw i32 %709, %715
  %717 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %31)
          to label %718 unwind label %887

718:                                              ; preds = %714
  %719 = invoke noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %717)
          to label %720 unwind label %887

720:                                              ; preds = %718
  %721 = mul nsw i32 2, %719
  %722 = add nsw i32 %716, %721
  store i32 %722, ptr %43, align 4, !tbaa !13
  %723 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 104) #9
          to label %724 unwind label %887

724:                                              ; preds = %720
  %725 = load i32, ptr %43, align 4, !tbaa !13
  invoke void @_ZN10SimTKIpopt22CompoundSymMatrixSpaceC1Eii(ptr noundef nonnull align 8 dereferenceable(97) %723, i32 noundef 5, i32 noundef %725)
          to label %726 unwind label %903

726:                                              ; preds = %724
  %727 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 17
  %728 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_22CompoundSymMatrixSpaceEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %727, ptr noundef %723)
          to label %729 unwind label %887

729:                                              ; preds = %726
  %730 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 17
  %731 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_22CompoundSymMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %730)
          to label %732 unwind label %887

732:                                              ; preds = %729
  %733 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %27)
          to label %734 unwind label %887

734:                                              ; preds = %732
  %735 = invoke noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %733)
          to label %736 unwind label %887

736:                                              ; preds = %734
  invoke void @_ZN10SimTKIpopt22CompoundSymMatrixSpace11SetBlockDimEii(ptr noundef nonnull align 8 dereferenceable(97) %731, i32 noundef 0, i32 noundef %735)
          to label %737 unwind label %887

737:                                              ; preds = %736
  %738 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 17
  %739 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_22CompoundSymMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %738)
          to label %740 unwind label %887

740:                                              ; preds = %737
  %741 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %28)
          to label %742 unwind label %887

742:                                              ; preds = %740
  %743 = invoke noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %741)
          to label %744 unwind label %887

744:                                              ; preds = %742
  invoke void @_ZN10SimTKIpopt22CompoundSymMatrixSpace11SetBlockDimEii(ptr noundef nonnull align 8 dereferenceable(97) %739, i32 noundef 1, i32 noundef %743)
          to label %745 unwind label %887

745:                                              ; preds = %744
  %746 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 17
  %747 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_22CompoundSymMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %746)
          to label %748 unwind label %887

748:                                              ; preds = %745
  %749 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %28)
          to label %750 unwind label %887

750:                                              ; preds = %748
  %751 = invoke noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %749)
          to label %752 unwind label %887

752:                                              ; preds = %750
  invoke void @_ZN10SimTKIpopt22CompoundSymMatrixSpace11SetBlockDimEii(ptr noundef nonnull align 8 dereferenceable(97) %747, i32 noundef 2, i32 noundef %751)
          to label %753 unwind label %887

753:                                              ; preds = %752
  %754 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 17
  %755 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_22CompoundSymMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %754)
          to label %756 unwind label %887

756:                                              ; preds = %753
  %757 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %31)
          to label %758 unwind label %887

758:                                              ; preds = %756
  %759 = invoke noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %757)
          to label %760 unwind label %887

760:                                              ; preds = %758
  invoke void @_ZN10SimTKIpopt22CompoundSymMatrixSpace11SetBlockDimEii(ptr noundef nonnull align 8 dereferenceable(97) %755, i32 noundef 3, i32 noundef %759)
          to label %761 unwind label %887

761:                                              ; preds = %760
  %762 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 17
  %763 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_22CompoundSymMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %762)
          to label %764 unwind label %887

764:                                              ; preds = %761
  %765 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %31)
          to label %766 unwind label %887

766:                                              ; preds = %764
  %767 = invoke noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %765)
          to label %768 unwind label %887

768:                                              ; preds = %766
  invoke void @_ZN10SimTKIpopt22CompoundSymMatrixSpace11SetBlockDimEii(ptr noundef nonnull align 8 dereferenceable(97) %763, i32 noundef 4, i32 noundef %767)
          to label %769 unwind label %887

769:                                              ; preds = %768
  call void @llvm.lifetime.start.p0(i64 8, ptr %48) #8
  %770 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 24) #9
          to label %771 unwind label %907

771:                                              ; preds = %769
  %772 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %27)
          to label %773 unwind label %911

773:                                              ; preds = %771
  %774 = invoke noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %772)
          to label %775 unwind label %911

775:                                              ; preds = %773
  invoke void @_ZN10SimTKIpopt15DiagMatrixSpaceC2Ei(ptr noundef nonnull align 8 dereferenceable(20) %770, i32 noundef %774)
          to label %776 unwind label %911

776:                                              ; preds = %775
  invoke void @_ZN10SimTKIpopt8SmartPtrINS_15DiagMatrixSpaceEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8) %48, ptr noundef %770)
          to label %777 unwind label %907

777:                                              ; preds = %776
  %778 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 33
  %779 = load i32, ptr %778, align 4, !tbaa !15
  %780 = icmp eq i32 %779, 1
  br i1 %780, label %781, label %964

781:                                              ; preds = %777
  call void @llvm.lifetime.start.p0(i64 8, ptr %49) #8
  %782 = invoke noundef ptr @_ZN10SimTKIpopt9GetRawPtrIKNS_14SymMatrixSpaceEEEPT_RKNS_8SmartPtrIS3_EE(ptr noundef nonnull align 8 dereferenceable(8) %42)
          to label %783 unwind label %915

783:                                              ; preds = %781
  %784 = icmp eq ptr %782, null
  br i1 %784, label %919, label %785

785:                                              ; preds = %783
  %786 = call ptr @__dynamic_cast(ptr %782, ptr @_ZTIN10SimTKIpopt14SymMatrixSpaceE, ptr @_ZTIN10SimTKIpopt27LowRankUpdateSymMatrixSpaceE, i64 0) #8
  br label %920

787:                                              ; preds = %13
  %788 = landingpad { ptr, i32 }
          cleanup
  %789 = extractvalue { ptr, i32 } %788, 0
  store ptr %789, ptr %29, align 8
  %790 = extractvalue { ptr, i32 } %788, 1
  store i32 %790, ptr %30, align 4
  br label %1696

791:                                              ; preds = %94
  %792 = landingpad { ptr, i32 }
          cleanup
  %793 = extractvalue { ptr, i32 } %792, 0
  store ptr %793, ptr %29, align 8
  %794 = extractvalue { ptr, i32 } %792, 1
  store i32 %794, ptr %30, align 4
  br label %1695

795:                                              ; preds = %95
  %796 = landingpad { ptr, i32 }
          cleanup
  %797 = extractvalue { ptr, i32 } %796, 0
  store ptr %797, ptr %29, align 8
  %798 = extractvalue { ptr, i32 } %796, 1
  store i32 %798, ptr %30, align 4
  br label %1694

799:                                              ; preds = %96
  %800 = landingpad { ptr, i32 }
          cleanup
  %801 = extractvalue { ptr, i32 } %800, 0
  store ptr %801, ptr %29, align 8
  %802 = extractvalue { ptr, i32 } %800, 1
  store i32 %802, ptr %30, align 4
  br label %1693

803:                                              ; preds = %97
  %804 = landingpad { ptr, i32 }
          cleanup
  %805 = extractvalue { ptr, i32 } %804, 0
  store ptr %805, ptr %29, align 8
  %806 = extractvalue { ptr, i32 } %804, 1
  store i32 %806, ptr %30, align 4
  br label %1692

807:                                              ; preds = %98
  %808 = landingpad { ptr, i32 }
          cleanup
  %809 = extractvalue { ptr, i32 } %808, 0
  store ptr %809, ptr %29, align 8
  %810 = extractvalue { ptr, i32 } %808, 1
  store i32 %810, ptr %30, align 4
  br label %1691

811:                                              ; preds = %99
  %812 = landingpad { ptr, i32 }
          cleanup
  %813 = extractvalue { ptr, i32 } %812, 0
  store ptr %813, ptr %29, align 8
  %814 = extractvalue { ptr, i32 } %812, 1
  store i32 %814, ptr %30, align 4
  br label %1690

815:                                              ; preds = %100
  %816 = landingpad { ptr, i32 }
          cleanup
  %817 = extractvalue { ptr, i32 } %816, 0
  store ptr %817, ptr %29, align 8
  %818 = extractvalue { ptr, i32 } %816, 1
  store i32 %818, ptr %30, align 4
  br label %1689

819:                                              ; preds = %101
  %820 = landingpad { ptr, i32 }
          cleanup
  %821 = extractvalue { ptr, i32 } %820, 0
  store ptr %821, ptr %29, align 8
  %822 = extractvalue { ptr, i32 } %820, 1
  store i32 %822, ptr %30, align 4
  br label %1688

823:                                              ; preds = %102
  %824 = landingpad { ptr, i32 }
          cleanup
  %825 = extractvalue { ptr, i32 } %824, 0
  store ptr %825, ptr %29, align 8
  %826 = extractvalue { ptr, i32 } %824, 1
  store i32 %826, ptr %30, align 4
  br label %1687

827:                                              ; preds = %103
  %828 = landingpad { ptr, i32 }
          cleanup
  %829 = extractvalue { ptr, i32 } %828, 0
  store ptr %829, ptr %29, align 8
  %830 = extractvalue { ptr, i32 } %828, 1
  store i32 %830, ptr %30, align 4
  br label %1686

831:                                              ; preds = %104
  %832 = landingpad { ptr, i32 }
          cleanup
  %833 = extractvalue { ptr, i32 } %832, 0
  store ptr %833, ptr %29, align 8
  %834 = extractvalue { ptr, i32 } %832, 1
  store i32 %834, ptr %30, align 4
  br label %1685

835:                                              ; preds = %105
  %836 = landingpad { ptr, i32 }
          cleanup
  %837 = extractvalue { ptr, i32 } %836, 0
  store ptr %837, ptr %29, align 8
  %838 = extractvalue { ptr, i32 } %836, 1
  store i32 %838, ptr %30, align 4
  br label %1684

839:                                              ; preds = %109, %106
  %840 = landingpad { ptr, i32 }
          cleanup
  %841 = extractvalue { ptr, i32 } %840, 0
  store ptr %841, ptr %29, align 8
  %842 = extractvalue { ptr, i32 } %840, 1
  store i32 %842, ptr %30, align 4
  br label %1683

843:                                              ; preds = %255, %251, %249, %246, %242, %240, %237, %233, %231, %228, %224, %222, %219, %215, %213, %210, %207, %201, %199, %195, %193, %191, %189, %187, %184, %181, %177, %175, %172, %168, %166, %163, %159, %157, %154, %150, %148, %145, %141, %139, %136, %133, %127, %125, %121, %119, %117, %115, %113
  %844 = landingpad { ptr, i32 }
          cleanup
  %845 = extractvalue { ptr, i32 } %844, 0
  store ptr %845, ptr %29, align 8
  %846 = extractvalue { ptr, i32 } %844, 1
  store i32 %846, ptr %30, align 4
  br label %1682

847:                                              ; preds = %131
  %848 = landingpad { ptr, i32 }
          cleanup
  %849 = extractvalue { ptr, i32 } %848, 0
  store ptr %849, ptr %29, align 8
  %850 = extractvalue { ptr, i32 } %848, 1
  store i32 %850, ptr %30, align 4
  call void @_ZdlPvm(ptr noundef %130, i64 noundef 48) #10
  br label %1682

851:                                              ; preds = %205
  %852 = landingpad { ptr, i32 }
          cleanup
  %853 = extractvalue { ptr, i32 } %852, 0
  store ptr %853, ptr %29, align 8
  %854 = extractvalue { ptr, i32 } %852, 1
  store i32 %854, ptr %30, align 4
  call void @_ZdlPvm(ptr noundef %204, i64 noundef 48) #10
  br label %1682

855:                                              ; preds = %270, %266, %264, %262, %260, %258
  %856 = landingpad { ptr, i32 }
          cleanup
  %857 = extractvalue { ptr, i32 } %856, 0
  store ptr %857, ptr %29, align 8
  %858 = extractvalue { ptr, i32 } %856, 1
  store i32 %858, ptr %30, align 4
  br label %1681

859:                                              ; preds = %383, %381, %378, %377, %375, %373, %370, %369, %367, %365, %362, %361, %359, %357, %354, %353, %351, %349, %346, %345, %343, %341, %338, %337, %335, %333, %330, %329, %327, %325, %322, %321, %319, %317, %314, %313, %311, %309, %306, %305, %303, %301, %298, %295, %288, %286, %282, %280, %278, %276, %272
  %860 = landingpad { ptr, i32 }
          cleanup
  %861 = extractvalue { ptr, i32 } %860, 0
  store ptr %861, ptr %29, align 8
  %862 = extractvalue { ptr, i32 } %860, 1
  store i32 %862, ptr %30, align 4
  br label %1680

863:                                              ; preds = %292
  %864 = landingpad { ptr, i32 }
          cleanup
  %865 = extractvalue { ptr, i32 } %864, 0
  store ptr %865, ptr %29, align 8
  %866 = extractvalue { ptr, i32 } %864, 1
  store i32 %866, ptr %30, align 4
  call void @_ZdlPvm(ptr noundef %291, i64 noundef 136) #10
  br label %1680

867:                                              ; preds = %391, %384
  %868 = landingpad { ptr, i32 }
          cleanup
  %869 = extractvalue { ptr, i32 } %868, 0
  store ptr %869, ptr %29, align 8
  %870 = extractvalue { ptr, i32 } %868, 1
  store i32 %870, ptr %30, align 4
  br label %1679

871:                                              ; preds = %390, %388, %386
  %872 = landingpad { ptr, i32 }
          cleanup
  %873 = extractvalue { ptr, i32 } %872, 0
  store ptr %873, ptr %29, align 8
  %874 = extractvalue { ptr, i32 } %872, 1
  store i32 %874, ptr %30, align 4
  call void @_ZdlPvm(ptr noundef %385, i64 noundef 24) #10
  br label %1679

875:                                              ; preds = %403, %401, %398, %397, %395, %392
  %876 = landingpad { ptr, i32 }
          cleanup
  %877 = extractvalue { ptr, i32 } %876, 0
  store ptr %877, ptr %29, align 8
  %878 = extractvalue { ptr, i32 } %876, 1
  store i32 %878, ptr %30, align 4
  br label %1678

879:                                              ; preds = %411, %404
  %880 = landingpad { ptr, i32 }
          cleanup
  %881 = extractvalue { ptr, i32 } %880, 0
  store ptr %881, ptr %29, align 8
  %882 = extractvalue { ptr, i32 } %880, 1
  store i32 %882, ptr %30, align 4
  br label %1677

883:                                              ; preds = %410, %408, %406
  %884 = landingpad { ptr, i32 }
          cleanup
  %885 = extractvalue { ptr, i32 } %884, 0
  store ptr %885, ptr %29, align 8
  %886 = extractvalue { ptr, i32 } %884, 1
  store i32 %886, ptr %30, align 4
  call void @_ZdlPvm(ptr noundef %405, i64 noundef 24) #10
  br label %1677

887:                                              ; preds = %768, %766, %764, %761, %760, %758, %756, %753, %752, %750, %748, %745, %744, %742, %740, %737, %736, %734, %732, %729, %726, %720, %718, %714, %712, %710, %708, %706, %705, %703, %700, %699, %697, %694, %693, %691, %688, %687, %685, %683, %680, %679, %677, %675, %672, %671, %669, %667, %664, %663, %661, %659, %656, %655, %653, %651, %648, %647, %645, %643, %640, %637, %630, %628, %624, %622, %620, %618, %616, %614, %612, %611, %609, %606, %605, %603, %600, %599, %597, %594, %593, %591, %589, %586, %585, %583, %581, %578, %577, %575, %573, %570, %569, %567, %565, %562, %561, %559, %557, %554, %553, %551, %549, %546, %543, %536, %534, %530, %528, %526, %524, %522, %520, %518, %515, %512, %509, %506, %505, %503, %500, %499, %497, %495, %492, %491, %489, %487, %484, %483, %481, %479, %476, %475, %473, %471, %468, %467, %465, %463, %460, %459, %457, %455, %452, %449, %444, %442, %438, %436, %432, %430, %428, %426, %424, %423, %421, %418, %417, %415, %412
  %888 = landingpad { ptr, i32 }
          cleanup
  %889 = extractvalue { ptr, i32 } %888, 0
  store ptr %889, ptr %29, align 8
  %890 = extractvalue { ptr, i32 } %888, 1
  store i32 %890, ptr %30, align 4
  br label %1676

891:                                              ; preds = %446
  %892 = landingpad { ptr, i32 }
          cleanup
  %893 = extractvalue { ptr, i32 } %892, 0
  store ptr %893, ptr %29, align 8
  %894 = extractvalue { ptr, i32 } %892, 1
  store i32 %894, ptr %30, align 4
  call void @_ZdlPvm(ptr noundef %445, i64 noundef 136) #10
  br label %1676

895:                                              ; preds = %540
  %896 = landingpad { ptr, i32 }
          cleanup
  %897 = extractvalue { ptr, i32 } %896, 0
  store ptr %897, ptr %29, align 8
  %898 = extractvalue { ptr, i32 } %896, 1
  store i32 %898, ptr %30, align 4
  call void @_ZdlPvm(ptr noundef %539, i64 noundef 136) #10
  br label %1676

899:                                              ; preds = %634
  %900 = landingpad { ptr, i32 }
          cleanup
  %901 = extractvalue { ptr, i32 } %900, 0
  store ptr %901, ptr %29, align 8
  %902 = extractvalue { ptr, i32 } %900, 1
  store i32 %902, ptr %30, align 4
  call void @_ZdlPvm(ptr noundef %633, i64 noundef 136) #10
  br label %1676

903:                                              ; preds = %724
  %904 = landingpad { ptr, i32 }
          cleanup
  %905 = extractvalue { ptr, i32 } %904, 0
  store ptr %905, ptr %29, align 8
  %906 = extractvalue { ptr, i32 } %904, 1
  store i32 %906, ptr %30, align 4
  call void @_ZdlPvm(ptr noundef %723, i64 noundef 104) #10
  br label %1676

907:                                              ; preds = %776, %769
  %908 = landingpad { ptr, i32 }
          cleanup
  %909 = extractvalue { ptr, i32 } %908, 0
  store ptr %909, ptr %29, align 8
  %910 = extractvalue { ptr, i32 } %908, 1
  store i32 %910, ptr %30, align 4
  br label %1675

911:                                              ; preds = %775, %773, %771
  %912 = landingpad { ptr, i32 }
          cleanup
  %913 = extractvalue { ptr, i32 } %912, 0
  store ptr %913, ptr %29, align 8
  %914 = extractvalue { ptr, i32 } %912, 1
  store i32 %914, ptr %30, align 4
  call void @_ZdlPvm(ptr noundef %770, i64 noundef 24) #10
  br label %1675

915:                                              ; preds = %781
  %916 = landingpad { ptr, i32 }
          cleanup
  %917 = extractvalue { ptr, i32 } %916, 0
  store ptr %917, ptr %29, align 8
  %918 = extractvalue { ptr, i32 } %916, 1
  store i32 %918, ptr %30, align 4
  br label %963

919:                                              ; preds = %783
  br label %920

920:                                              ; preds = %919, %785
  %921 = phi ptr [ %786, %785 ], [ null, %919 ]
  store ptr %921, ptr %49, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %50) #8
  %922 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 48) #9
          to label %923 unwind label %937

923:                                              ; preds = %920
  store i1 true, ptr %53, align 1
  %924 = load ptr, ptr %49, align 8, !tbaa !5
  %925 = invoke noundef i32 @_ZNK10SimTKIpopt14SymMatrixSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(20) %924)
          to label %926 unwind label %941

926:                                              ; preds = %923
  invoke void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEEC2EPS2_(ptr noundef nonnull align 8 dereferenceable(8) %51, ptr noundef null)
          to label %927 unwind label %941

927:                                              ; preds = %926
  invoke void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %52, ptr noundef nonnull align 8 dereferenceable(8) %27)
          to label %928 unwind label %945

928:                                              ; preds = %927
  invoke void @_ZN10SimTKIpopt27LowRankUpdateSymMatrixSpaceC2EiNS_8SmartPtrIKNS_6MatrixEEENS1_IKNS_11VectorSpaceEEEb(ptr noundef nonnull align 8 dereferenceable(41) %922, i32 noundef %925, ptr noundef %51, ptr noundef %52, i1 noundef zeroext false)
          to label %929 unwind label %949

929:                                              ; preds = %928
  store i1 false, ptr %53, align 1
  invoke void @_ZN10SimTKIpopt8SmartPtrINS_27LowRankUpdateSymMatrixSpaceEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8) %50, ptr noundef %922)
          to label %930 unwind label %949

930:                                              ; preds = %929
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %52) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %51) #8
  %931 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 17
  %932 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_22CompoundSymMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %931)
          to label %933 unwind label %958

933:                                              ; preds = %930
  %934 = invoke noundef nonnull align 8 dereferenceable(41) ptr @_ZNK10SimTKIpopt8SmartPtrINS_27LowRankUpdateSymMatrixSpaceEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %50)
          to label %935 unwind label %958

935:                                              ; preds = %933
  invoke void @_ZN10SimTKIpopt22CompoundSymMatrixSpace12SetCompSpaceEiiRKNS_11MatrixSpaceEb(ptr noundef nonnull align 8 dereferenceable(97) %932, i32 noundef 0, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(20) %934, i1 noundef zeroext true)
          to label %936 unwind label %958

936:                                              ; preds = %935
  call void @_ZN10SimTKIpopt8SmartPtrINS_27LowRankUpdateSymMatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %50) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %50) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %49) #8
  br label %1002

937:                                              ; preds = %920
  %938 = landingpad { ptr, i32 }
          cleanup
  %939 = extractvalue { ptr, i32 } %938, 0
  store ptr %939, ptr %29, align 8
  %940 = extractvalue { ptr, i32 } %938, 1
  store i32 %940, ptr %30, align 4
  br label %962

941:                                              ; preds = %926, %923
  %942 = landingpad { ptr, i32 }
          cleanup
  %943 = extractvalue { ptr, i32 } %942, 0
  store ptr %943, ptr %29, align 8
  %944 = extractvalue { ptr, i32 } %942, 1
  store i32 %944, ptr %30, align 4
  br label %954

945:                                              ; preds = %927
  %946 = landingpad { ptr, i32 }
          cleanup
  %947 = extractvalue { ptr, i32 } %946, 0
  store ptr %947, ptr %29, align 8
  %948 = extractvalue { ptr, i32 } %946, 1
  store i32 %948, ptr %30, align 4
  br label %953

949:                                              ; preds = %929, %928
  %950 = landingpad { ptr, i32 }
          cleanup
  %951 = extractvalue { ptr, i32 } %950, 0
  store ptr %951, ptr %29, align 8
  %952 = extractvalue { ptr, i32 } %950, 1
  store i32 %952, ptr %30, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %52) #8
  br label %953

953:                                              ; preds = %949, %945
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %51) #8
  br label %954

954:                                              ; preds = %953, %941
  %955 = load i1, ptr %53, align 1
  br i1 %955, label %956, label %957

956:                                              ; preds = %954
  call void @_ZdlPvm(ptr noundef %922, i64 noundef 48) #10
  br label %957

957:                                              ; preds = %956, %954
  br label %962

958:                                              ; preds = %935, %933, %930
  %959 = landingpad { ptr, i32 }
          cleanup
  %960 = extractvalue { ptr, i32 } %959, 0
  store ptr %960, ptr %29, align 8
  %961 = extractvalue { ptr, i32 } %959, 1
  store i32 %961, ptr %30, align 4
  call void @_ZN10SimTKIpopt8SmartPtrINS_27LowRankUpdateSymMatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %50) #8
  br label %962

962:                                              ; preds = %958, %957, %937
  call void @llvm.lifetime.end.p0(i64 8, ptr %50) #8
  br label %963

963:                                              ; preds = %962, %915
  call void @llvm.lifetime.end.p0(i64 8, ptr %49) #8
  br label %1674

964:                                              ; preds = %777
  call void @llvm.lifetime.start.p0(i64 8, ptr %54) #8
  %965 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 48) #9
          to label %966 unwind label %989

966:                                              ; preds = %964
  %967 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %27)
          to label %968 unwind label %993

968:                                              ; preds = %966
  %969 = invoke noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %967)
          to label %970 unwind label %993

970:                                              ; preds = %968
  invoke void @_ZN10SimTKIpopt17SumSymMatrixSpaceC2Eii(ptr noundef nonnull align 8 dereferenceable(48) %965, i32 noundef %969, i32 noundef 2)
          to label %971 unwind label %993

971:                                              ; preds = %970
  invoke void @_ZN10SimTKIpopt8SmartPtrINS_17SumSymMatrixSpaceEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8) %54, ptr noundef %965)
          to label %972 unwind label %989

972:                                              ; preds = %971
  %973 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_17SumSymMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %54)
          to label %974 unwind label %997

974:                                              ; preds = %972
  %975 = invoke noundef nonnull align 8 dereferenceable(20) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14SymMatrixSpaceEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %42)
          to label %976 unwind label %997

976:                                              ; preds = %974
  invoke void @_ZN10SimTKIpopt17SumSymMatrixSpace12SetTermSpaceEiRKNS_14SymMatrixSpaceE(ptr noundef nonnull align 8 dereferenceable(48) %973, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(20) %975)
          to label %977 unwind label %997

977:                                              ; preds = %976
  %978 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_17SumSymMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %54)
          to label %979 unwind label %997

979:                                              ; preds = %977
  %980 = invoke noundef nonnull align 8 dereferenceable(20) ptr @_ZNK10SimTKIpopt8SmartPtrINS_15DiagMatrixSpaceEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %48)
          to label %981 unwind label %997

981:                                              ; preds = %979
  invoke void @_ZN10SimTKIpopt17SumSymMatrixSpace12SetTermSpaceEiRKNS_14SymMatrixSpaceE(ptr noundef nonnull align 8 dereferenceable(48) %978, i32 noundef 1, ptr noundef nonnull align 8 dereferenceable(20) %980)
          to label %982 unwind label %997

982:                                              ; preds = %981
  %983 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 17
  %984 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_22CompoundSymMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %983)
          to label %985 unwind label %997

985:                                              ; preds = %982
  %986 = invoke noundef nonnull align 8 dereferenceable(48) ptr @_ZNK10SimTKIpopt8SmartPtrINS_17SumSymMatrixSpaceEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %54)
          to label %987 unwind label %997

987:                                              ; preds = %985
  invoke void @_ZN10SimTKIpopt22CompoundSymMatrixSpace12SetCompSpaceEiiRKNS_11MatrixSpaceEb(ptr noundef nonnull align 8 dereferenceable(97) %984, i32 noundef 0, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(20) %986, i1 noundef zeroext true)
          to label %988 unwind label %997

988:                                              ; preds = %987
  call void @_ZN10SimTKIpopt8SmartPtrINS_17SumSymMatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %54) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %54) #8
  br label %1002

989:                                              ; preds = %971, %964
  %990 = landingpad { ptr, i32 }
          cleanup
  %991 = extractvalue { ptr, i32 } %990, 0
  store ptr %991, ptr %29, align 8
  %992 = extractvalue { ptr, i32 } %990, 1
  store i32 %992, ptr %30, align 4
  br label %1001

993:                                              ; preds = %970, %968, %966
  %994 = landingpad { ptr, i32 }
          cleanup
  %995 = extractvalue { ptr, i32 } %994, 0
  store ptr %995, ptr %29, align 8
  %996 = extractvalue { ptr, i32 } %994, 1
  store i32 %996, ptr %30, align 4
  call void @_ZdlPvm(ptr noundef %965, i64 noundef 48) #10
  br label %1001

997:                                              ; preds = %987, %985, %982, %981, %979, %977, %976, %974, %972
  %998 = landingpad { ptr, i32 }
          cleanup
  %999 = extractvalue { ptr, i32 } %998, 0
  store ptr %999, ptr %29, align 8
  %1000 = extractvalue { ptr, i32 } %998, 1
  store i32 %1000, ptr %30, align 4
  call void @_ZN10SimTKIpopt8SmartPtrINS_17SumSymMatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %54) #8
  br label %1001

1001:                                             ; preds = %997, %993, %989
  call void @llvm.lifetime.end.p0(i64 8, ptr %54) #8
  br label %1674

1002:                                             ; preds = %988, %936
  call void @llvm.lifetime.start.p0(i64 8, ptr %55) #8
  invoke void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %55)
          to label %1003 unwind label %1228

1003:                                             ; preds = %1002
  call void @llvm.lifetime.start.p0(i64 8, ptr %56) #8
  invoke void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %56)
          to label %1004 unwind label %1232

1004:                                             ; preds = %1003
  call void @llvm.lifetime.start.p0(i64 8, ptr %57) #8
  invoke void @_ZN10SimTKIpopt8SmartPtrIKNS_14SymMatrixSpaceEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %57)
          to label %1005 unwind label %1236

1005:                                             ; preds = %1004
  call void @llvm.lifetime.start.p0(i64 8, ptr %58) #8
  invoke void @_ZNK10SimTKIpopt8IpoptNLP11NLP_scalingEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.16") align 8 %58, ptr noundef nonnull align 8 dereferenceable(24) %93)
          to label %1006 unwind label %1240

1006:                                             ; preds = %1005
  %1007 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %58)
          to label %1008 unwind label %1244

1008:                                             ; preds = %1006
  %1009 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 4
  %1010 = invoke noundef ptr @_ZN10SimTKIpopt9GetRawPtrINS_19CompoundVectorSpaceEEEPT_RKNS_8SmartPtrIS2_EE(ptr noundef nonnull align 8 dereferenceable(8) %1009)
          to label %1011 unwind label %1244

1011:                                             ; preds = %1008
  invoke void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEC2EPS2_(ptr noundef nonnull align 8 dereferenceable(8) %59, ptr noundef %1010)
          to label %1012 unwind label %1244

1012:                                             ; preds = %1011
  %1013 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 5
  invoke void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %60, ptr noundef nonnull align 8 dereferenceable(8) %1013)
          to label %1014 unwind label %1248

1014:                                             ; preds = %1012
  %1015 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 6
  invoke void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %61, ptr noundef nonnull align 8 dereferenceable(8) %1015)
          to label %1016 unwind label %1252

1016:                                             ; preds = %1014
  %1017 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 15
  %1018 = invoke noundef ptr @_ZN10SimTKIpopt9GetRawPtrINS_19CompoundMatrixSpaceEEEPT_RKNS_8SmartPtrIS2_EE(ptr noundef nonnull align 8 dereferenceable(8) %1017)
          to label %1019 unwind label %1256

1019:                                             ; preds = %1016
  invoke void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEEC2EPS2_(ptr noundef nonnull align 8 dereferenceable(8) %62, ptr noundef %1018)
          to label %1020 unwind label %1256

1020:                                             ; preds = %1019
  %1021 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 16
  %1022 = invoke noundef ptr @_ZN10SimTKIpopt9GetRawPtrINS_19CompoundMatrixSpaceEEEPT_RKNS_8SmartPtrIS2_EE(ptr noundef nonnull align 8 dereferenceable(8) %1021)
          to label %1023 unwind label %1260

1023:                                             ; preds = %1020
  invoke void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEEC2EPS2_(ptr noundef nonnull align 8 dereferenceable(8) %63, ptr noundef %1022)
          to label %1024 unwind label %1260

1024:                                             ; preds = %1023
  %1025 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 17
  %1026 = invoke noundef ptr @_ZN10SimTKIpopt9GetRawPtrINS_22CompoundSymMatrixSpaceEEEPT_RKNS_8SmartPtrIS2_EE(ptr noundef nonnull align 8 dereferenceable(8) %1025)
          to label %1027 unwind label %1264

1027:                                             ; preds = %1024
  invoke void @_ZN10SimTKIpopt8SmartPtrIKNS_14SymMatrixSpaceEEC2EPS2_(ptr noundef nonnull align 8 dereferenceable(8) %64, ptr noundef %1026)
          to label %1028 unwind label %1264

1028:                                             ; preds = %1027
  %1029 = load ptr, ptr %1007, align 8, !tbaa !11
  %1030 = getelementptr inbounds ptr, ptr %1029, i64 26
  %1031 = load ptr, ptr %1030, align 8
  invoke void %1031(ptr noundef nonnull align 8 dereferenceable(24) %1007, ptr noundef %59, ptr noundef %60, ptr noundef %61, ptr noundef %62, ptr noundef %63, ptr noundef %64, ptr noundef nonnull align 8 dereferenceable(8) %55, ptr noundef nonnull align 8 dereferenceable(8) %56, ptr noundef nonnull align 8 dereferenceable(8) %57)
          to label %1032 unwind label %1268

1032:                                             ; preds = %1028
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14SymMatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %64) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %63) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %62) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %61) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %60) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %59) #8
  call void @_ZN10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %58) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %58) #8
  %1033 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 7
  %1034 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundVectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1033)
          to label %1035 unwind label %1279

1035:                                             ; preds = %1032
  %1036 = load ptr, ptr %1034, align 8, !tbaa !11
  %1037 = getelementptr inbounds ptr, ptr %1036, i64 4
  %1038 = load ptr, ptr %1037, align 8
  %1039 = invoke noundef ptr %1038(ptr noundef nonnull align 8 dereferenceable(48) %1034, i1 noundef zeroext true)
          to label %1040 unwind label %1279

1040:                                             ; preds = %1035
  %1041 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 18
  %1042 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_14CompoundVectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %1041, ptr noundef %1039)
          to label %1043 unwind label %1279

1043:                                             ; preds = %1040
  %1044 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 18
  %1045 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14CompoundVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1044)
          to label %1046 unwind label %1279

1046:                                             ; preds = %1043
  call void @llvm.lifetime.start.p0(i64 8, ptr %65) #8
  %1047 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 1
  %1048 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_8IpoptNLPEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1047)
          to label %1049 unwind label %1283

1049:                                             ; preds = %1046
  %1050 = load ptr, ptr %1048, align 8, !tbaa !11
  %1051 = getelementptr inbounds ptr, ptr %1050, i64 12
  %1052 = load ptr, ptr %1051, align 8
  invoke void %1052(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.25") align 8 %65, ptr noundef nonnull align 8 dereferenceable(24) %1048)
          to label %1053 unwind label %1283

1053:                                             ; preds = %1049
  %1054 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %65)
          to label %1055 unwind label %1287

1055:                                             ; preds = %1053
  invoke void @_ZN10SimTKIpopt14CompoundVector7SetCompEiRKNS_6VectorE(ptr noundef nonnull align 8 dereferenceable(265) %1045, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(205) %1054)
          to label %1056 unwind label %1287

1056:                                             ; preds = %1055
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %65) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %65) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %66) #8
  %1057 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 18
  %1058 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14CompoundVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1057)
          to label %1059 unwind label %1292

1059:                                             ; preds = %1056
  invoke void @_ZN10SimTKIpopt14CompoundVector15GetCompNonConstEi(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.27") align 8 %66, ptr noundef nonnull align 8 dereferenceable(265) %1058, i32 noundef 1)
          to label %1060 unwind label %1292

1060:                                             ; preds = %1059
  %1061 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %66)
          to label %1062 unwind label %1296

1062:                                             ; preds = %1060
  invoke void @_ZN10SimTKIpopt6Vector3SetEd(ptr noundef nonnull align 8 dereferenceable(205) %1061, double noundef 0.000000e+00)
          to label %1063 unwind label %1296

1063:                                             ; preds = %1062
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %66) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %66) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %67) #8
  %1064 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 18
  %1065 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14CompoundVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1064)
          to label %1066 unwind label %1301

1066:                                             ; preds = %1063
  invoke void @_ZN10SimTKIpopt14CompoundVector15GetCompNonConstEi(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.27") align 8 %67, ptr noundef nonnull align 8 dereferenceable(265) %1065, i32 noundef 2)
          to label %1067 unwind label %1301

1067:                                             ; preds = %1066
  %1068 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %67)
          to label %1069 unwind label %1305

1069:                                             ; preds = %1067
  invoke void @_ZN10SimTKIpopt6Vector3SetEd(ptr noundef nonnull align 8 dereferenceable(205) %1068, double noundef 0.000000e+00)
          to label %1070 unwind label %1305

1070:                                             ; preds = %1069
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %67) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %67) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %68) #8
  %1071 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 18
  %1072 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14CompoundVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1071)
          to label %1073 unwind label %1310

1073:                                             ; preds = %1070
  invoke void @_ZN10SimTKIpopt14CompoundVector15GetCompNonConstEi(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.27") align 8 %68, ptr noundef nonnull align 8 dereferenceable(265) %1072, i32 noundef 3)
          to label %1074 unwind label %1310

1074:                                             ; preds = %1073
  %1075 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %68)
          to label %1076 unwind label %1314

1076:                                             ; preds = %1074
  invoke void @_ZN10SimTKIpopt6Vector3SetEd(ptr noundef nonnull align 8 dereferenceable(205) %1075, double noundef 0.000000e+00)
          to label %1077 unwind label %1314

1077:                                             ; preds = %1076
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %68) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %68) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %69) #8
  %1078 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 18
  %1079 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14CompoundVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1078)
          to label %1080 unwind label %1319

1080:                                             ; preds = %1077
  invoke void @_ZN10SimTKIpopt14CompoundVector15GetCompNonConstEi(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.27") align 8 %69, ptr noundef nonnull align 8 dereferenceable(265) %1079, i32 noundef 4)
          to label %1081 unwind label %1319

1081:                                             ; preds = %1080
  %1082 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %69)
          to label %1083 unwind label %1323

1083:                                             ; preds = %1081
  invoke void @_ZN10SimTKIpopt6Vector3SetEd(ptr noundef nonnull align 8 dereferenceable(205) %1082, double noundef 0.000000e+00)
          to label %1084 unwind label %1323

1084:                                             ; preds = %1083
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %69) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %69) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %70) #8
  %1085 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 1
  %1086 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_8IpoptNLPEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1085)
          to label %1087 unwind label %1328

1087:                                             ; preds = %1084
  %1088 = load ptr, ptr %1086, align 8, !tbaa !11
  %1089 = getelementptr inbounds ptr, ptr %1088, i64 14
  %1090 = load ptr, ptr %1089, align 8
  invoke void %1090(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.25") align 8 %70, ptr noundef nonnull align 8 dereferenceable(24) %1086)
          to label %1091 unwind label %1328

1091:                                             ; preds = %1087
  %1092 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 20
  %1093 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %1092, ptr noundef nonnull align 8 dereferenceable(8) %70)
          to label %1094 unwind label %1332

1094:                                             ; preds = %1091
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %70) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %70) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %71) #8
  %1095 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 1
  %1096 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_8IpoptNLPEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1095)
          to label %1097 unwind label %1337

1097:                                             ; preds = %1094
  %1098 = load ptr, ptr %1096, align 8, !tbaa !11
  %1099 = getelementptr inbounds ptr, ptr %1098, i64 16
  %1100 = load ptr, ptr %1099, align 8
  invoke void %1100(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.25") align 8 %71, ptr noundef nonnull align 8 dereferenceable(24) %1096)
          to label %1101 unwind label %1337

1101:                                             ; preds = %1097
  %1102 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 22
  %1103 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %1102, ptr noundef nonnull align 8 dereferenceable(8) %71)
          to label %1104 unwind label %1341

1104:                                             ; preds = %1101
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %71) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %71) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %72) #8
  %1105 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 1
  %1106 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_8IpoptNLPEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1105)
          to label %1107 unwind label %1346

1107:                                             ; preds = %1104
  %1108 = load ptr, ptr %1106, align 8, !tbaa !11
  %1109 = getelementptr inbounds ptr, ptr %1108, i64 18
  %1110 = load ptr, ptr %1109, align 8
  invoke void %1110(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.25") align 8 %72, ptr noundef nonnull align 8 dereferenceable(24) %1106)
          to label %1111 unwind label %1346

1111:                                             ; preds = %1107
  %1112 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 24
  %1113 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %1112, ptr noundef nonnull align 8 dereferenceable(8) %72)
          to label %1114 unwind label %1350

1114:                                             ; preds = %1111
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %72) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %72) #8
  %1115 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 8
  %1116 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1115)
          to label %1117 unwind label %1279

1117:                                             ; preds = %1114
  %1118 = invoke noundef ptr @_ZNK10SimTKIpopt19CompoundMatrixSpace21MakeNewCompoundMatrixEv(ptr noundef nonnull align 8 dereferenceable(129) %1116)
          to label %1119 unwind label %1279

1119:                                             ; preds = %1117
  %1120 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 19
  %1121 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_14CompoundMatrixEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %1120, ptr noundef %1118)
          to label %1122 unwind label %1279

1122:                                             ; preds = %1119
  %1123 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 19
  %1124 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14CompoundMatrixEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1123)
          to label %1125 unwind label %1279

1125:                                             ; preds = %1122
  call void @llvm.lifetime.start.p0(i64 8, ptr %73) #8
  %1126 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 1
  %1127 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_8IpoptNLPEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1126)
          to label %1128 unwind label %1355

1128:                                             ; preds = %1125
  %1129 = load ptr, ptr %1127, align 8, !tbaa !11
  %1130 = getelementptr inbounds ptr, ptr %1129, i64 13
  %1131 = load ptr, ptr %1130, align 8
  invoke void %1131(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.26") align 8 %73, ptr noundef nonnull align 8 dereferenceable(24) %1127)
          to label %1132 unwind label %1355

1132:                                             ; preds = %1128
  %1133 = invoke noundef nonnull align 8 dereferenceable(69) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6MatrixEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %73)
          to label %1134 unwind label %1359

1134:                                             ; preds = %1132
  invoke void @_ZN10SimTKIpopt14CompoundMatrix7SetCompEiiRKNS_6MatrixE(ptr noundef nonnull align 8 dereferenceable(129) %1124, i32 noundef 0, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(69) %1133)
          to label %1135 unwind label %1359

1135:                                             ; preds = %1134
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %73) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %73) #8
  %1136 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 10
  %1137 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1136)
          to label %1138 unwind label %1279

1138:                                             ; preds = %1135
  %1139 = invoke noundef ptr @_ZNK10SimTKIpopt19CompoundMatrixSpace21MakeNewCompoundMatrixEv(ptr noundef nonnull align 8 dereferenceable(129) %1137)
          to label %1140 unwind label %1279

1140:                                             ; preds = %1138
  %1141 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 21
  %1142 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_14CompoundMatrixEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %1141, ptr noundef %1139)
          to label %1143 unwind label %1279

1143:                                             ; preds = %1140
  %1144 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 21
  %1145 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14CompoundMatrixEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1144)
          to label %1146 unwind label %1279

1146:                                             ; preds = %1143
  call void @llvm.lifetime.start.p0(i64 8, ptr %74) #8
  %1147 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 1
  %1148 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_8IpoptNLPEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1147)
          to label %1149 unwind label %1364

1149:                                             ; preds = %1146
  %1150 = load ptr, ptr %1148, align 8, !tbaa !11
  %1151 = getelementptr inbounds ptr, ptr %1150, i64 15
  %1152 = load ptr, ptr %1151, align 8
  invoke void %1152(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.26") align 8 %74, ptr noundef nonnull align 8 dereferenceable(24) %1148)
          to label %1153 unwind label %1364

1153:                                             ; preds = %1149
  %1154 = invoke noundef nonnull align 8 dereferenceable(69) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6MatrixEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %74)
          to label %1155 unwind label %1368

1155:                                             ; preds = %1153
  invoke void @_ZN10SimTKIpopt14CompoundMatrix7SetCompEiiRKNS_6MatrixE(ptr noundef nonnull align 8 dereferenceable(129) %1145, i32 noundef 0, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(69) %1154)
          to label %1156 unwind label %1368

1156:                                             ; preds = %1155
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %74) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %74) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %75) #8
  %1157 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 1
  %1158 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_8IpoptNLPEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1157)
          to label %1159 unwind label %1373

1159:                                             ; preds = %1156
  %1160 = load ptr, ptr %1158, align 8, !tbaa !11
  %1161 = getelementptr inbounds ptr, ptr %1160, i64 17
  %1162 = load ptr, ptr %1161, align 8
  invoke void %1162(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.26") align 8 %75, ptr noundef nonnull align 8 dereferenceable(24) %1158)
          to label %1163 unwind label %1373

1163:                                             ; preds = %1159
  %1164 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 23
  %1165 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %1164, ptr noundef nonnull align 8 dereferenceable(8) %75)
          to label %1166 unwind label %1377

1166:                                             ; preds = %1163
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %75) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %75) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %76) #8
  %1167 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 1
  %1168 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_8IpoptNLPEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1167)
          to label %1169 unwind label %1382

1169:                                             ; preds = %1166
  %1170 = load ptr, ptr %1168, align 8, !tbaa !11
  %1171 = getelementptr inbounds ptr, ptr %1170, i64 19
  %1172 = load ptr, ptr %1171, align 8
  invoke void %1172(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.26") align 8 %76, ptr noundef nonnull align 8 dereferenceable(24) %1168)
          to label %1173 unwind label %1382

1173:                                             ; preds = %1169
  %1174 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 25
  %1175 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %1174, ptr noundef nonnull align 8 dereferenceable(8) %76)
          to label %1176 unwind label %1386

1176:                                             ; preds = %1173
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %76) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %76) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %77) #8
  %1177 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 4
  %1178 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundVectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1177)
          to label %1179 unwind label %1391

1179:                                             ; preds = %1176
  %1180 = load ptr, ptr %1178, align 8, !tbaa !11
  %1181 = getelementptr inbounds ptr, ptr %1180, i64 4
  %1182 = load ptr, ptr %1181, align 8
  %1183 = invoke noundef ptr %1182(ptr noundef nonnull align 8 dereferenceable(48) %1178, i1 noundef zeroext true)
          to label %1184 unwind label %1391

1184:                                             ; preds = %1179
  invoke void @_ZN10SimTKIpopt8SmartPtrINS_14CompoundVectorEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8) %77, ptr noundef %1183)
          to label %1185 unwind label %1391

1185:                                             ; preds = %1184
  %1186 = load i8, ptr %16, align 1, !tbaa !9, !range !36, !noundef !37
  %1187 = trunc i8 %1186 to i1
  br i1 %1187, label %1188, label %1455

1188:                                             ; preds = %1185
  call void @llvm.lifetime.start.p0(i64 8, ptr %78) #8
  %1189 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14CompoundVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %77)
          to label %1190 unwind label %1395

1190:                                             ; preds = %1188
  invoke void @_ZN10SimTKIpopt14CompoundVector15GetCompNonConstEi(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.27") align 8 %78, ptr noundef nonnull align 8 dereferenceable(265) %1189, i32 noundef 0)
          to label %1191 unwind label %1395

1191:                                             ; preds = %1190
  %1192 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %78)
          to label %1193 unwind label %1399

1193:                                             ; preds = %1191
  call void @llvm.lifetime.start.p0(i64 8, ptr %79) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %80) #8
  %1194 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 2
  %1195 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_9IpoptDataEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1194)
          to label %1196 unwind label %1403

1196:                                             ; preds = %1193
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.32") align 8 %80, ptr noundef nonnull align 8 dereferenceable(864) %1195)
          to label %1197 unwind label %1403

1197:                                             ; preds = %1196
  %1198 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %80)
          to label %1199 unwind label %1407

1199:                                             ; preds = %1197
  invoke void @_ZNK10SimTKIpopt14IteratesVector1xEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.25") align 8 %79, ptr noundef nonnull align 8 dereferenceable(280) %1198)
          to label %1200 unwind label %1407

1200:                                             ; preds = %1199
  %1201 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %79)
          to label %1202 unwind label %1411

1202:                                             ; preds = %1200
  invoke void @_ZN10SimTKIpopt6Vector4CopyERKS0_(ptr noundef nonnull align 8 dereferenceable(205) %1192, ptr noundef nonnull align 8 dereferenceable(205) %1201)
          to label %1203 unwind label %1411

1203:                                             ; preds = %1202
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %79) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %80) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %80) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %79) #8
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %78) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %78) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %81) #8
  %1204 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14CompoundVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %77)
          to label %1205 unwind label %1419

1205:                                             ; preds = %1203
  invoke void @_ZN10SimTKIpopt14CompoundVector15GetCompNonConstEi(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.27") align 8 %81, ptr noundef nonnull align 8 dereferenceable(265) %1204, i32 noundef 1)
          to label %1206 unwind label %1419

1206:                                             ; preds = %1205
  %1207 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %81)
          to label %1208 unwind label %1423

1208:                                             ; preds = %1206
  invoke void @_ZN10SimTKIpopt6Vector3SetEd(ptr noundef nonnull align 8 dereferenceable(205) %1207, double noundef 1.000000e+00)
          to label %1209 unwind label %1423

1209:                                             ; preds = %1208
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %81) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %81) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %82) #8
  %1210 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14CompoundVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %77)
          to label %1211 unwind label %1428

1211:                                             ; preds = %1209
  invoke void @_ZN10SimTKIpopt14CompoundVector15GetCompNonConstEi(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.27") align 8 %82, ptr noundef nonnull align 8 dereferenceable(265) %1210, i32 noundef 2)
          to label %1212 unwind label %1428

1212:                                             ; preds = %1211
  %1213 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %82)
          to label %1214 unwind label %1432

1214:                                             ; preds = %1212
  invoke void @_ZN10SimTKIpopt6Vector3SetEd(ptr noundef nonnull align 8 dereferenceable(205) %1213, double noundef 1.000000e+00)
          to label %1215 unwind label %1432

1215:                                             ; preds = %1214
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %82) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %82) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %83) #8
  %1216 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14CompoundVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %77)
          to label %1217 unwind label %1437

1217:                                             ; preds = %1215
  invoke void @_ZN10SimTKIpopt14CompoundVector15GetCompNonConstEi(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.27") align 8 %83, ptr noundef nonnull align 8 dereferenceable(265) %1216, i32 noundef 3)
          to label %1218 unwind label %1437

1218:                                             ; preds = %1217
  %1219 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %83)
          to label %1220 unwind label %1441

1220:                                             ; preds = %1218
  invoke void @_ZN10SimTKIpopt6Vector3SetEd(ptr noundef nonnull align 8 dereferenceable(205) %1219, double noundef 1.000000e+00)
          to label %1221 unwind label %1441

1221:                                             ; preds = %1220
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %83) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %83) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %84) #8
  %1222 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14CompoundVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %77)
          to label %1223 unwind label %1446

1223:                                             ; preds = %1221
  invoke void @_ZN10SimTKIpopt14CompoundVector15GetCompNonConstEi(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.27") align 8 %84, ptr noundef nonnull align 8 dereferenceable(265) %1222, i32 noundef 4)
          to label %1224 unwind label %1446

1224:                                             ; preds = %1223
  %1225 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %84)
          to label %1226 unwind label %1450

1226:                                             ; preds = %1224
  invoke void @_ZN10SimTKIpopt6Vector3SetEd(ptr noundef nonnull align 8 dereferenceable(205) %1225, double noundef 1.000000e+00)
          to label %1227 unwind label %1450

1227:                                             ; preds = %1226
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %84) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %84) #8
  br label %1455

1228:                                             ; preds = %1002
  %1229 = landingpad { ptr, i32 }
          cleanup
  %1230 = extractvalue { ptr, i32 } %1229, 0
  store ptr %1230, ptr %29, align 8
  %1231 = extractvalue { ptr, i32 } %1229, 1
  store i32 %1231, ptr %30, align 4
  br label %1673

1232:                                             ; preds = %1003
  %1233 = landingpad { ptr, i32 }
          cleanup
  %1234 = extractvalue { ptr, i32 } %1233, 0
  store ptr %1234, ptr %29, align 8
  %1235 = extractvalue { ptr, i32 } %1233, 1
  store i32 %1235, ptr %30, align 4
  br label %1672

1236:                                             ; preds = %1004
  %1237 = landingpad { ptr, i32 }
          cleanup
  %1238 = extractvalue { ptr, i32 } %1237, 0
  store ptr %1238, ptr %29, align 8
  %1239 = extractvalue { ptr, i32 } %1237, 1
  store i32 %1239, ptr %30, align 4
  br label %1671

1240:                                             ; preds = %1005
  %1241 = landingpad { ptr, i32 }
          cleanup
  %1242 = extractvalue { ptr, i32 } %1241, 0
  store ptr %1242, ptr %29, align 8
  %1243 = extractvalue { ptr, i32 } %1241, 1
  store i32 %1243, ptr %30, align 4
  br label %1278

1244:                                             ; preds = %1011, %1008, %1006
  %1245 = landingpad { ptr, i32 }
          cleanup
  %1246 = extractvalue { ptr, i32 } %1245, 0
  store ptr %1246, ptr %29, align 8
  %1247 = extractvalue { ptr, i32 } %1245, 1
  store i32 %1247, ptr %30, align 4
  br label %1277

1248:                                             ; preds = %1012
  %1249 = landingpad { ptr, i32 }
          cleanup
  %1250 = extractvalue { ptr, i32 } %1249, 0
  store ptr %1250, ptr %29, align 8
  %1251 = extractvalue { ptr, i32 } %1249, 1
  store i32 %1251, ptr %30, align 4
  br label %1276

1252:                                             ; preds = %1014
  %1253 = landingpad { ptr, i32 }
          cleanup
  %1254 = extractvalue { ptr, i32 } %1253, 0
  store ptr %1254, ptr %29, align 8
  %1255 = extractvalue { ptr, i32 } %1253, 1
  store i32 %1255, ptr %30, align 4
  br label %1275

1256:                                             ; preds = %1019, %1016
  %1257 = landingpad { ptr, i32 }
          cleanup
  %1258 = extractvalue { ptr, i32 } %1257, 0
  store ptr %1258, ptr %29, align 8
  %1259 = extractvalue { ptr, i32 } %1257, 1
  store i32 %1259, ptr %30, align 4
  br label %1274

1260:                                             ; preds = %1023, %1020
  %1261 = landingpad { ptr, i32 }
          cleanup
  %1262 = extractvalue { ptr, i32 } %1261, 0
  store ptr %1262, ptr %29, align 8
  %1263 = extractvalue { ptr, i32 } %1261, 1
  store i32 %1263, ptr %30, align 4
  br label %1273

1264:                                             ; preds = %1027, %1024
  %1265 = landingpad { ptr, i32 }
          cleanup
  %1266 = extractvalue { ptr, i32 } %1265, 0
  store ptr %1266, ptr %29, align 8
  %1267 = extractvalue { ptr, i32 } %1265, 1
  store i32 %1267, ptr %30, align 4
  br label %1272

1268:                                             ; preds = %1028
  %1269 = landingpad { ptr, i32 }
          cleanup
  %1270 = extractvalue { ptr, i32 } %1269, 0
  store ptr %1270, ptr %29, align 8
  %1271 = extractvalue { ptr, i32 } %1269, 1
  store i32 %1271, ptr %30, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14SymMatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %64) #8
  br label %1272

1272:                                             ; preds = %1268, %1264
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %63) #8
  br label %1273

1273:                                             ; preds = %1272, %1260
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %62) #8
  br label %1274

1274:                                             ; preds = %1273, %1256
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %61) #8
  br label %1275

1275:                                             ; preds = %1274, %1252
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %60) #8
  br label %1276

1276:                                             ; preds = %1275, %1248
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %59) #8
  br label %1277

1277:                                             ; preds = %1276, %1244
  call void @_ZN10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %58) #8
  br label %1278

1278:                                             ; preds = %1277, %1240
  call void @llvm.lifetime.end.p0(i64 8, ptr %58) #8
  br label %1670

1279:                                             ; preds = %1143, %1140, %1138, %1135, %1122, %1119, %1117, %1114, %1043, %1040, %1035, %1032
  %1280 = landingpad { ptr, i32 }
          cleanup
  %1281 = extractvalue { ptr, i32 } %1280, 0
  store ptr %1281, ptr %29, align 8
  %1282 = extractvalue { ptr, i32 } %1280, 1
  store i32 %1282, ptr %30, align 4
  br label %1670

1283:                                             ; preds = %1049, %1046
  %1284 = landingpad { ptr, i32 }
          cleanup
  %1285 = extractvalue { ptr, i32 } %1284, 0
  store ptr %1285, ptr %29, align 8
  %1286 = extractvalue { ptr, i32 } %1284, 1
  store i32 %1286, ptr %30, align 4
  br label %1291

1287:                                             ; preds = %1055, %1053
  %1288 = landingpad { ptr, i32 }
          cleanup
  %1289 = extractvalue { ptr, i32 } %1288, 0
  store ptr %1289, ptr %29, align 8
  %1290 = extractvalue { ptr, i32 } %1288, 1
  store i32 %1290, ptr %30, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %65) #8
  br label %1291

1291:                                             ; preds = %1287, %1283
  call void @llvm.lifetime.end.p0(i64 8, ptr %65) #8
  br label %1670

1292:                                             ; preds = %1059, %1056
  %1293 = landingpad { ptr, i32 }
          cleanup
  %1294 = extractvalue { ptr, i32 } %1293, 0
  store ptr %1294, ptr %29, align 8
  %1295 = extractvalue { ptr, i32 } %1293, 1
  store i32 %1295, ptr %30, align 4
  br label %1300

1296:                                             ; preds = %1062, %1060
  %1297 = landingpad { ptr, i32 }
          cleanup
  %1298 = extractvalue { ptr, i32 } %1297, 0
  store ptr %1298, ptr %29, align 8
  %1299 = extractvalue { ptr, i32 } %1297, 1
  store i32 %1299, ptr %30, align 4
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %66) #8
  br label %1300

1300:                                             ; preds = %1296, %1292
  call void @llvm.lifetime.end.p0(i64 8, ptr %66) #8
  br label %1670

1301:                                             ; preds = %1066, %1063
  %1302 = landingpad { ptr, i32 }
          cleanup
  %1303 = extractvalue { ptr, i32 } %1302, 0
  store ptr %1303, ptr %29, align 8
  %1304 = extractvalue { ptr, i32 } %1302, 1
  store i32 %1304, ptr %30, align 4
  br label %1309

1305:                                             ; preds = %1069, %1067
  %1306 = landingpad { ptr, i32 }
          cleanup
  %1307 = extractvalue { ptr, i32 } %1306, 0
  store ptr %1307, ptr %29, align 8
  %1308 = extractvalue { ptr, i32 } %1306, 1
  store i32 %1308, ptr %30, align 4
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %67) #8
  br label %1309

1309:                                             ; preds = %1305, %1301
  call void @llvm.lifetime.end.p0(i64 8, ptr %67) #8
  br label %1670

1310:                                             ; preds = %1073, %1070
  %1311 = landingpad { ptr, i32 }
          cleanup
  %1312 = extractvalue { ptr, i32 } %1311, 0
  store ptr %1312, ptr %29, align 8
  %1313 = extractvalue { ptr, i32 } %1311, 1
  store i32 %1313, ptr %30, align 4
  br label %1318

1314:                                             ; preds = %1076, %1074
  %1315 = landingpad { ptr, i32 }
          cleanup
  %1316 = extractvalue { ptr, i32 } %1315, 0
  store ptr %1316, ptr %29, align 8
  %1317 = extractvalue { ptr, i32 } %1315, 1
  store i32 %1317, ptr %30, align 4
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %68) #8
  br label %1318

1318:                                             ; preds = %1314, %1310
  call void @llvm.lifetime.end.p0(i64 8, ptr %68) #8
  br label %1670

1319:                                             ; preds = %1080, %1077
  %1320 = landingpad { ptr, i32 }
          cleanup
  %1321 = extractvalue { ptr, i32 } %1320, 0
  store ptr %1321, ptr %29, align 8
  %1322 = extractvalue { ptr, i32 } %1320, 1
  store i32 %1322, ptr %30, align 4
  br label %1327

1323:                                             ; preds = %1083, %1081
  %1324 = landingpad { ptr, i32 }
          cleanup
  %1325 = extractvalue { ptr, i32 } %1324, 0
  store ptr %1325, ptr %29, align 8
  %1326 = extractvalue { ptr, i32 } %1324, 1
  store i32 %1326, ptr %30, align 4
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %69) #8
  br label %1327

1327:                                             ; preds = %1323, %1319
  call void @llvm.lifetime.end.p0(i64 8, ptr %69) #8
  br label %1670

1328:                                             ; preds = %1087, %1084
  %1329 = landingpad { ptr, i32 }
          cleanup
  %1330 = extractvalue { ptr, i32 } %1329, 0
  store ptr %1330, ptr %29, align 8
  %1331 = extractvalue { ptr, i32 } %1329, 1
  store i32 %1331, ptr %30, align 4
  br label %1336

1332:                                             ; preds = %1091
  %1333 = landingpad { ptr, i32 }
          cleanup
  %1334 = extractvalue { ptr, i32 } %1333, 0
  store ptr %1334, ptr %29, align 8
  %1335 = extractvalue { ptr, i32 } %1333, 1
  store i32 %1335, ptr %30, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %70) #8
  br label %1336

1336:                                             ; preds = %1332, %1328
  call void @llvm.lifetime.end.p0(i64 8, ptr %70) #8
  br label %1670

1337:                                             ; preds = %1097, %1094
  %1338 = landingpad { ptr, i32 }
          cleanup
  %1339 = extractvalue { ptr, i32 } %1338, 0
  store ptr %1339, ptr %29, align 8
  %1340 = extractvalue { ptr, i32 } %1338, 1
  store i32 %1340, ptr %30, align 4
  br label %1345

1341:                                             ; preds = %1101
  %1342 = landingpad { ptr, i32 }
          cleanup
  %1343 = extractvalue { ptr, i32 } %1342, 0
  store ptr %1343, ptr %29, align 8
  %1344 = extractvalue { ptr, i32 } %1342, 1
  store i32 %1344, ptr %30, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %71) #8
  br label %1345

1345:                                             ; preds = %1341, %1337
  call void @llvm.lifetime.end.p0(i64 8, ptr %71) #8
  br label %1670

1346:                                             ; preds = %1107, %1104
  %1347 = landingpad { ptr, i32 }
          cleanup
  %1348 = extractvalue { ptr, i32 } %1347, 0
  store ptr %1348, ptr %29, align 8
  %1349 = extractvalue { ptr, i32 } %1347, 1
  store i32 %1349, ptr %30, align 4
  br label %1354

1350:                                             ; preds = %1111
  %1351 = landingpad { ptr, i32 }
          cleanup
  %1352 = extractvalue { ptr, i32 } %1351, 0
  store ptr %1352, ptr %29, align 8
  %1353 = extractvalue { ptr, i32 } %1351, 1
  store i32 %1353, ptr %30, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %72) #8
  br label %1354

1354:                                             ; preds = %1350, %1346
  call void @llvm.lifetime.end.p0(i64 8, ptr %72) #8
  br label %1670

1355:                                             ; preds = %1128, %1125
  %1356 = landingpad { ptr, i32 }
          cleanup
  %1357 = extractvalue { ptr, i32 } %1356, 0
  store ptr %1357, ptr %29, align 8
  %1358 = extractvalue { ptr, i32 } %1356, 1
  store i32 %1358, ptr %30, align 4
  br label %1363

1359:                                             ; preds = %1134, %1132
  %1360 = landingpad { ptr, i32 }
          cleanup
  %1361 = extractvalue { ptr, i32 } %1360, 0
  store ptr %1361, ptr %29, align 8
  %1362 = extractvalue { ptr, i32 } %1360, 1
  store i32 %1362, ptr %30, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %73) #8
  br label %1363

1363:                                             ; preds = %1359, %1355
  call void @llvm.lifetime.end.p0(i64 8, ptr %73) #8
  br label %1670

1364:                                             ; preds = %1149, %1146
  %1365 = landingpad { ptr, i32 }
          cleanup
  %1366 = extractvalue { ptr, i32 } %1365, 0
  store ptr %1366, ptr %29, align 8
  %1367 = extractvalue { ptr, i32 } %1365, 1
  store i32 %1367, ptr %30, align 4
  br label %1372

1368:                                             ; preds = %1155, %1153
  %1369 = landingpad { ptr, i32 }
          cleanup
  %1370 = extractvalue { ptr, i32 } %1369, 0
  store ptr %1370, ptr %29, align 8
  %1371 = extractvalue { ptr, i32 } %1369, 1
  store i32 %1371, ptr %30, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %74) #8
  br label %1372

1372:                                             ; preds = %1368, %1364
  call void @llvm.lifetime.end.p0(i64 8, ptr %74) #8
  br label %1670

1373:                                             ; preds = %1159, %1156
  %1374 = landingpad { ptr, i32 }
          cleanup
  %1375 = extractvalue { ptr, i32 } %1374, 0
  store ptr %1375, ptr %29, align 8
  %1376 = extractvalue { ptr, i32 } %1374, 1
  store i32 %1376, ptr %30, align 4
  br label %1381

1377:                                             ; preds = %1163
  %1378 = landingpad { ptr, i32 }
          cleanup
  %1379 = extractvalue { ptr, i32 } %1378, 0
  store ptr %1379, ptr %29, align 8
  %1380 = extractvalue { ptr, i32 } %1378, 1
  store i32 %1380, ptr %30, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %75) #8
  br label %1381

1381:                                             ; preds = %1377, %1373
  call void @llvm.lifetime.end.p0(i64 8, ptr %75) #8
  br label %1670

1382:                                             ; preds = %1169, %1166
  %1383 = landingpad { ptr, i32 }
          cleanup
  %1384 = extractvalue { ptr, i32 } %1383, 0
  store ptr %1384, ptr %29, align 8
  %1385 = extractvalue { ptr, i32 } %1383, 1
  store i32 %1385, ptr %30, align 4
  br label %1390

1386:                                             ; preds = %1173
  %1387 = landingpad { ptr, i32 }
          cleanup
  %1388 = extractvalue { ptr, i32 } %1387, 0
  store ptr %1388, ptr %29, align 8
  %1389 = extractvalue { ptr, i32 } %1387, 1
  store i32 %1389, ptr %30, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %76) #8
  br label %1390

1390:                                             ; preds = %1386, %1382
  call void @llvm.lifetime.end.p0(i64 8, ptr %76) #8
  br label %1670

1391:                                             ; preds = %1184, %1179, %1176
  %1392 = landingpad { ptr, i32 }
          cleanup
  %1393 = extractvalue { ptr, i32 } %1392, 0
  store ptr %1393, ptr %29, align 8
  %1394 = extractvalue { ptr, i32 } %1392, 1
  store i32 %1394, ptr %30, align 4
  br label %1669

1395:                                             ; preds = %1190, %1188
  %1396 = landingpad { ptr, i32 }
          cleanup
  %1397 = extractvalue { ptr, i32 } %1396, 0
  store ptr %1397, ptr %29, align 8
  %1398 = extractvalue { ptr, i32 } %1396, 1
  store i32 %1398, ptr %30, align 4
  br label %1418

1399:                                             ; preds = %1191
  %1400 = landingpad { ptr, i32 }
          cleanup
  %1401 = extractvalue { ptr, i32 } %1400, 0
  store ptr %1401, ptr %29, align 8
  %1402 = extractvalue { ptr, i32 } %1400, 1
  store i32 %1402, ptr %30, align 4
  br label %1417

1403:                                             ; preds = %1196, %1193
  %1404 = landingpad { ptr, i32 }
          cleanup
  %1405 = extractvalue { ptr, i32 } %1404, 0
  store ptr %1405, ptr %29, align 8
  %1406 = extractvalue { ptr, i32 } %1404, 1
  store i32 %1406, ptr %30, align 4
  br label %1416

1407:                                             ; preds = %1199, %1197
  %1408 = landingpad { ptr, i32 }
          cleanup
  %1409 = extractvalue { ptr, i32 } %1408, 0
  store ptr %1409, ptr %29, align 8
  %1410 = extractvalue { ptr, i32 } %1408, 1
  store i32 %1410, ptr %30, align 4
  br label %1415

1411:                                             ; preds = %1202, %1200
  %1412 = landingpad { ptr, i32 }
          cleanup
  %1413 = extractvalue { ptr, i32 } %1412, 0
  store ptr %1413, ptr %29, align 8
  %1414 = extractvalue { ptr, i32 } %1412, 1
  store i32 %1414, ptr %30, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %79) #8
  br label %1415

1415:                                             ; preds = %1411, %1407
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %80) #8
  br label %1416

1416:                                             ; preds = %1415, %1403
  call void @llvm.lifetime.end.p0(i64 8, ptr %80) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %79) #8
  br label %1417

1417:                                             ; preds = %1416, %1399
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %78) #8
  br label %1418

1418:                                             ; preds = %1417, %1395
  call void @llvm.lifetime.end.p0(i64 8, ptr %78) #8
  br label %1668

1419:                                             ; preds = %1205, %1203
  %1420 = landingpad { ptr, i32 }
          cleanup
  %1421 = extractvalue { ptr, i32 } %1420, 0
  store ptr %1421, ptr %29, align 8
  %1422 = extractvalue { ptr, i32 } %1420, 1
  store i32 %1422, ptr %30, align 4
  br label %1427

1423:                                             ; preds = %1208, %1206
  %1424 = landingpad { ptr, i32 }
          cleanup
  %1425 = extractvalue { ptr, i32 } %1424, 0
  store ptr %1425, ptr %29, align 8
  %1426 = extractvalue { ptr, i32 } %1424, 1
  store i32 %1426, ptr %30, align 4
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %81) #8
  br label %1427

1427:                                             ; preds = %1423, %1419
  call void @llvm.lifetime.end.p0(i64 8, ptr %81) #8
  br label %1668

1428:                                             ; preds = %1211, %1209
  %1429 = landingpad { ptr, i32 }
          cleanup
  %1430 = extractvalue { ptr, i32 } %1429, 0
  store ptr %1430, ptr %29, align 8
  %1431 = extractvalue { ptr, i32 } %1429, 1
  store i32 %1431, ptr %30, align 4
  br label %1436

1432:                                             ; preds = %1214, %1212
  %1433 = landingpad { ptr, i32 }
          cleanup
  %1434 = extractvalue { ptr, i32 } %1433, 0
  store ptr %1434, ptr %29, align 8
  %1435 = extractvalue { ptr, i32 } %1433, 1
  store i32 %1435, ptr %30, align 4
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %82) #8
  br label %1436

1436:                                             ; preds = %1432, %1428
  call void @llvm.lifetime.end.p0(i64 8, ptr %82) #8
  br label %1668

1437:                                             ; preds = %1217, %1215
  %1438 = landingpad { ptr, i32 }
          cleanup
  %1439 = extractvalue { ptr, i32 } %1438, 0
  store ptr %1439, ptr %29, align 8
  %1440 = extractvalue { ptr, i32 } %1438, 1
  store i32 %1440, ptr %30, align 4
  br label %1445

1441:                                             ; preds = %1220, %1218
  %1442 = landingpad { ptr, i32 }
          cleanup
  %1443 = extractvalue { ptr, i32 } %1442, 0
  store ptr %1443, ptr %29, align 8
  %1444 = extractvalue { ptr, i32 } %1442, 1
  store i32 %1444, ptr %30, align 4
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %83) #8
  br label %1445

1445:                                             ; preds = %1441, %1437
  call void @llvm.lifetime.end.p0(i64 8, ptr %83) #8
  br label %1668

1446:                                             ; preds = %1223, %1221
  %1447 = landingpad { ptr, i32 }
          cleanup
  %1448 = extractvalue { ptr, i32 } %1447, 0
  store ptr %1448, ptr %29, align 8
  %1449 = extractvalue { ptr, i32 } %1447, 1
  store i32 %1449, ptr %30, align 4
  br label %1454

1450:                                             ; preds = %1226, %1224
  %1451 = landingpad { ptr, i32 }
          cleanup
  %1452 = extractvalue { ptr, i32 } %1451, 0
  store ptr %1452, ptr %29, align 8
  %1453 = extractvalue { ptr, i32 } %1451, 1
  store i32 %1453, ptr %30, align 4
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %84) #8
  br label %1454

1454:                                             ; preds = %1450, %1446
  call void @llvm.lifetime.end.p0(i64 8, ptr %84) #8
  br label %1668

1455:                                             ; preds = %1227, %1185
  %1456 = invoke noundef ptr @_ZN10SimTKIpopt9GetRawPtrINS_14CompoundVectorEEEPT_RKNS_8SmartPtrIS2_EE(ptr noundef nonnull align 8 dereferenceable(8) %77)
          to label %1457 unwind label %1479

1457:                                             ; preds = %1455
  %1458 = load ptr, ptr %15, align 8, !tbaa !5
  %1459 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %1458, ptr noundef %1456)
          to label %1460 unwind label %1479

1460:                                             ; preds = %1457
  %1461 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 5
  %1462 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1461)
          to label %1463 unwind label %1479

1463:                                             ; preds = %1460
  %1464 = load ptr, ptr %1462, align 8, !tbaa !11
  %1465 = getelementptr inbounds ptr, ptr %1464, i64 2
  %1466 = load ptr, ptr %1465, align 8
  %1467 = invoke noundef ptr %1466(ptr noundef nonnull align 8 dereferenceable(16) %1462)
          to label %1468 unwind label %1479

1468:                                             ; preds = %1463
  %1469 = load ptr, ptr %17, align 8, !tbaa !5
  %1470 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %1469, ptr noundef %1467)
          to label %1471 unwind label %1479

1471:                                             ; preds = %1468
  %1472 = load i8, ptr %18, align 1, !tbaa !9, !range !36, !noundef !37
  %1473 = trunc i8 %1472 to i1
  br i1 %1473, label %1474, label %1483

1474:                                             ; preds = %1471
  %1475 = load ptr, ptr %17, align 8, !tbaa !5
  %1476 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1475)
          to label %1477 unwind label %1479

1477:                                             ; preds = %1474
  invoke void @_ZN10SimTKIpopt6Vector3SetEd(ptr noundef nonnull align 8 dereferenceable(205) %1476, double noundef 0.000000e+00)
          to label %1478 unwind label %1479

1478:                                             ; preds = %1477
  br label %1483

1479:                                             ; preds = %1598, %1595, %1592, %1587, %1585, %1572, %1569, %1564, %1562, %1559, %1554, %1551, %1548, %1543, %1540, %1538, %1535, %1529, %1524, %1521, %1519, %1516, %1510, %1505, %1502, %1500, %1497, %1491, %1486, %1483, %1477, %1474, %1468, %1463, %1460, %1457, %1455
  %1480 = landingpad { ptr, i32 }
          cleanup
  %1481 = extractvalue { ptr, i32 } %1480, 0
  store ptr %1481, ptr %29, align 8
  %1482 = extractvalue { ptr, i32 } %1480, 1
  store i32 %1482, ptr %30, align 4
  br label %1668

1483:                                             ; preds = %1478, %1471
  %1484 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 6
  %1485 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1484)
          to label %1486 unwind label %1479

1486:                                             ; preds = %1483
  %1487 = load ptr, ptr %1485, align 8, !tbaa !11
  %1488 = getelementptr inbounds ptr, ptr %1487, i64 2
  %1489 = load ptr, ptr %1488, align 8
  %1490 = invoke noundef ptr %1489(ptr noundef nonnull align 8 dereferenceable(16) %1485)
          to label %1491 unwind label %1479

1491:                                             ; preds = %1486
  %1492 = load ptr, ptr %19, align 8, !tbaa !5
  %1493 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %1492, ptr noundef %1490)
          to label %1494 unwind label %1479

1494:                                             ; preds = %1491
  %1495 = load i8, ptr %20, align 1, !tbaa !9, !range !36, !noundef !37
  %1496 = trunc i8 %1495 to i1
  br i1 %1496, label %1497, label %1502

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

1500:                                             ; preds = %1497
  invoke void @_ZN10SimTKIpopt6Vector3SetEd(ptr noundef nonnull align 8 dereferenceable(205) %1499, double noundef 0.000000e+00)
          to label %1501 unwind label %1479

1501:                                             ; preds = %1500
  br label %1502

1502:                                             ; preds = %1501, %1494
  %1503 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 7
  %1504 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundVectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1503)
          to label %1505 unwind label %1479

1505:                                             ; preds = %1502
  %1506 = load ptr, ptr %1504, align 8, !tbaa !11
  %1507 = getelementptr inbounds ptr, ptr %1506, i64 2
  %1508 = load ptr, ptr %1507, align 8
  %1509 = invoke noundef ptr %1508(ptr noundef nonnull align 8 dereferenceable(48) %1504)
          to label %1510 unwind label %1479

1510:                                             ; preds = %1505
  %1511 = load ptr, ptr %21, align 8, !tbaa !5
  %1512 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %1511, ptr noundef %1509)
          to label %1513 unwind label %1479

1513:                                             ; preds = %1510
  %1514 = load i8, ptr %22, align 1, !tbaa !9, !range !36, !noundef !37
  %1515 = trunc i8 %1514 to i1
  br i1 %1515, label %1516, label %1521

1516:                                             ; preds = %1513
  %1517 = load ptr, ptr %21, align 8, !tbaa !5
  %1518 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1517)
          to label %1519 unwind label %1479

1519:                                             ; preds = %1516
  invoke void @_ZN10SimTKIpopt6Vector3SetEd(ptr noundef nonnull align 8 dereferenceable(205) %1518, double noundef 1.000000e+00)
          to label %1520 unwind label %1479

1520:                                             ; preds = %1519
  br label %1521

1521:                                             ; preds = %1520, %1513
  %1522 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 9
  %1523 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1522)
          to label %1524 unwind label %1479

1524:                                             ; preds = %1521
  %1525 = load ptr, ptr %1523, align 8, !tbaa !11
  %1526 = getelementptr inbounds ptr, ptr %1525, i64 2
  %1527 = load ptr, ptr %1526, align 8
  %1528 = invoke noundef ptr %1527(ptr noundef nonnull align 8 dereferenceable(16) %1523)
          to label %1529 unwind label %1479

1529:                                             ; preds = %1524
  %1530 = load ptr, ptr %23, align 8, !tbaa !5
  %1531 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %1530, ptr noundef %1528)
          to label %1532 unwind label %1479

1532:                                             ; preds = %1529
  %1533 = load i8, ptr %24, align 1, !tbaa !9, !range !36, !noundef !37
  %1534 = trunc i8 %1533 to i1
  br i1 %1534, label %1535, label %1540

1535:                                             ; preds = %1532
  %1536 = load ptr, ptr %23, align 8, !tbaa !5
  %1537 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1536)
          to label %1538 unwind label %1479

1538:                                             ; preds = %1535
  invoke void @_ZN10SimTKIpopt6Vector3SetEd(ptr noundef nonnull align 8 dereferenceable(205) %1537, double noundef 1.000000e+00)
          to label %1539 unwind label %1479

1539:                                             ; preds = %1538
  br label %1540

1540:                                             ; preds = %1539, %1532
  %1541 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 11
  %1542 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1541)
          to label %1543 unwind label %1479

1543:                                             ; preds = %1540
  %1544 = load ptr, ptr %1542, align 8, !tbaa !11
  %1545 = getelementptr inbounds ptr, ptr %1544, i64 2
  %1546 = load ptr, ptr %1545, align 8
  %1547 = invoke noundef ptr %1546(ptr noundef nonnull align 8 dereferenceable(16) %1542)
          to label %1548 unwind label %1479

1548:                                             ; preds = %1543
  %1549 = load ptr, ptr %25, align 8, !tbaa !5
  %1550 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %1549, ptr noundef %1547)
          to label %1551 unwind label %1479

1551:                                             ; preds = %1548
  %1552 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 13
  %1553 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1552)
          to label %1554 unwind label %1479

1554:                                             ; preds = %1551
  %1555 = load ptr, ptr %1553, align 8, !tbaa !11
  %1556 = getelementptr inbounds ptr, ptr %1555, i64 2
  %1557 = load ptr, ptr %1556, align 8
  %1558 = invoke noundef ptr %1557(ptr noundef nonnull align 8 dereferenceable(16) %1553)
          to label %1559 unwind label %1479

1559:                                             ; preds = %1554
  %1560 = load ptr, ptr %26, align 8, !tbaa !5
  %1561 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %1560, ptr noundef %1558)
          to label %1562 unwind label %1479

1562:                                             ; preds = %1559
  %1563 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %27)
          to label %1564 unwind label %1479

1564:                                             ; preds = %1562
  %1565 = load ptr, ptr %1563, align 8, !tbaa !11
  %1566 = getelementptr inbounds ptr, ptr %1565, i64 2
  %1567 = load ptr, ptr %1566, align 8
  %1568 = invoke noundef ptr %1567(ptr noundef nonnull align 8 dereferenceable(16) %1563)
          to label %1569 unwind label %1479

1569:                                             ; preds = %1564
  %1570 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 31
  %1571 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %1570, ptr noundef %1568)
          to label %1572 unwind label %1479

1572:                                             ; preds = %1569
  %1573 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 31
  %1574 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1573)
          to label %1575 unwind label %1479

1575:                                             ; preds = %1572
  call void @llvm.lifetime.start.p0(i64 8, ptr %85) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %86) #8
  %1576 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 2
  %1577 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_9IpoptDataEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1576)
          to label %1578 unwind label %1645

1578:                                             ; preds = %1575
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.32") align 8 %86, ptr noundef nonnull align 8 dereferenceable(864) %1577)
          to label %1579 unwind label %1645

1579:                                             ; preds = %1578
  %1580 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %86)
          to label %1581 unwind label %1649

1581:                                             ; preds = %1579
  invoke void @_ZNK10SimTKIpopt14IteratesVector1xEv(ptr dead_on_unwind writable sret(%"class.SimTKIpopt::SmartPtr.25") align 8 %85, ptr noundef nonnull align 8 dereferenceable(280) %1580)
          to label %1582 unwind label %1649

1582:                                             ; preds = %1581
  %1583 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %85)
          to label %1584 unwind label %1653

1584:                                             ; preds = %1582
  invoke void @_ZN10SimTKIpopt6Vector4CopyERKS0_(ptr noundef nonnull align 8 dereferenceable(205) %1574, ptr noundef nonnull align 8 dereferenceable(205) %1583)
          to label %1585 unwind label %1653

1585:                                             ; preds = %1584
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %85) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %86) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %86) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %85) #8
  %1586 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %27)
          to label %1587 unwind label %1479

1587:                                             ; preds = %1585
  %1588 = load ptr, ptr %1586, align 8, !tbaa !11
  %1589 = getelementptr inbounds ptr, ptr %1588, i64 2
  %1590 = load ptr, ptr %1589, align 8
  %1591 = invoke noundef ptr %1590(ptr noundef nonnull align 8 dereferenceable(16) %1586)
          to label %1592 unwind label %1479

1592:                                             ; preds = %1587
  %1593 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 29
  %1594 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %1593, ptr noundef %1591)
          to label %1595 unwind label %1479

1595:                                             ; preds = %1592
  %1596 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 29
  %1597 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1596)
          to label %1598 unwind label %1479

1598:                                             ; preds = %1595
  invoke void @_ZN10SimTKIpopt6Vector3SetEd(ptr noundef nonnull align 8 dereferenceable(205) %1597, double noundef 1.000000e+00)
          to label %1599 unwind label %1479

1599:                                             ; preds = %1598
  call void @llvm.lifetime.start.p0(i64 8, ptr %87) #8
  %1600 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 29
  %1601 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1600)
          to label %1602 unwind label %1659

1602:                                             ; preds = %1599
  %1603 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector7MakeNewEv(ptr noundef nonnull align 8 dereferenceable(205) %1601)
          to label %1604 unwind label %1659

1604:                                             ; preds = %1602
  invoke void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8) %87, ptr noundef %1603)
          to label %1605 unwind label %1659

1605:                                             ; preds = %1604
  %1606 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %87)
          to label %1607 unwind label %1663

1607:                                             ; preds = %1605
  %1608 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 31
  %1609 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %1608)
          to label %1610 unwind label %1663

1610:                                             ; preds = %1607
  invoke void @_ZN10SimTKIpopt6Vector4CopyERKS0_(ptr noundef nonnull align 8 dereferenceable(205) %1606, ptr noundef nonnull align 8 dereferenceable(205) %1609)
          to label %1611 unwind label %1663

1611:                                             ; preds = %1610
  %1612 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 29
  %1613 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1612)
          to label %1614 unwind label %1663

1614:                                             ; preds = %1611
  %1615 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %87)
          to label %1616 unwind label %1663

1616:                                             ; preds = %1614
  invoke void @_ZN10SimTKIpopt6Vector14ElementWiseMaxERKS0_(ptr noundef nonnull align 8 dereferenceable(205) %1613, ptr noundef nonnull align 8 dereferenceable(205) %1615)
          to label %1617 unwind label %1663

1617:                                             ; preds = %1616
  %1618 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %87)
          to label %1619 unwind label %1663

1619:                                             ; preds = %1617
  invoke void @_ZN10SimTKIpopt6Vector4ScalEd(ptr noundef nonnull align 8 dereferenceable(205) %1618, double noundef -1.000000e+00)
          to label %1620 unwind label %1663

1620:                                             ; preds = %1619
  %1621 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 29
  %1622 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1621)
          to label %1623 unwind label %1663

1623:                                             ; preds = %1620
  %1624 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %87)
          to label %1625 unwind label %1663

1625:                                             ; preds = %1623
  invoke void @_ZN10SimTKIpopt6Vector14ElementWiseMaxERKS0_(ptr noundef nonnull align 8 dereferenceable(205) %1622, ptr noundef nonnull align 8 dereferenceable(205) %1624)
          to label %1626 unwind label %1663

1626:                                             ; preds = %1625
  %1627 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 29
  %1628 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1627)
          to label %1629 unwind label %1663

1629:                                             ; preds = %1626
  invoke void @_ZN10SimTKIpopt6Vector21ElementWiseReciprocalEv(ptr noundef nonnull align 8 dereferenceable(205) %1628)
          to label %1630 unwind label %1663

1630:                                             ; preds = %1629
  %1631 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_15DiagMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %48)
          to label %1632 unwind label %1663

1632:                                             ; preds = %1630
  %1633 = invoke noundef ptr @_ZNK10SimTKIpopt15DiagMatrixSpace17MakeNewDiagMatrixEv(ptr noundef nonnull align 8 dereferenceable(20) %1631)
          to label %1634 unwind label %1663

1634:                                             ; preds = %1632
  %1635 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 30
  %1636 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_10DiagMatrixEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %1635, ptr noundef %1633)
          to label %1637 unwind label %1663

1637:                                             ; preds = %1634
  %1638 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 30
  %1639 = invoke noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_10DiagMatrixEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1638)
          to label %1640 unwind label %1663

1640:                                             ; preds = %1637
  %1641 = getelementptr inbounds %"class.SimTKIpopt::RestoIpoptNLP", ptr %93, i32 0, i32 29
  %1642 = invoke noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %1641)
          to label %1643 unwind label %1663

1643:                                             ; preds = %1640
  invoke void @_ZN10SimTKIpopt10DiagMatrix7SetDiagERKNS_6VectorE(ptr noundef nonnull align 8 dereferenceable(88) %1639, ptr noundef nonnull align 8 dereferenceable(205) %1642)
          to label %1644 unwind label %1663

1644:                                             ; preds = %1643
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %87) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %87) #8
  call void @_ZN10SimTKIpopt8SmartPtrINS_14CompoundVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %77) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %77) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14SymMatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %57) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %57) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %56) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %56) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %55) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %55) #8
  call void @_ZN10SimTKIpopt8SmartPtrINS_15DiagMatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %48) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %48) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %47) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %47) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %46) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %45) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %44) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14SymMatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %42) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %42) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %41) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %41) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %40) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %39) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %39) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %38) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %38) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %37) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %36) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %35) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %35) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %34) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %34) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %33) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %33) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %32) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %31) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %28) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %27) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #8
  ret i1 true

1645:                                             ; preds = %1578, %1575
  %1646 = landingpad { ptr, i32 }
          cleanup
  %1647 = extractvalue { ptr, i32 } %1646, 0
  store ptr %1647, ptr %29, align 8
  %1648 = extractvalue { ptr, i32 } %1646, 1
  store i32 %1648, ptr %30, align 4
  br label %1658

1649:                                             ; preds = %1581, %1579
  %1650 = landingpad { ptr, i32 }
          cleanup
  %1651 = extractvalue { ptr, i32 } %1650, 0
  store ptr %1651, ptr %29, align 8
  %1652 = extractvalue { ptr, i32 } %1650, 1
  store i32 %1652, ptr %30, align 4
  br label %1657

1653:                                             ; preds = %1584, %1582
  %1654 = landingpad { ptr, i32 }
          cleanup
  %1655 = extractvalue { ptr, i32 } %1654, 0
  store ptr %1655, ptr %29, align 8
  %1656 = extractvalue { ptr, i32 } %1654, 1
  store i32 %1656, ptr %30, align 4
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %85) #8
  br label %1657

1657:                                             ; preds = %1653, %1649
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %86) #8
  br label %1658

1658:                                             ; preds = %1657, %1645
  call void @llvm.lifetime.end.p0(i64 8, ptr %86) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %85) #8
  br label %1668

1659:                                             ; preds = %1604, %1602, %1599
  %1660 = landingpad { ptr, i32 }
          cleanup
  %1661 = extractvalue { ptr, i32 } %1660, 0
  store ptr %1661, ptr %29, align 8
  %1662 = extractvalue { ptr, i32 } %1660, 1
  store i32 %1662, ptr %30, align 4
  br label %1667

1663:                                             ; preds = %1643, %1640, %1637, %1634, %1632, %1630, %1629, %1626, %1625, %1623, %1620, %1619, %1617, %1616, %1614, %1611, %1610, %1607, %1605
  %1664 = landingpad { ptr, i32 }
          cleanup
  %1665 = extractvalue { ptr, i32 } %1664, 0
  store ptr %1665, ptr %29, align 8
  %1666 = extractvalue { ptr, i32 } %1664, 1
  store i32 %1666, ptr %30, align 4
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %87) #8
  br label %1667

1667:                                             ; preds = %1663, %1659
  call void @llvm.lifetime.end.p0(i64 8, ptr %87) #8
  br label %1668

1668:                                             ; preds = %1667, %1658, %1479, %1454, %1445, %1436, %1427, %1418
  call void @_ZN10SimTKIpopt8SmartPtrINS_14CompoundVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %77) #8
  br label %1669

1669:                                             ; preds = %1668, %1391
  call void @llvm.lifetime.end.p0(i64 8, ptr %77) #8
  br label %1670

1670:                                             ; preds = %1669, %1390, %1381, %1372, %1363, %1354, %1345, %1336, %1327, %1318, %1309, %1300, %1291, %1279, %1278
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14SymMatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %57) #8
  br label %1671

1671:                                             ; preds = %1670, %1236
  call void @llvm.lifetime.end.p0(i64 8, ptr %57) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %56) #8
  br label %1672

1672:                                             ; preds = %1671, %1232
  call void @llvm.lifetime.end.p0(i64 8, ptr %56) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %55) #8
  br label %1673

1673:                                             ; preds = %1672, %1228
  call void @llvm.lifetime.end.p0(i64 8, ptr %55) #8
  br label %1674

1674:                                             ; preds = %1673, %1001, %963
  call void @_ZN10SimTKIpopt8SmartPtrINS_15DiagMatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %48) #8
  br label %1675

1675:                                             ; preds = %1674, %911, %907
  call void @llvm.lifetime.end.p0(i64 8, ptr %48) #8
  br label %1676

1676:                                             ; preds = %1675, %903, %899, %895, %891, %887
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %47) #8
  br label %1677

1677:                                             ; preds = %1676, %883, %879
  call void @llvm.lifetime.end.p0(i64 8, ptr %47) #8
  br label %1678

1678:                                             ; preds = %1677, %875
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %46) #8
  br label %1679

1679:                                             ; preds = %1678, %871, %867
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #8
  br label %1680

1680:                                             ; preds = %1679, %863, %859
  call void @llvm.lifetime.end.p0(i64 4, ptr %45) #8
  br label %1681

1681:                                             ; preds = %1680, %855
  call void @llvm.lifetime.end.p0(i64 4, ptr %44) #8
  br label %1682

1682:                                             ; preds = %1681, %851, %847, %843
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #8
  br label %1683

1683:                                             ; preds = %1682, %839
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14SymMatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %42) #8
  br label %1684

1684:                                             ; preds = %1683, %835
  call void @llvm.lifetime.end.p0(i64 8, ptr %42) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %41) #8
  br label %1685

1685:                                             ; preds = %1684, %831
  call void @llvm.lifetime.end.p0(i64 8, ptr %41) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %40) #8
  br label %1686

1686:                                             ; preds = %1685, %827
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %39) #8
  br label %1687

1687:                                             ; preds = %1686, %823
  call void @llvm.lifetime.end.p0(i64 8, ptr %39) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %38) #8
  br label %1688

1688:                                             ; preds = %1687, %819
  call void @llvm.lifetime.end.p0(i64 8, ptr %38) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %37) #8
  br label %1689

1689:                                             ; preds = %1688, %815
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %36) #8
  br label %1690

1690:                                             ; preds = %1689, %811
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %35) #8
  br label %1691

1691:                                             ; preds = %1690, %807
  call void @llvm.lifetime.end.p0(i64 8, ptr %35) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %34) #8
  br label %1692

1692:                                             ; preds = %1691, %803
  call void @llvm.lifetime.end.p0(i64 8, ptr %34) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %33) #8
  br label %1693

1693:                                             ; preds = %1692, %799
  call void @llvm.lifetime.end.p0(i64 8, ptr %33) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %32) #8
  br label %1694

1694:                                             ; preds = %1693, %795
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %31) #8
  br label %1695

1695:                                             ; preds = %1694, %791
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %28) #8
  br label %1696

1696:                                             ; preds = %1695, %787
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %27) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #8
  br label %1697

1697:                                             ; preds = %1696
  %1698 = load ptr, ptr %29, align 8
  %1699 = load i32, ptr %30, align 4
  %1700 = insertvalue { ptr, i32 } poison, ptr %1698, 0
  %1701 = insertvalue { ptr, i32 } %1700, i32 %1699, 1
  resume { ptr, i32 } %1701
}

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

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

; 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

declare void @_ZN10SimTKIpopt19CompoundVectorSpaceC1Eii(ptr noundef nonnull align 8 dereferenceable(48), i32 noundef, i32 noundef) unnamed_addr #5

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundVectorSpaceEEptEv(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

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

declare void @_ZN10SimTKIpopt19CompoundMatrixSpaceC1Eiiii(ptr noundef nonnull align 8 dereferenceable(129), i32 noundef, i32 noundef, i32 noundef, i32 noundef) unnamed_addr #5

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

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

declare void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetBlockRowsEii(ptr noundef nonnull align 8 dereferenceable(129), i32 noundef, i32 noundef) #5

declare void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetBlockColsEii(ptr noundef nonnull align 8 dereferenceable(129), i32 noundef, i32 noundef) #5

declare void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetCompSpaceEiiRKNS_11MatrixSpaceEb(ptr noundef nonnull align 8 dereferenceable(129), i32 noundef, i32 noundef, ptr noundef nonnull align 8 dereferenceable(20), i1 noundef zeroext) #5

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

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

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

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

declare void @_ZN10SimTKIpopt22CompoundSymMatrixSpaceC1Eii(ptr noundef nonnull align 8 dereferenceable(97), i32 noundef, i32 noundef) unnamed_addr #5

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

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

declare void @_ZN10SimTKIpopt22CompoundSymMatrixSpace11SetBlockDimEii(ptr noundef nonnull align 8 dereferenceable(97), i32 noundef, i32 noundef) #5

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

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

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

; Function Attrs: nounwind willreturn memory(read)
declare ptr @__dynamic_cast(ptr, ptr, ptr, i64) #6

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef i32 @_ZNK10SimTKIpopt14SymMatrixSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(20)) #7 align 2

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

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

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

declare void @_ZN10SimTKIpopt22CompoundSymMatrixSpace12SetCompSpaceEiiRKNS_11MatrixSpaceEb(ptr noundef nonnull align 8 dereferenceable(97), i32 noundef, i32 noundef, ptr noundef nonnull align 8 dereferenceable(20), i1 noundef zeroext) #5

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

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

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

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

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

declare void @_ZN10SimTKIpopt17SumSymMatrixSpace12SetTermSpaceEiRKNS_14SymMatrixSpaceE(ptr noundef nonnull align 8 dereferenceable(48), i32 noundef, ptr noundef nonnull align 8 dereferenceable(20)) #5

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

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

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

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

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

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

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

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

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

declare void @_ZN10SimTKIpopt14CompoundVector7SetCompEiRKNS_6VectorE(ptr noundef nonnull align 8 dereferenceable(265), i32 noundef, ptr noundef nonnull align 8 dereferenceable(205)) #5

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

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

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

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

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

declare noundef ptr @_ZNK10SimTKIpopt19CompoundMatrixSpace21MakeNewCompoundMatrixEv(ptr noundef nonnull align 8 dereferenceable(129)) #5

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

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

declare void @_ZN10SimTKIpopt14CompoundMatrix7SetCompEiiRKNS_6MatrixE(ptr noundef nonnull align 8 dereferenceable(129), i32 noundef, i32 noundef, ptr noundef nonnull align 8 dereferenceable(69)) #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 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)) #4 align 2

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN10SimTKIpopt8SmartPtrINS_15DiagMatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8)) 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 = { 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 #4 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { nounwind willreturn memory(read) }
attributes #7 = { 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 #8 = { nounwind }
attributes #9 = { builtin allocsize(0) }
attributes #10 = { builtin nounwind }

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"bool", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"vtable pointer", !8, i64 0}
!13 = !{!14, !14, i64 0}
!14 = !{!"int", !7, i64 0}
!15 = !{!16, !35, i64 276}
!16 = !{!"_ZTSN10SimTKIpopt13RestoIpoptNLPE", !17, i64 0, !20, i64 24, !21, i64 32, !22, i64 40, !23, i64 48, !24, i64 56, !24, i64 64, !23, i64 72, !25, i64 80, !24, i64 88, !25, i64 96, !24, i64 104, !26, i64 112, !24, i64 120, !26, i64 128, !25, i64 136, !25, i64 144, !27, i64 152, !28, i64 160, !29, i64 168, !30, i64 176, !29, i64 184, !30, i64 192, !31, i64 200, !30, i64 208, !31, i64 216, !32, i64 224, !32, i64 232, !32, i64 240, !33, i64 248, !34, i64 256, !33, i64 264, !10, i64 272, !35, i64 276, !10, i64 280, !14, i64 284, !14, i64 288, !14, i64 292, !14, i64 296, !14, i64 300, !14, i64 304, !14, i64 308}
!17 = !{!"_ZTSN10SimTKIpopt8IpoptNLPE", !18, i64 0, !19, i64 16}
!18 = !{!"_ZTSN10SimTKIpopt16ReferencedObjectE", !14, i64 8}
!19 = !{!"_ZTSN10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEEE", !6, i64 0}
!20 = !{!"_ZTSN10SimTKIpopt8SmartPtrINS_8IpoptNLPEEE", !6, i64 0}
!21 = !{!"_ZTSN10SimTKIpopt8SmartPtrINS_9IpoptDataEEE", !6, i64 0}
!22 = !{!"_ZTSN10SimTKIpopt8SmartPtrINS_25IpoptCalculatedQuantitiesEEE", !6, i64 0}
!23 = !{!"_ZTSN10SimTKIpopt8SmartPtrINS_19CompoundVectorSpaceEEE", !6, i64 0}
!24 = !{!"_ZTSN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEE", !6, i64 0}
!25 = !{!"_ZTSN10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEE", !6, i64 0}
!26 = !{!"_ZTSN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEEE", !6, i64 0}
!27 = !{!"_ZTSN10SimTKIpopt8SmartPtrINS_22CompoundSymMatrixSpaceEEE", !6, i64 0}
!28 = !{!"_ZTSN10SimTKIpopt8SmartPtrINS_14CompoundVectorEEE", !6, i64 0}
!29 = !{!"_ZTSN10SimTKIpopt8SmartPtrINS_14CompoundMatrixEEE", !6, i64 0}
!30 = !{!"_ZTSN10SimTKIpopt8SmartPtrIKNS_6VectorEEE", !6, i64 0}
!31 = !{!"_ZTSN10SimTKIpopt8SmartPtrIKNS_6MatrixEEE", !6, i64 0}
!32 = !{!"double", !7, i64 0}
!33 = !{!"_ZTSN10SimTKIpopt8SmartPtrINS_6VectorEEE", !6, i64 0}
!34 = !{!"_ZTSN10SimTKIpopt8SmartPtrINS_10DiagMatrixEEE", !6, i64 0}
!35 = !{!"_ZTSN10SimTKIpopt24HessianApproximationTypeE", !7, i64 0}
!36 = !{i8 0, i8 2}
!37 = !{}


; 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" = type { ptr }
%"class.SimTKIpopt::SmartPtr.5" = type { ptr }
%"class.SimTKIpopt::SmartPtr.57" = type { ptr }
%"class.SimTKIpopt::SmartPtr.78" = type { ptr }
%"class.SimTKIpopt::SmartPtr.79" = type { ptr }
%"class.SimTKIpopt::SmartPtr.26" = type { ptr }
%"class.SimTKIpopt::SmartPtr.80" = type { ptr }
%"class.SimTKIpopt::SmartPtr.16" = type { ptr }
%"class.SimTKIpopt::SmartPtr.25" = type { ptr }
%"class.SimTKIpopt::SmartPtr.27" = type { ptr }
%"class.SimTKIpopt::SmartPtr.23" = type { ptr }
%"class.SimTKIpopt::SmartPtr.32" = type { ptr }

@_ZTIN10SimTKIpopt14SymMatrixSpaceE = external constant ptr
@_ZTIN10SimTKIpopt27LowRankUpdateSymMatrixSpaceE = external dso_local constant { ptr, ptr, ptr }, align 8

; 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: nobuiltin allocsize(0)
declare noundef nonnull ptr @_Znwm(i64 noundef) local_unnamed_addr #3

; 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_11VectorSpaceEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #2 align 2

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

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

; Function Attrs: mustprogress 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_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #2 align 2

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

; Function Attrs: mustprogress uwtable
define dso_local noundef zeroext i1 @_ZN10SimTKIpopt13RestoIpoptNLP20InitializeStructuresERNS_8SmartPtrINS_6VectorEEEbS4_bS4_bS4_bS4_bS4_S4_(ptr noundef nonnull align 8 dereferenceable(312) %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 #4 align 2 personality ptr @__gxx_personality_v0 {
  %14 = alloca %"class.SimTKIpopt::SmartPtr", align 8
  %15 = alloca %"class.SimTKIpopt::SmartPtr", align 8
  %16 = alloca %"class.SimTKIpopt::SmartPtr", align 8
  %17 = alloca %"class.SimTKIpopt::SmartPtr", align 8
  %18 = alloca %"class.SimTKIpopt::SmartPtr.5", align 8
  %19 = alloca %"class.SimTKIpopt::SmartPtr", align 8
  %20 = alloca %"class.SimTKIpopt::SmartPtr.5", align 8
  %21 = alloca %"class.SimTKIpopt::SmartPtr", align 8
  %22 = alloca %"class.SimTKIpopt::SmartPtr.5", 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.5", align 8
  %27 = alloca %"class.SimTKIpopt::SmartPtr.57", align 8
  %28 = alloca %"class.SimTKIpopt::SmartPtr.5", align 8
  %29 = alloca %"class.SimTKIpopt::SmartPtr.5", align 8
  %30 = alloca %"class.SimTKIpopt::SmartPtr.78", align 8
  %31 = alloca %"class.SimTKIpopt::SmartPtr.79", align 8
  %32 = alloca %"class.SimTKIpopt::SmartPtr.26", align 8
  %33 = alloca %"class.SimTKIpopt::SmartPtr", align 8
  %34 = alloca %"class.SimTKIpopt::SmartPtr.80", align 8
  %35 = alloca %"class.SimTKIpopt::SmartPtr.5", align 8
  %36 = alloca %"class.SimTKIpopt::SmartPtr.5", align 8
  %37 = alloca %"class.SimTKIpopt::SmartPtr.57", align 8
  %38 = alloca %"class.SimTKIpopt::SmartPtr.16", align 8
  %39 = alloca %"class.SimTKIpopt::SmartPtr", align 8
  %40 = alloca %"class.SimTKIpopt::SmartPtr", align 8
  %41 = alloca %"class.SimTKIpopt::SmartPtr", align 8
  %42 = alloca %"class.SimTKIpopt::SmartPtr.5", align 8
  %43 = alloca %"class.SimTKIpopt::SmartPtr.5", align 8
  %44 = alloca %"class.SimTKIpopt::SmartPtr.57", align 8
  %45 = alloca %"class.SimTKIpopt::SmartPtr.25", align 8
  %46 = alloca %"class.SimTKIpopt::SmartPtr.27", align 8
  %47 = alloca %"class.SimTKIpopt::SmartPtr.27", align 8
  %48 = alloca %"class.SimTKIpopt::SmartPtr.27", align 8
  %49 = alloca %"class.SimTKIpopt::SmartPtr.27", align 8
  %50 = alloca %"class.SimTKIpopt::SmartPtr.25", align 8
  %51 = alloca %"class.SimTKIpopt::SmartPtr.25", align 8
  %52 = alloca %"class.SimTKIpopt::SmartPtr.25", align 8
  %53 = alloca %"class.SimTKIpopt::SmartPtr.26", align 8
  %54 = alloca %"class.SimTKIpopt::SmartPtr.26", align 8
  %55 = alloca %"class.SimTKIpopt::SmartPtr.26", align 8
  %56 = alloca %"class.SimTKIpopt::SmartPtr.26", align 8
  %57 = alloca %"class.SimTKIpopt::SmartPtr.23", align 8
  %58 = alloca %"class.SimTKIpopt::SmartPtr.27", align 8
  %59 = alloca %"class.SimTKIpopt::SmartPtr.25", align 8
  %60 = alloca %"class.SimTKIpopt::SmartPtr.32", align 8
  %61 = alloca %"class.SimTKIpopt::SmartPtr.27", align 8
  %62 = alloca %"class.SimTKIpopt::SmartPtr.27", align 8
  %63 = alloca %"class.SimTKIpopt::SmartPtr.27", align 8
  %64 = alloca %"class.SimTKIpopt::SmartPtr.27", align 8
  %65 = alloca %"class.SimTKIpopt::SmartPtr.25", align 8
  %66 = alloca %"class.SimTKIpopt::SmartPtr.32", align 8
  %67 = alloca %"class.SimTKIpopt::SmartPtr.27", align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %14) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %14)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %15) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %15)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %16) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %16)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %17) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %17)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %18) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %18)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %19) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %19)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %20) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %20)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %21) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %21)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %22) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %22)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %23) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %23)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %24) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %24)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %25) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %25)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %26) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %26)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %27) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14SymMatrixSpaceEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %27)
  %68 = getelementptr inbounds i8, ptr %0, i64 24
  %69 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_8IpoptNLPEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %68)
  %70 = load ptr, ptr %69, align 8, !tbaa !5
  %71 = getelementptr inbounds i8, ptr %70, i64 168
  %72 = load ptr, ptr %71, align 8
  invoke void %72(ptr noundef nonnull align 8 dereferenceable(24) %69, ptr noundef nonnull align 8 dereferenceable(8) %14, ptr noundef nonnull align 8 dereferenceable(8) %15, ptr noundef nonnull align 8 dereferenceable(8) %16, ptr noundef nonnull align 8 dereferenceable(8) %17, ptr noundef nonnull align 8 dereferenceable(8) %18, ptr noundef nonnull align 8 dereferenceable(8) %19, ptr noundef nonnull align 8 dereferenceable(8) %20, ptr noundef nonnull align 8 dereferenceable(8) %21, ptr noundef nonnull align 8 dereferenceable(8) %22, ptr noundef nonnull align 8 dereferenceable(8) %23, ptr noundef nonnull align 8 dereferenceable(8) %24, ptr noundef nonnull align 8 dereferenceable(8) %25, ptr noundef nonnull align 8 dereferenceable(8) %26, ptr noundef nonnull align 8 dereferenceable(8) %27)
          to label %73 unwind label %453

73:                                               ; preds = %13
  %74 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %14)
  %75 = call noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %74)
  %76 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %15)
  %77 = call noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %76)
  %78 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %16)
  %79 = call noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %78)
  %80 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #9
          to label %81 unwind label %455

81:                                               ; preds = %73
  %reass.add = add i32 %79, %77
  %reass.mul = shl i32 %reass.add, 1
  %82 = add i32 %reass.mul, %75
  invoke void @_ZN10SimTKIpopt19CompoundVectorSpaceC1Eii(ptr noundef nonnull align 8 dereferenceable(48) %80, i32 noundef 5, i32 noundef %82)
          to label %83 unwind label %457

83:                                               ; preds = %81
  %84 = getelementptr inbounds i8, ptr %0, i64 48
  %85 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_19CompoundVectorSpaceEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %84, ptr noundef nonnull %80)
          to label %86 unwind label %455

86:                                               ; preds = %83
  %87 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundVectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %84)
  %88 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %14)
  %89 = load ptr, ptr %87, align 8, !tbaa !5
  %90 = getelementptr inbounds i8, ptr %89, i64 24
  %91 = load ptr, ptr %90, align 8
  invoke void %91(ptr noundef nonnull align 8 dereferenceable(48) %87, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(16) %88)
          to label %92 unwind label %455

92:                                               ; preds = %86
  %93 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundVectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %84)
  %94 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %15)
  %95 = load ptr, ptr %93, align 8, !tbaa !5
  %96 = getelementptr inbounds i8, ptr %95, i64 24
  %97 = load ptr, ptr %96, align 8
  invoke void %97(ptr noundef nonnull align 8 dereferenceable(48) %93, i32 noundef 1, ptr noundef nonnull align 8 dereferenceable(16) %94)
          to label %98 unwind label %455

98:                                               ; preds = %92
  %99 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundVectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %84)
  %100 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %15)
  %101 = load ptr, ptr %99, align 8, !tbaa !5
  %102 = getelementptr inbounds i8, ptr %101, i64 24
  %103 = load ptr, ptr %102, align 8
  invoke void %103(ptr noundef nonnull align 8 dereferenceable(48) %99, i32 noundef 2, ptr noundef nonnull align 8 dereferenceable(16) %100)
          to label %104 unwind label %455

104:                                              ; preds = %98
  %105 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundVectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %84)
  %106 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %16)
  %107 = load ptr, ptr %105, align 8, !tbaa !5
  %108 = getelementptr inbounds i8, ptr %107, i64 24
  %109 = load ptr, ptr %108, align 8
  invoke void %109(ptr noundef nonnull align 8 dereferenceable(48) %105, i32 noundef 3, ptr noundef nonnull align 8 dereferenceable(16) %106)
          to label %110 unwind label %455

110:                                              ; preds = %104
  %111 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundVectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %84)
  %112 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %16)
  %113 = load ptr, ptr %111, align 8, !tbaa !5
  %114 = getelementptr inbounds i8, ptr %113, i64 24
  %115 = load ptr, ptr %114, align 8
  invoke void %115(ptr noundef nonnull align 8 dereferenceable(48) %111, i32 noundef 4, ptr noundef nonnull align 8 dereferenceable(16) %112)
          to label %116 unwind label %455

116:                                              ; preds = %110
  %117 = getelementptr inbounds i8, ptr %0, i64 56
  %118 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %117, ptr noundef nonnull align 8 dereferenceable(8) %15)
          to label %119 unwind label %455

119:                                              ; preds = %116
  %120 = getelementptr inbounds i8, ptr %0, i64 64
  %121 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %120, ptr noundef nonnull align 8 dereferenceable(8) %16)
          to label %122 unwind label %455

122:                                              ; preds = %119
  %123 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %17)
  %124 = call noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %123)
  %125 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %15)
  %126 = call noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %125)
  %127 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %16)
  %128 = call noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %127)
  %129 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #9
          to label %130 unwind label %455

130:                                              ; preds = %122
  %reass.add153 = add i32 %128, %126
  %reass.mul154 = shl i32 %reass.add153, 1
  %131 = add i32 %reass.mul154, %124
  invoke void @_ZN10SimTKIpopt19CompoundVectorSpaceC1Eii(ptr noundef nonnull align 8 dereferenceable(48) %129, i32 noundef 5, i32 noundef %131)
          to label %132 unwind label %459

132:                                              ; preds = %130
  %133 = getelementptr inbounds i8, ptr %0, i64 72
  %134 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_19CompoundVectorSpaceEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %133, ptr noundef nonnull %129)
          to label %135 unwind label %455

135:                                              ; preds = %132
  %136 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundVectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %133)
  %137 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %17)
  %138 = load ptr, ptr %136, align 8, !tbaa !5
  %139 = getelementptr inbounds i8, ptr %138, i64 24
  %140 = load ptr, ptr %139, align 8
  invoke void %140(ptr noundef nonnull align 8 dereferenceable(48) %136, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(16) %137)
          to label %141 unwind label %455

141:                                              ; preds = %135
  %142 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundVectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %133)
  %143 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %15)
  %144 = load ptr, ptr %142, align 8, !tbaa !5
  %145 = getelementptr inbounds i8, ptr %144, i64 24
  %146 = load ptr, ptr %145, align 8
  invoke void %146(ptr noundef nonnull align 8 dereferenceable(48) %142, i32 noundef 1, ptr noundef nonnull align 8 dereferenceable(16) %143)
          to label %147 unwind label %455

147:                                              ; preds = %141
  %148 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundVectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %133)
  %149 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %15)
  %150 = load ptr, ptr %148, align 8, !tbaa !5
  %151 = getelementptr inbounds i8, ptr %150, i64 24
  %152 = load ptr, ptr %151, align 8
  invoke void %152(ptr noundef nonnull align 8 dereferenceable(48) %148, i32 noundef 2, ptr noundef nonnull align 8 dereferenceable(16) %149)
          to label %153 unwind label %455

153:                                              ; preds = %147
  %154 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundVectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %133)
  %155 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %16)
  %156 = load ptr, ptr %154, align 8, !tbaa !5
  %157 = getelementptr inbounds i8, ptr %156, i64 24
  %158 = load ptr, ptr %157, align 8
  invoke void %158(ptr noundef nonnull align 8 dereferenceable(48) %154, i32 noundef 3, ptr noundef nonnull align 8 dereferenceable(16) %155)
          to label %159 unwind label %455

159:                                              ; preds = %153
  %160 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundVectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %133)
  %161 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %16)
  %162 = load ptr, ptr %160, align 8, !tbaa !5
  %163 = getelementptr inbounds i8, ptr %162, i64 24
  %164 = load ptr, ptr %163, align 8
  invoke void %164(ptr noundef nonnull align 8 dereferenceable(48) %160, i32 noundef 4, ptr noundef nonnull align 8 dereferenceable(16) %161)
          to label %165 unwind label %455

165:                                              ; preds = %159
  %166 = getelementptr inbounds i8, ptr %0, i64 88
  %167 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %166, ptr noundef nonnull align 8 dereferenceable(8) %19)
          to label %168 unwind label %455

168:                                              ; preds = %165
  %169 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %14)
  %170 = call noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %169)
  %171 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %15)
  %172 = call noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %171)
  %173 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %16)
  %174 = call noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %173)
  %175 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %17)
  %176 = call noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %175)
  %177 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %15)
  %178 = call noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %177)
  %179 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %16)
  %180 = call noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %179)
  %181 = invoke noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #9
          to label %182 unwind label %461

182:                                              ; preds = %168
  %reass.add155 = add i32 %180, %178
  %reass.mul156 = shl i32 %reass.add155, 1
  %183 = add i32 %reass.mul156, %176
  %reass.add157 = add i32 %174, %172
  %reass.mul158 = shl i32 %reass.add157, 1
  %184 = add i32 %reass.mul158, %170
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpaceC1Eiiii(ptr noundef nonnull align 8 dereferenceable(129) %181, i32 noundef 5, i32 noundef 5, i32 noundef %184, i32 noundef %183)
          to label %185 unwind label %463

185:                                              ; preds = %182
  %186 = getelementptr inbounds i8, ptr %0, i64 80
  %187 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %186, ptr noundef nonnull %181)
          to label %188 unwind label %461

188:                                              ; preds = %185
  %189 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %186)
  %190 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %14)
  %191 = call noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %190)
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetBlockRowsEii(ptr noundef nonnull align 8 dereferenceable(129) %189, i32 noundef 0, i32 noundef %191)
          to label %192 unwind label %461

192:                                              ; preds = %188
  %193 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %186)
  %194 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %15)
  %195 = call noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %194)
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetBlockRowsEii(ptr noundef nonnull align 8 dereferenceable(129) %193, i32 noundef 1, i32 noundef %195)
          to label %196 unwind label %461

196:                                              ; preds = %192
  %197 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %186)
  %198 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %15)
  %199 = call noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %198)
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetBlockRowsEii(ptr noundef nonnull align 8 dereferenceable(129) %197, i32 noundef 2, i32 noundef %199)
          to label %200 unwind label %461

200:                                              ; preds = %196
  %201 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %186)
  %202 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %16)
  %203 = call noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %202)
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetBlockRowsEii(ptr noundef nonnull align 8 dereferenceable(129) %201, i32 noundef 3, i32 noundef %203)
          to label %204 unwind label %461

204:                                              ; preds = %200
  %205 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %186)
  %206 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %16)
  %207 = call noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %206)
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetBlockRowsEii(ptr noundef nonnull align 8 dereferenceable(129) %205, i32 noundef 4, i32 noundef %207)
          to label %208 unwind label %461

208:                                              ; preds = %204
  %209 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %186)
  %210 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %17)
  %211 = call noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %210)
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetBlockColsEii(ptr noundef nonnull align 8 dereferenceable(129) %209, i32 noundef 0, i32 noundef %211)
          to label %212 unwind label %461

212:                                              ; preds = %208
  %213 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %186)
  %214 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %15)
  %215 = call noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %214)
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetBlockColsEii(ptr noundef nonnull align 8 dereferenceable(129) %213, i32 noundef 1, i32 noundef %215)
          to label %216 unwind label %461

216:                                              ; preds = %212
  %217 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %186)
  %218 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %15)
  %219 = call noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %218)
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetBlockColsEii(ptr noundef nonnull align 8 dereferenceable(129) %217, i32 noundef 2, i32 noundef %219)
          to label %220 unwind label %461

220:                                              ; preds = %216
  %221 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %186)
  %222 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %16)
  %223 = call noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %222)
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetBlockColsEii(ptr noundef nonnull align 8 dereferenceable(129) %221, i32 noundef 3, i32 noundef %223)
          to label %224 unwind label %461

224:                                              ; preds = %220
  %225 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %186)
  %226 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %16)
  %227 = call noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %226)
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetBlockColsEii(ptr noundef nonnull align 8 dereferenceable(129) %225, i32 noundef 4, i32 noundef %227)
          to label %228 unwind label %461

228:                                              ; preds = %224
  %229 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %186)
  %230 = call noundef nonnull align 8 dereferenceable(20) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %18)
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetCompSpaceEiiRKNS_11MatrixSpaceEb(ptr noundef nonnull align 8 dereferenceable(129) %229, i32 noundef 0, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(20) %230, i1 noundef zeroext false)
          to label %231 unwind label %461

231:                                              ; preds = %228
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %28) #8
  %232 = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #9
          to label %233 unwind label %465

233:                                              ; preds = %231
  %234 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %15)
  %235 = call noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %234)
  invoke void @_ZN10SimTKIpopt19IdentityMatrixSpaceC2Ei(ptr noundef nonnull align 8 dereferenceable(20) %232, i32 noundef %235)
          to label %236 unwind label %467

236:                                              ; preds = %233
  invoke void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEEC2EPS2_(ptr noundef nonnull align 8 dereferenceable(8) %28, ptr noundef nonnull %232)
          to label %237 unwind label %465

237:                                              ; preds = %236
  %238 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %186)
  %239 = call noundef nonnull align 8 dereferenceable(20) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %28)
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetCompSpaceEiiRKNS_11MatrixSpaceEb(ptr noundef nonnull align 8 dereferenceable(129) %238, i32 noundef 1, i32 noundef 1, ptr noundef nonnull align 8 dereferenceable(20) %239, i1 noundef zeroext true)
          to label %240 unwind label %469

240:                                              ; preds = %237
  %241 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %186)
  %242 = call noundef nonnull align 8 dereferenceable(20) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %28)
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetCompSpaceEiiRKNS_11MatrixSpaceEb(ptr noundef nonnull align 8 dereferenceable(129) %241, i32 noundef 2, i32 noundef 2, ptr noundef nonnull align 8 dereferenceable(20) %242, i1 noundef zeroext true)
          to label %243 unwind label %469

243:                                              ; preds = %240
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %29) #8
  %244 = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #9
          to label %245 unwind label %471

245:                                              ; preds = %243
  %246 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %16)
  %247 = call noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %246)
  invoke void @_ZN10SimTKIpopt19IdentityMatrixSpaceC2Ei(ptr noundef nonnull align 8 dereferenceable(20) %244, i32 noundef %247)
          to label %248 unwind label %473

248:                                              ; preds = %245
  invoke void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEEC2EPS2_(ptr noundef nonnull align 8 dereferenceable(8) %29, ptr noundef nonnull %244)
          to label %249 unwind label %471

249:                                              ; preds = %248
  %250 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %186)
  %251 = call noundef nonnull align 8 dereferenceable(20) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %29)
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetCompSpaceEiiRKNS_11MatrixSpaceEb(ptr noundef nonnull align 8 dereferenceable(129) %250, i32 noundef 3, i32 noundef 3, ptr noundef nonnull align 8 dereferenceable(20) %251, i1 noundef zeroext true)
          to label %252 unwind label %475

252:                                              ; preds = %249
  %253 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %186)
  %254 = call noundef nonnull align 8 dereferenceable(20) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %29)
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetCompSpaceEiiRKNS_11MatrixSpaceEb(ptr noundef nonnull align 8 dereferenceable(129) %253, i32 noundef 4, i32 noundef 4, ptr noundef nonnull align 8 dereferenceable(20) %254, i1 noundef zeroext true)
          to label %255 unwind label %475

255:                                              ; preds = %252
  %256 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %14)
  %257 = call noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %256)
  %258 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %15)
  %259 = call noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %258)
  %260 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %16)
  %261 = call noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %260)
  %262 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %19)
  %263 = call noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %262)
  %264 = invoke noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #9
          to label %265 unwind label %475

265:                                              ; preds = %255
  %reass.add159 = add i32 %261, %259
  %reass.mul160 = shl i32 %reass.add159, 1
  %266 = add i32 %reass.mul160, %257
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpaceC1Eiiii(ptr noundef nonnull align 8 dereferenceable(129) %264, i32 noundef 5, i32 noundef 1, i32 noundef %266, i32 noundef %263)
          to label %267 unwind label %477

267:                                              ; preds = %265
  %268 = getelementptr inbounds i8, ptr %0, i64 96
  %269 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %268, ptr noundef nonnull %264)
          to label %270 unwind label %475

270:                                              ; preds = %267
  %271 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %268)
  %272 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %14)
  %273 = call noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %272)
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetBlockRowsEii(ptr noundef nonnull align 8 dereferenceable(129) %271, i32 noundef 0, i32 noundef %273)
          to label %274 unwind label %475

274:                                              ; preds = %270
  %275 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %268)
  %276 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %15)
  %277 = call noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %276)
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetBlockRowsEii(ptr noundef nonnull align 8 dereferenceable(129) %275, i32 noundef 1, i32 noundef %277)
          to label %278 unwind label %475

278:                                              ; preds = %274
  %279 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %268)
  %280 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %15)
  %281 = call noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %280)
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetBlockRowsEii(ptr noundef nonnull align 8 dereferenceable(129) %279, i32 noundef 2, i32 noundef %281)
          to label %282 unwind label %475

282:                                              ; preds = %278
  %283 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %268)
  %284 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %16)
  %285 = call noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %284)
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetBlockRowsEii(ptr noundef nonnull align 8 dereferenceable(129) %283, i32 noundef 3, i32 noundef %285)
          to label %286 unwind label %475

286:                                              ; preds = %282
  %287 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %268)
  %288 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %16)
  %289 = call noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %288)
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetBlockRowsEii(ptr noundef nonnull align 8 dereferenceable(129) %287, i32 noundef 4, i32 noundef %289)
          to label %290 unwind label %475

290:                                              ; preds = %286
  %291 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %268)
  %292 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %19)
  %293 = call noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %292)
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetBlockColsEii(ptr noundef nonnull align 8 dereferenceable(129) %291, i32 noundef 0, i32 noundef %293)
          to label %294 unwind label %475

294:                                              ; preds = %290
  %295 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %268)
  %296 = call noundef nonnull align 8 dereferenceable(20) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %20)
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetCompSpaceEiiRKNS_11MatrixSpaceEb(ptr noundef nonnull align 8 dereferenceable(129) %295, i32 noundef 0, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(20) %296, i1 noundef zeroext false)
          to label %297 unwind label %475

297:                                              ; preds = %294
  %298 = getelementptr inbounds i8, ptr %0, i64 104
  %299 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %298, ptr noundef nonnull align 8 dereferenceable(8) %21)
          to label %300 unwind label %475

300:                                              ; preds = %297
  %301 = getelementptr inbounds i8, ptr %0, i64 120
  %302 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %301, ptr noundef nonnull align 8 dereferenceable(8) %23)
          to label %303 unwind label %475

303:                                              ; preds = %300
  %304 = getelementptr inbounds i8, ptr %0, i64 112
  %305 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %304, ptr noundef nonnull align 8 dereferenceable(8) %22)
          to label %306 unwind label %475

306:                                              ; preds = %303
  %307 = getelementptr inbounds i8, ptr %0, i64 128
  %308 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %307, ptr noundef nonnull align 8 dereferenceable(8) %24)
          to label %309 unwind label %475

309:                                              ; preds = %306
  %310 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %15)
  %311 = call noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %310)
  %312 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %14)
  %313 = call noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %312)
  %314 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %15)
  %315 = call noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %314)
  %316 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %16)
  %317 = call noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %316)
  %318 = invoke noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #9
          to label %319 unwind label %475

319:                                              ; preds = %309
  %reass.add161 = add i32 %317, %315
  %reass.mul162 = shl i32 %reass.add161, 1
  %320 = add i32 %reass.mul162, %313
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpaceC1Eiiii(ptr noundef nonnull align 8 dereferenceable(129) %318, i32 noundef 1, i32 noundef 5, i32 noundef %311, i32 noundef %320)
          to label %321 unwind label %479

321:                                              ; preds = %319
  %322 = getelementptr inbounds i8, ptr %0, i64 136
  %323 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %322, ptr noundef nonnull %318)
          to label %324 unwind label %475

324:                                              ; preds = %321
  %325 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %322)
  %326 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %15)
  %327 = call noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %326)
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetBlockRowsEii(ptr noundef nonnull align 8 dereferenceable(129) %325, i32 noundef 0, i32 noundef %327)
          to label %328 unwind label %475

328:                                              ; preds = %324
  %329 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %322)
  %330 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %14)
  %331 = call noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %330)
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetBlockColsEii(ptr noundef nonnull align 8 dereferenceable(129) %329, i32 noundef 0, i32 noundef %331)
          to label %332 unwind label %475

332:                                              ; preds = %328
  %333 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %322)
  %334 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %15)
  %335 = call noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %334)
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetBlockColsEii(ptr noundef nonnull align 8 dereferenceable(129) %333, i32 noundef 1, i32 noundef %335)
          to label %336 unwind label %475

336:                                              ; preds = %332
  %337 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %322)
  %338 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %15)
  %339 = call noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %338)
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetBlockColsEii(ptr noundef nonnull align 8 dereferenceable(129) %337, i32 noundef 2, i32 noundef %339)
          to label %340 unwind label %475

340:                                              ; preds = %336
  %341 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %322)
  %342 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %16)
  %343 = call noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %342)
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetBlockColsEii(ptr noundef nonnull align 8 dereferenceable(129) %341, i32 noundef 3, i32 noundef %343)
          to label %344 unwind label %475

344:                                              ; preds = %340
  %345 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %322)
  %346 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %16)
  %347 = call noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %346)
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetBlockColsEii(ptr noundef nonnull align 8 dereferenceable(129) %345, i32 noundef 4, i32 noundef %347)
          to label %348 unwind label %475

348:                                              ; preds = %344
  %349 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %322)
  %350 = call noundef nonnull align 8 dereferenceable(20) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %25)
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetCompSpaceEiiRKNS_11MatrixSpaceEb(ptr noundef nonnull align 8 dereferenceable(129) %349, i32 noundef 0, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(20) %350, i1 noundef zeroext false)
          to label %351 unwind label %475

351:                                              ; preds = %348
  %352 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %322)
  %353 = call noundef nonnull align 8 dereferenceable(20) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %28)
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetCompSpaceEiiRKNS_11MatrixSpaceEb(ptr noundef nonnull align 8 dereferenceable(129) %352, i32 noundef 0, i32 noundef 1, ptr noundef nonnull align 8 dereferenceable(20) %353, i1 noundef zeroext true)
          to label %354 unwind label %475

354:                                              ; preds = %351
  %355 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %322)
  %356 = call noundef nonnull align 8 dereferenceable(20) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %28)
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetCompSpaceEiiRKNS_11MatrixSpaceEb(ptr noundef nonnull align 8 dereferenceable(129) %355, i32 noundef 0, i32 noundef 2, ptr noundef nonnull align 8 dereferenceable(20) %356, i1 noundef zeroext true)
          to label %357 unwind label %475

357:                                              ; preds = %354
  %358 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %16)
  %359 = call noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %358)
  %360 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %14)
  %361 = call noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %360)
  %362 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %15)
  %363 = call noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %362)
  %364 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %16)
  %365 = call noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %364)
  %366 = invoke noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #9
          to label %367 unwind label %475

367:                                              ; preds = %357
  %reass.add163 = add i32 %365, %363
  %reass.mul164 = shl i32 %reass.add163, 1
  %368 = add i32 %reass.mul164, %361
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpaceC1Eiiii(ptr noundef nonnull align 8 dereferenceable(129) %366, i32 noundef 1, i32 noundef 5, i32 noundef %359, i32 noundef %368)
          to label %369 unwind label %481

369:                                              ; preds = %367
  %370 = getelementptr inbounds i8, ptr %0, i64 144
  %371 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %370, ptr noundef nonnull %366)
          to label %372 unwind label %475

372:                                              ; preds = %369
  %373 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %370)
  %374 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %16)
  %375 = call noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %374)
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetBlockRowsEii(ptr noundef nonnull align 8 dereferenceable(129) %373, i32 noundef 0, i32 noundef %375)
          to label %376 unwind label %475

376:                                              ; preds = %372
  %377 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %370)
  %378 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %14)
  %379 = call noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %378)
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetBlockColsEii(ptr noundef nonnull align 8 dereferenceable(129) %377, i32 noundef 0, i32 noundef %379)
          to label %380 unwind label %475

380:                                              ; preds = %376
  %381 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %370)
  %382 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %15)
  %383 = call noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %382)
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetBlockColsEii(ptr noundef nonnull align 8 dereferenceable(129) %381, i32 noundef 1, i32 noundef %383)
          to label %384 unwind label %475

384:                                              ; preds = %380
  %385 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %370)
  %386 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %15)
  %387 = call noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %386)
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetBlockColsEii(ptr noundef nonnull align 8 dereferenceable(129) %385, i32 noundef 2, i32 noundef %387)
          to label %388 unwind label %475

388:                                              ; preds = %384
  %389 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %370)
  %390 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %16)
  %391 = call noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %390)
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetBlockColsEii(ptr noundef nonnull align 8 dereferenceable(129) %389, i32 noundef 3, i32 noundef %391)
          to label %392 unwind label %475

392:                                              ; preds = %388
  %393 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %370)
  %394 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %16)
  %395 = call noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %394)
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetBlockColsEii(ptr noundef nonnull align 8 dereferenceable(129) %393, i32 noundef 4, i32 noundef %395)
          to label %396 unwind label %475

396:                                              ; preds = %392
  %397 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %370)
  %398 = call noundef nonnull align 8 dereferenceable(20) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %26)
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetCompSpaceEiiRKNS_11MatrixSpaceEb(ptr noundef nonnull align 8 dereferenceable(129) %397, i32 noundef 0, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(20) %398, i1 noundef zeroext false)
          to label %399 unwind label %475

399:                                              ; preds = %396
  %400 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %370)
  %401 = call noundef nonnull align 8 dereferenceable(20) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %29)
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetCompSpaceEiiRKNS_11MatrixSpaceEb(ptr noundef nonnull align 8 dereferenceable(129) %400, i32 noundef 0, i32 noundef 3, ptr noundef nonnull align 8 dereferenceable(20) %401, i1 noundef zeroext true)
          to label %402 unwind label %475

402:                                              ; preds = %399
  %403 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %370)
  %404 = call noundef nonnull align 8 dereferenceable(20) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %29)
  invoke void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetCompSpaceEiiRKNS_11MatrixSpaceEb(ptr noundef nonnull align 8 dereferenceable(129) %403, i32 noundef 0, i32 noundef 4, ptr noundef nonnull align 8 dereferenceable(20) %404, i1 noundef zeroext true)
          to label %405 unwind label %475

405:                                              ; preds = %402
  %406 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %14)
  %407 = call noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %406)
  %408 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %15)
  %409 = call noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %408)
  %410 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %16)
  %411 = call noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %410)
  %412 = invoke noalias noundef nonnull dereferenceable(104) ptr @_Znwm(i64 noundef 104) #9
          to label %413 unwind label %475

413:                                              ; preds = %405
  %reass.add165 = add i32 %411, %409
  %reass.mul166 = shl i32 %reass.add165, 1
  %414 = add i32 %reass.mul166, %407
  invoke void @_ZN10SimTKIpopt22CompoundSymMatrixSpaceC1Eii(ptr noundef nonnull align 8 dereferenceable(97) %412, i32 noundef 5, i32 noundef %414)
          to label %415 unwind label %483

415:                                              ; preds = %413
  %416 = getelementptr inbounds i8, ptr %0, i64 152
  %417 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_22CompoundSymMatrixSpaceEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %416, ptr noundef nonnull %412)
          to label %418 unwind label %475

418:                                              ; preds = %415
  %419 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_22CompoundSymMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %416)
  %420 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %14)
  %421 = call noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %420)
  invoke void @_ZN10SimTKIpopt22CompoundSymMatrixSpace11SetBlockDimEii(ptr noundef nonnull align 8 dereferenceable(97) %419, i32 noundef 0, i32 noundef %421)
          to label %422 unwind label %475

422:                                              ; preds = %418
  %423 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_22CompoundSymMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %416)
  %424 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %15)
  %425 = call noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %424)
  invoke void @_ZN10SimTKIpopt22CompoundSymMatrixSpace11SetBlockDimEii(ptr noundef nonnull align 8 dereferenceable(97) %423, i32 noundef 1, i32 noundef %425)
          to label %426 unwind label %475

426:                                              ; preds = %422
  %427 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_22CompoundSymMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %416)
  %428 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %15)
  %429 = call noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %428)
  invoke void @_ZN10SimTKIpopt22CompoundSymMatrixSpace11SetBlockDimEii(ptr noundef nonnull align 8 dereferenceable(97) %427, i32 noundef 2, i32 noundef %429)
          to label %430 unwind label %475

430:                                              ; preds = %426
  %431 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_22CompoundSymMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %416)
  %432 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %16)
  %433 = call noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %432)
  invoke void @_ZN10SimTKIpopt22CompoundSymMatrixSpace11SetBlockDimEii(ptr noundef nonnull align 8 dereferenceable(97) %431, i32 noundef 3, i32 noundef %433)
          to label %434 unwind label %475

434:                                              ; preds = %430
  %435 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_22CompoundSymMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %416)
  %436 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %16)
  %437 = call noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %436)
  invoke void @_ZN10SimTKIpopt22CompoundSymMatrixSpace11SetBlockDimEii(ptr noundef nonnull align 8 dereferenceable(97) %435, i32 noundef 4, i32 noundef %437)
          to label %438 unwind label %475

438:                                              ; preds = %434
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %30) #8
  %439 = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #9
          to label %440 unwind label %485

440:                                              ; preds = %438
  %441 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %14)
  %442 = call noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %441)
  invoke void @_ZN10SimTKIpopt15DiagMatrixSpaceC2Ei(ptr noundef nonnull align 8 dereferenceable(20) %439, i32 noundef %442)
          to label %443 unwind label %487

443:                                              ; preds = %440
  invoke void @_ZN10SimTKIpopt8SmartPtrINS_15DiagMatrixSpaceEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8) %30, ptr noundef nonnull %439)
          to label %444 unwind label %485

444:                                              ; preds = %443
  %445 = getelementptr inbounds i8, ptr %0, i64 276
  %446 = load i32, ptr %445, align 4, !tbaa !8
  %447 = icmp eq i32 %446, 1
  br i1 %447, label %448, label %512

448:                                              ; preds = %444
  %449 = call noundef ptr @_ZN10SimTKIpopt9GetRawPtrIKNS_14SymMatrixSpaceEEEPT_RKNS_8SmartPtrIS3_EE(ptr noundef nonnull align 8 dereferenceable(8) %27)
  %450 = icmp eq ptr %449, null
  br i1 %450, label %489, label %451

451:                                              ; preds = %448
  %452 = call ptr @__dynamic_cast(ptr nonnull %449, ptr nonnull @_ZTIN10SimTKIpopt14SymMatrixSpaceE, ptr nonnull @_ZTIN10SimTKIpopt27LowRankUpdateSymMatrixSpaceE, i64 0) #8
  br label %489

453:                                              ; preds = %13
  %454 = landingpad { ptr, i32 }
          cleanup
  br label %945

455:                                              ; preds = %165, %159, %153, %147, %141, %135, %132, %122, %119, %116, %110, %104, %98, %92, %86, %83, %73
  %456 = landingpad { ptr, i32 }
          cleanup
  br label %945

457:                                              ; preds = %81
  %458 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %80, i64 noundef 48) #10
  br label %945

459:                                              ; preds = %130
  %460 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %129, i64 noundef 48) #10
  br label %945

461:                                              ; preds = %228, %224, %220, %216, %212, %208, %204, %200, %196, %192, %188, %185, %168
  %462 = landingpad { ptr, i32 }
          cleanup
  br label %945

463:                                              ; preds = %182
  %464 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %181, i64 noundef 136) #10
  br label %945

465:                                              ; preds = %236, %231
  %466 = landingpad { ptr, i32 }
          cleanup
  br label %944

467:                                              ; preds = %233
  %468 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %232, i64 noundef 24) #10
  br label %944

469:                                              ; preds = %240, %237
  %470 = landingpad { ptr, i32 }
          cleanup
  br label %943

471:                                              ; preds = %248, %243
  %472 = landingpad { ptr, i32 }
          cleanup
  br label %942

473:                                              ; preds = %245
  %474 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %244, i64 noundef 24) #10
  br label %942

475:                                              ; preds = %434, %430, %426, %422, %418, %415, %405, %402, %399, %396, %392, %388, %384, %380, %376, %372, %369, %357, %354, %351, %348, %344, %340, %336, %332, %328, %324, %321, %309, %306, %303, %300, %297, %294, %290, %286, %282, %278, %274, %270, %267, %255, %252, %249
  %476 = landingpad { ptr, i32 }
          cleanup
  br label %941

477:                                              ; preds = %265
  %478 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %264, i64 noundef 136) #10
  br label %941

479:                                              ; preds = %319
  %480 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %318, i64 noundef 136) #10
  br label %941

481:                                              ; preds = %367
  %482 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %366, i64 noundef 136) #10
  br label %941

483:                                              ; preds = %413
  %484 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %412, i64 noundef 104) #10
  br label %941

485:                                              ; preds = %443, %438
  %486 = landingpad { ptr, i32 }
          cleanup
  br label %940

487:                                              ; preds = %440
  %488 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %439, i64 noundef 24) #10
  br label %940

489:                                              ; preds = %448, %451
  %490 = phi ptr [ %452, %451 ], [ null, %448 ]
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %31) #8
  %491 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #9
          to label %492 unwind label %502

492:                                              ; preds = %489
  %493 = invoke noundef i32 @_ZNK10SimTKIpopt14SymMatrixSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(20) %490)
          to label %494 unwind label %.thread

494:                                              ; preds = %492
  invoke void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEEC2EPS2_(ptr noundef nonnull align 8 dereferenceable(8) %32, ptr noundef null)
          to label %495 unwind label %.thread

495:                                              ; preds = %494
  invoke void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %33, ptr noundef nonnull align 8 dereferenceable(8) %14)
          to label %496 unwind label %.thread150

496:                                              ; preds = %495
  invoke void @_ZN10SimTKIpopt27LowRankUpdateSymMatrixSpaceC2EiNS_8SmartPtrIKNS_6MatrixEEENS1_IKNS_11VectorSpaceEEEb(ptr noundef nonnull align 8 dereferenceable(41) %491, i32 noundef %493, ptr noundef nonnull %32, ptr noundef nonnull %33, i1 noundef zeroext false)
          to label %497 unwind label %506

497:                                              ; preds = %496
  invoke void @_ZN10SimTKIpopt8SmartPtrINS_27LowRankUpdateSymMatrixSpaceEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8) %31, ptr noundef nonnull %491)
          to label %498 unwind label %506

498:                                              ; preds = %497
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %33) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %32) #8
  %499 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_22CompoundSymMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %416)
  %500 = call noundef nonnull align 8 dereferenceable(41) ptr @_ZNK10SimTKIpopt8SmartPtrINS_27LowRankUpdateSymMatrixSpaceEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %31)
  invoke void @_ZN10SimTKIpopt22CompoundSymMatrixSpace12SetCompSpaceEiiRKNS_11MatrixSpaceEb(ptr noundef nonnull align 8 dereferenceable(97) %499, i32 noundef 0, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(20) %500, i1 noundef zeroext true)
          to label %501 unwind label %509

501:                                              ; preds = %498
  call void @_ZN10SimTKIpopt8SmartPtrINS_27LowRankUpdateSymMatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %31) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %31) #8
  br label %535

502:                                              ; preds = %489
  %503 = landingpad { ptr, i32 }
          cleanup
  br label %511

.thread:                                          ; preds = %492, %494
  %504 = landingpad { ptr, i32 }
          cleanup
  br label %508

.thread150:                                       ; preds = %495
  %505 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %32) #8
  br label %508

506:                                              ; preds = %496, %497
  %.0 = phi i1 [ false, %497 ], [ true, %496 ]
  %507 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %33) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %32) #8
  br i1 %.0, label %508, label %511

508:                                              ; preds = %.thread150, %.thread, %506
  %.pn81.pn149 = phi { ptr, i32 } [ %504, %.thread ], [ %507, %506 ], [ %505, %.thread150 ]
  call void @_ZdlPvm(ptr noundef nonnull %491, i64 noundef 48) #10
  br label %511

509:                                              ; preds = %498
  %510 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrINS_27LowRankUpdateSymMatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %31) #8
  br label %511

511:                                              ; preds = %506, %508, %509, %502
  %.pn84 = phi { ptr, i32 } [ %510, %509 ], [ %.pn81.pn149, %508 ], [ %507, %506 ], [ %503, %502 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %31) #8
  br label %939

512:                                              ; preds = %444
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %34) #8
  %513 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #9
          to label %514 unwind label %528

514:                                              ; preds = %512
  %515 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %14)
  %516 = call noundef i32 @_ZNK10SimTKIpopt11VectorSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(16) %515)
  invoke void @_ZN10SimTKIpopt17SumSymMatrixSpaceC2Eii(ptr noundef nonnull align 8 dereferenceable(48) %513, i32 noundef %516, i32 noundef 2)
          to label %517 unwind label %530

517:                                              ; preds = %514
  invoke void @_ZN10SimTKIpopt8SmartPtrINS_17SumSymMatrixSpaceEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8) %34, ptr noundef nonnull %513)
          to label %518 unwind label %528

518:                                              ; preds = %517
  %519 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_17SumSymMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %34)
  %520 = call noundef nonnull align 8 dereferenceable(20) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14SymMatrixSpaceEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %27)
  invoke void @_ZN10SimTKIpopt17SumSymMatrixSpace12SetTermSpaceEiRKNS_14SymMatrixSpaceE(ptr noundef nonnull align 8 dereferenceable(48) %519, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(20) %520)
          to label %521 unwind label %532

521:                                              ; preds = %518
  %522 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_17SumSymMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %34)
  %523 = call noundef nonnull align 8 dereferenceable(20) ptr @_ZNK10SimTKIpopt8SmartPtrINS_15DiagMatrixSpaceEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %30)
  invoke void @_ZN10SimTKIpopt17SumSymMatrixSpace12SetTermSpaceEiRKNS_14SymMatrixSpaceE(ptr noundef nonnull align 8 dereferenceable(48) %522, i32 noundef 1, ptr noundef nonnull align 8 dereferenceable(20) %523)
          to label %524 unwind label %532

524:                                              ; preds = %521
  %525 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_22CompoundSymMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %416)
  %526 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNK10SimTKIpopt8SmartPtrINS_17SumSymMatrixSpaceEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %34)
  invoke void @_ZN10SimTKIpopt22CompoundSymMatrixSpace12SetCompSpaceEiiRKNS_11MatrixSpaceEb(ptr noundef nonnull align 8 dereferenceable(97) %525, i32 noundef 0, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(20) %526, i1 noundef zeroext true)
          to label %527 unwind label %532

527:                                              ; preds = %524
  call void @_ZN10SimTKIpopt8SmartPtrINS_17SumSymMatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %34) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %34) #8
  br label %535

528:                                              ; preds = %517, %512
  %529 = landingpad { ptr, i32 }
          cleanup
  br label %534

530:                                              ; preds = %514
  %531 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %513, i64 noundef 48) #10
  br label %534

532:                                              ; preds = %524, %521, %518
  %533 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrINS_17SumSymMatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %34) #8
  br label %534

534:                                              ; preds = %532, %530, %528
  %.pn = phi { ptr, i32 } [ %533, %532 ], [ %529, %528 ], [ %531, %530 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %34) #8
  br label %939

535:                                              ; preds = %527, %501
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %35) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %35)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %36) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %36)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %37) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14SymMatrixSpaceEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %37)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %38) #8
  invoke void @_ZNK10SimTKIpopt8IpoptNLP11NLP_scalingEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.16") align 8 %38, ptr noundef nonnull align 8 dereferenceable(24) %0)
          to label %536 unwind label %686

536:                                              ; preds = %535
  %537 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %38)
  %538 = call noundef ptr @_ZN10SimTKIpopt9GetRawPtrINS_19CompoundVectorSpaceEEEPT_RKNS_8SmartPtrIS2_EE(ptr noundef nonnull align 8 dereferenceable(8) %84)
  invoke void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEC2EPS2_(ptr noundef nonnull align 8 dereferenceable(8) %39, ptr noundef %538)
          to label %539 unwind label %688

539:                                              ; preds = %536
  invoke void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %40, ptr noundef nonnull align 8 dereferenceable(8) %117)
          to label %540 unwind label %690

540:                                              ; preds = %539
  invoke void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %41, ptr noundef nonnull align 8 dereferenceable(8) %120)
          to label %541 unwind label %692

541:                                              ; preds = %540
  %542 = call noundef ptr @_ZN10SimTKIpopt9GetRawPtrINS_19CompoundMatrixSpaceEEEPT_RKNS_8SmartPtrIS2_EE(ptr noundef nonnull align 8 dereferenceable(8) %322)
  invoke void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEEC2EPS2_(ptr noundef nonnull align 8 dereferenceable(8) %42, ptr noundef %542)
          to label %543 unwind label %694

543:                                              ; preds = %541
  %544 = call noundef ptr @_ZN10SimTKIpopt9GetRawPtrINS_19CompoundMatrixSpaceEEEPT_RKNS_8SmartPtrIS2_EE(ptr noundef nonnull align 8 dereferenceable(8) %370)
  invoke void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEEC2EPS2_(ptr noundef nonnull align 8 dereferenceable(8) %43, ptr noundef %544)
          to label %545 unwind label %696

545:                                              ; preds = %543
  %546 = call noundef ptr @_ZN10SimTKIpopt9GetRawPtrINS_22CompoundSymMatrixSpaceEEEPT_RKNS_8SmartPtrIS2_EE(ptr noundef nonnull align 8 dereferenceable(8) %416)
  invoke void @_ZN10SimTKIpopt8SmartPtrIKNS_14SymMatrixSpaceEEC2EPS2_(ptr noundef nonnull align 8 dereferenceable(8) %44, ptr noundef %546)
          to label %547 unwind label %698

547:                                              ; preds = %545
  %548 = load ptr, ptr %537, align 8, !tbaa !5
  %549 = getelementptr inbounds i8, ptr %548, i64 208
  %550 = load ptr, ptr %549, align 8
  invoke void %550(ptr noundef nonnull align 8 dereferenceable(24) %537, ptr noundef nonnull %39, ptr noundef nonnull %40, ptr noundef nonnull %41, ptr noundef nonnull %42, ptr noundef nonnull %43, ptr noundef nonnull %44, ptr noundef nonnull align 8 dereferenceable(8) %35, ptr noundef nonnull align 8 dereferenceable(8) %36, ptr noundef nonnull align 8 dereferenceable(8) %37)
          to label %551 unwind label %700

551:                                              ; preds = %547
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14SymMatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %44) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %43) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %42) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %41) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %40) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %39) #8
  call void @_ZN10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %38) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %38) #8
  %552 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundVectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %133)
  %553 = load ptr, ptr %552, align 8, !tbaa !5
  %554 = getelementptr inbounds i8, ptr %553, i64 32
  %555 = load ptr, ptr %554, align 8
  %556 = invoke noundef ptr %555(ptr noundef nonnull align 8 dereferenceable(48) %552, i1 noundef zeroext true)
          to label %557 unwind label %709

557:                                              ; preds = %551
  %558 = getelementptr inbounds i8, ptr %0, i64 160
  %559 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_14CompoundVectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %558, ptr noundef %556)
          to label %560 unwind label %709

560:                                              ; preds = %557
  %561 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14CompoundVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %558)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %45) #8
  %562 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_8IpoptNLPEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %68)
  %563 = load ptr, ptr %562, align 8, !tbaa !5
  %564 = getelementptr inbounds i8, ptr %563, i64 96
  %565 = load ptr, ptr %564, align 8
  invoke void %565(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.25") align 8 %45, ptr noundef nonnull align 8 dereferenceable(24) %562)
          to label %566 unwind label %711

566:                                              ; preds = %560
  %567 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %45)
  invoke void @_ZN10SimTKIpopt14CompoundVector7SetCompEiRKNS_6VectorE(ptr noundef nonnull align 8 dereferenceable(265) %561, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(205) %567)
          to label %568 unwind label %713

568:                                              ; preds = %566
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %45) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %45) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %46) #8
  %569 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14CompoundVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %558)
  invoke void @_ZN10SimTKIpopt14CompoundVector15GetCompNonConstEi(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.27") align 8 %46, ptr noundef nonnull align 8 dereferenceable(265) %569, i32 noundef 1)
          to label %570 unwind label %716

570:                                              ; preds = %568
  %571 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %46)
  invoke void @_ZN10SimTKIpopt6Vector3SetEd(ptr noundef nonnull align 8 dereferenceable(205) %571, double noundef 0.000000e+00)
          to label %572 unwind label %718

572:                                              ; preds = %570
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %46) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %46) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %47) #8
  %573 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14CompoundVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %558)
  invoke void @_ZN10SimTKIpopt14CompoundVector15GetCompNonConstEi(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.27") align 8 %47, ptr noundef nonnull align 8 dereferenceable(265) %573, i32 noundef 2)
          to label %574 unwind label %721

574:                                              ; preds = %572
  %575 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %47)
  invoke void @_ZN10SimTKIpopt6Vector3SetEd(ptr noundef nonnull align 8 dereferenceable(205) %575, double noundef 0.000000e+00)
          to label %576 unwind label %723

576:                                              ; preds = %574
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %47) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %47) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %48) #8
  %577 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14CompoundVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %558)
  invoke void @_ZN10SimTKIpopt14CompoundVector15GetCompNonConstEi(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.27") align 8 %48, ptr noundef nonnull align 8 dereferenceable(265) %577, i32 noundef 3)
          to label %578 unwind label %726

578:                                              ; preds = %576
  %579 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %48)
  invoke void @_ZN10SimTKIpopt6Vector3SetEd(ptr noundef nonnull align 8 dereferenceable(205) %579, double noundef 0.000000e+00)
          to label %580 unwind label %728

580:                                              ; preds = %578
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %48) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %48) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %49) #8
  %581 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14CompoundVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %558)
  invoke void @_ZN10SimTKIpopt14CompoundVector15GetCompNonConstEi(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.27") align 8 %49, ptr noundef nonnull align 8 dereferenceable(265) %581, i32 noundef 4)
          to label %582 unwind label %731

582:                                              ; preds = %580
  %583 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %49)
  invoke void @_ZN10SimTKIpopt6Vector3SetEd(ptr noundef nonnull align 8 dereferenceable(205) %583, double noundef 0.000000e+00)
          to label %584 unwind label %733

584:                                              ; preds = %582
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %49) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %49) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %50) #8
  %585 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_8IpoptNLPEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %68)
  %586 = load ptr, ptr %585, align 8, !tbaa !5
  %587 = getelementptr inbounds i8, ptr %586, i64 112
  %588 = load ptr, ptr %587, align 8
  invoke void %588(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.25") align 8 %50, ptr noundef nonnull align 8 dereferenceable(24) %585)
          to label %589 unwind label %736

589:                                              ; preds = %584
  %590 = getelementptr inbounds i8, ptr %0, i64 176
  %591 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %590, ptr noundef nonnull align 8 dereferenceable(8) %50)
          to label %592 unwind label %738

592:                                              ; preds = %589
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %50) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %50) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %51) #8
  %593 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_8IpoptNLPEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %68)
  %594 = load ptr, ptr %593, align 8, !tbaa !5
  %595 = getelementptr inbounds i8, ptr %594, i64 128
  %596 = load ptr, ptr %595, align 8
  invoke void %596(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.25") align 8 %51, ptr noundef nonnull align 8 dereferenceable(24) %593)
          to label %597 unwind label %741

597:                                              ; preds = %592
  %598 = getelementptr inbounds i8, ptr %0, i64 192
  %599 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %598, ptr noundef nonnull align 8 dereferenceable(8) %51)
          to label %600 unwind label %743

600:                                              ; preds = %597
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %51) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %51) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %52) #8
  %601 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_8IpoptNLPEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %68)
  %602 = load ptr, ptr %601, align 8, !tbaa !5
  %603 = getelementptr inbounds i8, ptr %602, i64 144
  %604 = load ptr, ptr %603, align 8
  invoke void %604(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.25") align 8 %52, ptr noundef nonnull align 8 dereferenceable(24) %601)
          to label %605 unwind label %746

605:                                              ; preds = %600
  %606 = getelementptr inbounds i8, ptr %0, i64 208
  %607 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %606, ptr noundef nonnull align 8 dereferenceable(8) %52)
          to label %608 unwind label %748

608:                                              ; preds = %605
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %52) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %52) #8
  %609 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %186)
  %610 = invoke noundef ptr @_ZNK10SimTKIpopt19CompoundMatrixSpace21MakeNewCompoundMatrixEv(ptr noundef nonnull align 8 dereferenceable(129) %609)
          to label %611 unwind label %709

611:                                              ; preds = %608
  %612 = getelementptr inbounds i8, ptr %0, i64 168
  %613 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_14CompoundMatrixEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %612, ptr noundef %610)
          to label %614 unwind label %709

614:                                              ; preds = %611
  %615 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14CompoundMatrixEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %612)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %53) #8
  %616 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_8IpoptNLPEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %68)
  %617 = load ptr, ptr %616, align 8, !tbaa !5
  %618 = getelementptr inbounds i8, ptr %617, i64 104
  %619 = load ptr, ptr %618, align 8
  invoke void %619(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.26") align 8 %53, ptr noundef nonnull align 8 dereferenceable(24) %616)
          to label %620 unwind label %751

620:                                              ; preds = %614
  %621 = call noundef nonnull align 8 dereferenceable(69) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6MatrixEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %53)
  invoke void @_ZN10SimTKIpopt14CompoundMatrix7SetCompEiiRKNS_6MatrixE(ptr noundef nonnull align 8 dereferenceable(129) %615, i32 noundef 0, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(69) %621)
          to label %622 unwind label %753

622:                                              ; preds = %620
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %53) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %53) #8
  %623 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %268)
  %624 = invoke noundef ptr @_ZNK10SimTKIpopt19CompoundMatrixSpace21MakeNewCompoundMatrixEv(ptr noundef nonnull align 8 dereferenceable(129) %623)
          to label %625 unwind label %709

625:                                              ; preds = %622
  %626 = getelementptr inbounds i8, ptr %0, i64 184
  %627 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_14CompoundMatrixEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %626, ptr noundef %624)
          to label %628 unwind label %709

628:                                              ; preds = %625
  %629 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14CompoundMatrixEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %626)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %54) #8
  %630 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_8IpoptNLPEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %68)
  %631 = load ptr, ptr %630, align 8, !tbaa !5
  %632 = getelementptr inbounds i8, ptr %631, i64 120
  %633 = load ptr, ptr %632, align 8
  invoke void %633(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.26") align 8 %54, ptr noundef nonnull align 8 dereferenceable(24) %630)
          to label %634 unwind label %756

634:                                              ; preds = %628
  %635 = call noundef nonnull align 8 dereferenceable(69) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6MatrixEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %54)
  invoke void @_ZN10SimTKIpopt14CompoundMatrix7SetCompEiiRKNS_6MatrixE(ptr noundef nonnull align 8 dereferenceable(129) %629, i32 noundef 0, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(69) %635)
          to label %636 unwind label %758

636:                                              ; preds = %634
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %54) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %54) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %55) #8
  %637 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_8IpoptNLPEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %68)
  %638 = load ptr, ptr %637, align 8, !tbaa !5
  %639 = getelementptr inbounds i8, ptr %638, i64 136
  %640 = load ptr, ptr %639, align 8
  invoke void %640(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.26") align 8 %55, ptr noundef nonnull align 8 dereferenceable(24) %637)
          to label %641 unwind label %761

641:                                              ; preds = %636
  %642 = getelementptr inbounds i8, ptr %0, i64 200
  %643 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %642, ptr noundef nonnull align 8 dereferenceable(8) %55)
          to label %644 unwind label %763

644:                                              ; preds = %641
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %55) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %55) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %56) #8
  %645 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_8IpoptNLPEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %68)
  %646 = load ptr, ptr %645, align 8, !tbaa !5
  %647 = getelementptr inbounds i8, ptr %646, i64 152
  %648 = load ptr, ptr %647, align 8
  invoke void %648(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.26") align 8 %56, ptr noundef nonnull align 8 dereferenceable(24) %645)
          to label %649 unwind label %766

649:                                              ; preds = %644
  %650 = getelementptr inbounds i8, ptr %0, i64 216
  %651 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %650, ptr noundef nonnull align 8 dereferenceable(8) %56)
          to label %652 unwind label %768

652:                                              ; preds = %649
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %56) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %56) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %57) #8
  %653 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundVectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %84)
  %654 = load ptr, ptr %653, align 8, !tbaa !5
  %655 = getelementptr inbounds i8, ptr %654, i64 32
  %656 = load ptr, ptr %655, align 8
  %657 = invoke noundef ptr %656(ptr noundef nonnull align 8 dereferenceable(48) %653, i1 noundef zeroext true)
          to label %658 unwind label %771

658:                                              ; preds = %652
  call void @_ZN10SimTKIpopt8SmartPtrINS_14CompoundVectorEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8) %57, ptr noundef %657)
  br i1 %2, label %659, label %804

659:                                              ; preds = %658
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %58) #8
  %660 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14CompoundVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %57)
  invoke void @_ZN10SimTKIpopt14CompoundVector15GetCompNonConstEi(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.27") align 8 %58, ptr noundef nonnull align 8 dereferenceable(265) %660, i32 noundef 0)
          to label %661 unwind label %773

661:                                              ; preds = %659
  %662 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %58)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %59) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %60) #8
  %663 = getelementptr inbounds i8, ptr %0, i64 32
  %664 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_9IpoptDataEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %663)
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.32") align 8 %60, ptr noundef nonnull align 8 dereferenceable(864) %664)
          to label %665 unwind label %775

665:                                              ; preds = %661
  %666 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %60)
  invoke void @_ZNK10SimTKIpopt14IteratesVector1xEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.25") align 8 %59, ptr noundef nonnull align 8 dereferenceable(280) %666)
          to label %667 unwind label %777

667:                                              ; preds = %665
  %668 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %59)
  invoke void @_ZN10SimTKIpopt6Vector4CopyERKS0_(ptr noundef nonnull align 8 dereferenceable(205) %662, ptr noundef nonnull align 8 dereferenceable(205) %668)
          to label %669 unwind label %779

669:                                              ; preds = %667
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %59) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %60) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %60) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %59) #8
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %58) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %58) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %61) #8
  %670 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14CompoundVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %57)
  invoke void @_ZN10SimTKIpopt14CompoundVector15GetCompNonConstEi(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.27") align 8 %61, ptr noundef nonnull align 8 dereferenceable(265) %670, i32 noundef 1)
          to label %671 unwind label %784

671:                                              ; preds = %669
  %672 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %61)
  invoke void @_ZN10SimTKIpopt6Vector3SetEd(ptr noundef nonnull align 8 dereferenceable(205) %672, double noundef 1.000000e+00)
          to label %673 unwind label %786

673:                                              ; preds = %671
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %61) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %61) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %62) #8
  %674 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14CompoundVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %57)
  invoke void @_ZN10SimTKIpopt14CompoundVector15GetCompNonConstEi(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.27") align 8 %62, ptr noundef nonnull align 8 dereferenceable(265) %674, i32 noundef 2)
          to label %675 unwind label %789

675:                                              ; preds = %673
  %676 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %62)
  invoke void @_ZN10SimTKIpopt6Vector3SetEd(ptr noundef nonnull align 8 dereferenceable(205) %676, double noundef 1.000000e+00)
          to label %677 unwind label %791

677:                                              ; preds = %675
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %62) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %62) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %63) #8
  %678 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14CompoundVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %57)
  invoke void @_ZN10SimTKIpopt14CompoundVector15GetCompNonConstEi(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.27") align 8 %63, ptr noundef nonnull align 8 dereferenceable(265) %678, i32 noundef 3)
          to label %679 unwind label %794

679:                                              ; preds = %677
  %680 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %63)
  invoke void @_ZN10SimTKIpopt6Vector3SetEd(ptr noundef nonnull align 8 dereferenceable(205) %680, double noundef 1.000000e+00)
          to label %681 unwind label %796

681:                                              ; preds = %679
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %63) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %63) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %64) #8
  %682 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_14CompoundVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %57)
  invoke void @_ZN10SimTKIpopt14CompoundVector15GetCompNonConstEi(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.27") align 8 %64, ptr noundef nonnull align 8 dereferenceable(265) %682, i32 noundef 4)
          to label %683 unwind label %799

683:                                              ; preds = %681
  %684 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %64)
  invoke void @_ZN10SimTKIpopt6Vector3SetEd(ptr noundef nonnull align 8 dereferenceable(205) %684, double noundef 1.000000e+00)
          to label %685 unwind label %801

685:                                              ; preds = %683
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %64) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %64) #8
  br label %804

686:                                              ; preds = %535
  %687 = landingpad { ptr, i32 }
          cleanup
  br label %708

688:                                              ; preds = %536
  %689 = landingpad { ptr, i32 }
          cleanup
  br label %707

690:                                              ; preds = %539
  %691 = landingpad { ptr, i32 }
          cleanup
  br label %706

692:                                              ; preds = %540
  %693 = landingpad { ptr, i32 }
          cleanup
  br label %705

694:                                              ; preds = %541
  %695 = landingpad { ptr, i32 }
          cleanup
  br label %704

696:                                              ; preds = %543
  %697 = landingpad { ptr, i32 }
          cleanup
  br label %703

698:                                              ; preds = %545
  %699 = landingpad { ptr, i32 }
          cleanup
  br label %702

700:                                              ; preds = %547
  %701 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14SymMatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %44) #8
  br label %702

702:                                              ; preds = %700, %698
  %.pn86 = phi { ptr, i32 } [ %701, %700 ], [ %699, %698 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %43) #8
  br label %703

703:                                              ; preds = %702, %696
  %.pn86.pn = phi { ptr, i32 } [ %.pn86, %702 ], [ %697, %696 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %42) #8
  br label %704

704:                                              ; preds = %703, %694
  %.pn86.pn.pn = phi { ptr, i32 } [ %.pn86.pn, %703 ], [ %695, %694 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %41) #8
  br label %705

705:                                              ; preds = %704, %692
  %.pn86.pn.pn.pn = phi { ptr, i32 } [ %.pn86.pn.pn, %704 ], [ %693, %692 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %40) #8
  br label %706

706:                                              ; preds = %705, %690
  %.pn86.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn86.pn.pn.pn, %705 ], [ %691, %690 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %39) #8
  br label %707

707:                                              ; preds = %706, %688
  %.pn86.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn86.pn.pn.pn.pn, %706 ], [ %689, %688 ]
  call void @_ZN10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %38) #8
  br label %708

708:                                              ; preds = %707, %686
  %.pn86.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn86.pn.pn.pn.pn.pn, %707 ], [ %687, %686 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %38) #8
  br label %938

709:                                              ; preds = %625, %622, %611, %608, %557, %551
  %710 = landingpad { ptr, i32 }
          cleanup
  br label %938

711:                                              ; preds = %560
  %712 = landingpad { ptr, i32 }
          cleanup
  br label %715

713:                                              ; preds = %566
  %714 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %45) #8
  br label %715

715:                                              ; preds = %713, %711
  %.pn94 = phi { ptr, i32 } [ %714, %713 ], [ %712, %711 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %45) #8
  br label %938

716:                                              ; preds = %568
  %717 = landingpad { ptr, i32 }
          cleanup
  br label %720

718:                                              ; preds = %570
  %719 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %46) #8
  br label %720

720:                                              ; preds = %718, %716
  %.pn96 = phi { ptr, i32 } [ %719, %718 ], [ %717, %716 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %46) #8
  br label %938

721:                                              ; preds = %572
  %722 = landingpad { ptr, i32 }
          cleanup
  br label %725

723:                                              ; preds = %574
  %724 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %47) #8
  br label %725

725:                                              ; preds = %723, %721
  %.pn98 = phi { ptr, i32 } [ %724, %723 ], [ %722, %721 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %47) #8
  br label %938

726:                                              ; preds = %576
  %727 = landingpad { ptr, i32 }
          cleanup
  br label %730

728:                                              ; preds = %578
  %729 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %48) #8
  br label %730

730:                                              ; preds = %728, %726
  %.pn100 = phi { ptr, i32 } [ %729, %728 ], [ %727, %726 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %48) #8
  br label %938

731:                                              ; preds = %580
  %732 = landingpad { ptr, i32 }
          cleanup
  br label %735

733:                                              ; preds = %582
  %734 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %49) #8
  br label %735

735:                                              ; preds = %733, %731
  %.pn102 = phi { ptr, i32 } [ %734, %733 ], [ %732, %731 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %49) #8
  br label %938

736:                                              ; preds = %584
  %737 = landingpad { ptr, i32 }
          cleanup
  br label %740

738:                                              ; preds = %589
  %739 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %50) #8
  br label %740

740:                                              ; preds = %738, %736
  %.pn104 = phi { ptr, i32 } [ %739, %738 ], [ %737, %736 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %50) #8
  br label %938

741:                                              ; preds = %592
  %742 = landingpad { ptr, i32 }
          cleanup
  br label %745

743:                                              ; preds = %597
  %744 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %51) #8
  br label %745

745:                                              ; preds = %743, %741
  %.pn106 = phi { ptr, i32 } [ %744, %743 ], [ %742, %741 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %51) #8
  br label %938

746:                                              ; preds = %600
  %747 = landingpad { ptr, i32 }
          cleanup
  br label %750

748:                                              ; preds = %605
  %749 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %52) #8
  br label %750

750:                                              ; preds = %748, %746
  %.pn108 = phi { ptr, i32 } [ %749, %748 ], [ %747, %746 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %52) #8
  br label %938

751:                                              ; preds = %614
  %752 = landingpad { ptr, i32 }
          cleanup
  br label %755

753:                                              ; preds = %620
  %754 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %53) #8
  br label %755

755:                                              ; preds = %753, %751
  %.pn110 = phi { ptr, i32 } [ %754, %753 ], [ %752, %751 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %53) #8
  br label %938

756:                                              ; preds = %628
  %757 = landingpad { ptr, i32 }
          cleanup
  br label %760

758:                                              ; preds = %634
  %759 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %54) #8
  br label %760

760:                                              ; preds = %758, %756
  %.pn112 = phi { ptr, i32 } [ %759, %758 ], [ %757, %756 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %54) #8
  br label %938

761:                                              ; preds = %636
  %762 = landingpad { ptr, i32 }
          cleanup
  br label %765

763:                                              ; preds = %641
  %764 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %55) #8
  br label %765

765:                                              ; preds = %763, %761
  %.pn114 = phi { ptr, i32 } [ %764, %763 ], [ %762, %761 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %55) #8
  br label %938

766:                                              ; preds = %644
  %767 = landingpad { ptr, i32 }
          cleanup
  br label %770

768:                                              ; preds = %649
  %769 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6MatrixEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %56) #8
  br label %770

770:                                              ; preds = %768, %766
  %.pn116 = phi { ptr, i32 } [ %769, %768 ], [ %767, %766 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %56) #8
  br label %938

771:                                              ; preds = %652
  %772 = landingpad { ptr, i32 }
          cleanup
  br label %937

773:                                              ; preds = %659
  %774 = landingpad { ptr, i32 }
          cleanup
  br label %783

775:                                              ; preds = %661
  %776 = landingpad { ptr, i32 }
          cleanup
  br label %782

777:                                              ; preds = %665
  %778 = landingpad { ptr, i32 }
          cleanup
  br label %781

779:                                              ; preds = %667
  %780 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %59) #8
  br label %781

781:                                              ; preds = %779, %777
  %.pn118 = phi { ptr, i32 } [ %780, %779 ], [ %778, %777 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %60) #8
  br label %782

782:                                              ; preds = %781, %775
  %.pn118.pn = phi { ptr, i32 } [ %.pn118, %781 ], [ %776, %775 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %60) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %59) #8
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %58) #8
  br label %783

783:                                              ; preds = %782, %773
  %.pn118.pn.pn = phi { ptr, i32 } [ %.pn118.pn, %782 ], [ %774, %773 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %58) #8
  br label %936

784:                                              ; preds = %669
  %785 = landingpad { ptr, i32 }
          cleanup
  br label %788

786:                                              ; preds = %671
  %787 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %61) #8
  br label %788

788:                                              ; preds = %786, %784
  %.pn122 = phi { ptr, i32 } [ %787, %786 ], [ %785, %784 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %61) #8
  br label %936

789:                                              ; preds = %673
  %790 = landingpad { ptr, i32 }
          cleanup
  br label %793

791:                                              ; preds = %675
  %792 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %62) #8
  br label %793

793:                                              ; preds = %791, %789
  %.pn124 = phi { ptr, i32 } [ %792, %791 ], [ %790, %789 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %62) #8
  br label %936

794:                                              ; preds = %677
  %795 = landingpad { ptr, i32 }
          cleanup
  br label %798

796:                                              ; preds = %679
  %797 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %63) #8
  br label %798

798:                                              ; preds = %796, %794
  %.pn126 = phi { ptr, i32 } [ %797, %796 ], [ %795, %794 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %63) #8
  br label %936

799:                                              ; preds = %681
  %800 = landingpad { ptr, i32 }
          cleanup
  br label %803

801:                                              ; preds = %683
  %802 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %64) #8
  br label %803

803:                                              ; preds = %801, %799
  %.pn128 = phi { ptr, i32 } [ %802, %801 ], [ %800, %799 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %64) #8
  br label %936

804:                                              ; preds = %685, %658
  %805 = call noundef ptr @_ZN10SimTKIpopt9GetRawPtrINS_14CompoundVectorEEEPT_RKNS_8SmartPtrIS2_EE(ptr noundef nonnull align 8 dereferenceable(8) %57)
  %806 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %1, ptr noundef %805)
          to label %807 unwind label %818

807:                                              ; preds = %804
  %808 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %117)
  %809 = load ptr, ptr %808, align 8, !tbaa !5
  %810 = getelementptr inbounds i8, ptr %809, i64 16
  %811 = load ptr, ptr %810, align 8
  %812 = invoke noundef ptr %811(ptr noundef nonnull align 8 dereferenceable(16) %808)
          to label %813 unwind label %818

813:                                              ; preds = %807
  %814 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %3, ptr noundef %812)
          to label %815 unwind label %818

815:                                              ; preds = %813
  br i1 %4, label %816, label %820

816:                                              ; preds = %815
  %817 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %3)
  invoke void @_ZN10SimTKIpopt6Vector3SetEd(ptr noundef nonnull align 8 dereferenceable(205) %817, double noundef 0.000000e+00)
          to label %820 unwind label %818

818:                                              ; preds = %895, %892, %886, %875, %869, %867, %861, %859, %853, %851, %848, %842, %840, %837, %831, %829, %826, %820, %816, %813, %807, %804
  %819 = landingpad { ptr, i32 }
          cleanup
  br label %936

820:                                              ; preds = %816, %815
  %821 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %120)
  %822 = load ptr, ptr %821, align 8, !tbaa !5
  %823 = getelementptr inbounds i8, ptr %822, i64 16
  %824 = load ptr, ptr %823, align 8
  %825 = invoke noundef ptr %824(ptr noundef nonnull align 8 dereferenceable(16) %821)
          to label %826 unwind label %818

826:                                              ; preds = %820
  %827 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %5, ptr noundef %825)
          to label %828 unwind label %818

828:                                              ; preds = %826
  br i1 %6, label %829, label %831

829:                                              ; preds = %828
  %830 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %5)
  invoke void @_ZN10SimTKIpopt6Vector3SetEd(ptr noundef nonnull align 8 dereferenceable(205) %830, double noundef 0.000000e+00)
          to label %831 unwind label %818

831:                                              ; preds = %829, %828
  %832 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundVectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %133)
  %833 = load ptr, ptr %832, align 8, !tbaa !5
  %834 = getelementptr inbounds i8, ptr %833, i64 16
  %835 = load ptr, ptr %834, align 8
  %836 = invoke noundef ptr %835(ptr noundef nonnull align 8 dereferenceable(48) %832)
          to label %837 unwind label %818

837:                                              ; preds = %831
  %838 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %7, ptr noundef %836)
          to label %839 unwind label %818

839:                                              ; preds = %837
  br i1 %8, label %840, label %842

840:                                              ; preds = %839
  %841 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %7)
  invoke void @_ZN10SimTKIpopt6Vector3SetEd(ptr noundef nonnull align 8 dereferenceable(205) %841, double noundef 1.000000e+00)
          to label %842 unwind label %818

842:                                              ; preds = %840, %839
  %843 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %166)
  %844 = load ptr, ptr %843, align 8, !tbaa !5
  %845 = getelementptr inbounds i8, ptr %844, i64 16
  %846 = load ptr, ptr %845, align 8
  %847 = invoke noundef ptr %846(ptr noundef nonnull align 8 dereferenceable(16) %843)
          to label %848 unwind label %818

848:                                              ; preds = %842
  %849 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %9, ptr noundef %847)
          to label %850 unwind label %818

850:                                              ; preds = %848
  br i1 %10, label %851, label %853

851:                                              ; preds = %850
  %852 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %9)
  invoke void @_ZN10SimTKIpopt6Vector3SetEd(ptr noundef nonnull align 8 dereferenceable(205) %852, double noundef 1.000000e+00)
          to label %853 unwind label %818

853:                                              ; preds = %851, %850
  %854 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %298)
  %855 = load ptr, ptr %854, align 8, !tbaa !5
  %856 = getelementptr inbounds i8, ptr %855, i64 16
  %857 = load ptr, ptr %856, align 8
  %858 = invoke noundef ptr %857(ptr noundef nonnull align 8 dereferenceable(16) %854)
          to label %859 unwind label %818

859:                                              ; preds = %853
  %860 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %11, ptr noundef %858)
          to label %861 unwind label %818

861:                                              ; preds = %859
  %862 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %301)
  %863 = load ptr, ptr %862, align 8, !tbaa !5
  %864 = getelementptr inbounds i8, ptr %863, i64 16
  %865 = load ptr, ptr %864, align 8
  %866 = invoke noundef ptr %865(ptr noundef nonnull align 8 dereferenceable(16) %862)
          to label %867 unwind label %818

867:                                              ; preds = %861
  %868 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %12, ptr noundef %866)
          to label %869 unwind label %818

869:                                              ; preds = %867
  %870 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %14)
  %871 = load ptr, ptr %870, align 8, !tbaa !5
  %872 = getelementptr inbounds i8, ptr %871, i64 16
  %873 = load ptr, ptr %872, align 8
  %874 = invoke noundef ptr %873(ptr noundef nonnull align 8 dereferenceable(16) %870)
          to label %875 unwind label %818

875:                                              ; preds = %869
  %876 = getelementptr inbounds i8, ptr %0, i64 264
  %877 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %876, ptr noundef %874)
          to label %878 unwind label %818

878:                                              ; preds = %875
  %879 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %876)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %65) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %66) #8
  %880 = getelementptr inbounds i8, ptr %0, i64 32
  %881 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_9IpoptDataEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %880)
  invoke void @_ZNK10SimTKIpopt9IpoptData4currEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.32") align 8 %66, ptr noundef nonnull align 8 dereferenceable(864) %881)
          to label %882 unwind label %923

882:                                              ; preds = %878
  %883 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %66)
  invoke void @_ZNK10SimTKIpopt14IteratesVector1xEv(ptr dead_on_unwind nonnull writable sret(%"class.SimTKIpopt::SmartPtr.25") align 8 %65, ptr noundef nonnull align 8 dereferenceable(280) %883)
          to label %884 unwind label %925

884:                                              ; preds = %882
  %885 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %65)
  invoke void @_ZN10SimTKIpopt6Vector4CopyERKS0_(ptr noundef nonnull align 8 dereferenceable(205) %879, ptr noundef nonnull align 8 dereferenceable(205) %885)
          to label %886 unwind label %927

886:                                              ; preds = %884
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %65) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %66) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %66) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %65) #8
  %887 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %14)
  %888 = load ptr, ptr %887, align 8, !tbaa !5
  %889 = getelementptr inbounds i8, ptr %888, i64 16
  %890 = load ptr, ptr %889, align 8
  %891 = invoke noundef ptr %890(ptr noundef nonnull align 8 dereferenceable(16) %887)
          to label %892 unwind label %818

892:                                              ; preds = %886
  %893 = getelementptr inbounds i8, ptr %0, i64 248
  %894 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %893, ptr noundef %891)
          to label %895 unwind label %818

895:                                              ; preds = %892
  %896 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %893)
  invoke void @_ZN10SimTKIpopt6Vector3SetEd(ptr noundef nonnull align 8 dereferenceable(205) %896, double noundef 1.000000e+00)
          to label %897 unwind label %818

897:                                              ; preds = %895
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %67) #8
  %898 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %893)
  %899 = invoke noundef ptr @_ZNK10SimTKIpopt6Vector7MakeNewEv(ptr noundef nonnull align 8 dereferenceable(205) %898)
          to label %900 unwind label %931

900:                                              ; preds = %897
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8) %67, ptr noundef %899)
  %901 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %67)
  %902 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %876)
  invoke void @_ZN10SimTKIpopt6Vector4CopyERKS0_(ptr noundef nonnull align 8 dereferenceable(205) %901, ptr noundef nonnull align 8 dereferenceable(205) %902)
          to label %903 unwind label %933

903:                                              ; preds = %900
  %904 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %893)
  %905 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %67)
  invoke void @_ZN10SimTKIpopt6Vector14ElementWiseMaxERKS0_(ptr noundef nonnull align 8 dereferenceable(205) %904, ptr noundef nonnull align 8 dereferenceable(205) %905)
          to label %906 unwind label %933

906:                                              ; preds = %903
  %907 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %67)
  invoke void @_ZN10SimTKIpopt6Vector4ScalEd(ptr noundef nonnull align 8 dereferenceable(205) %907, double noundef -1.000000e+00)
          to label %908 unwind label %933

908:                                              ; preds = %906
  %909 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %893)
  %910 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %67)
  invoke void @_ZN10SimTKIpopt6Vector14ElementWiseMaxERKS0_(ptr noundef nonnull align 8 dereferenceable(205) %909, ptr noundef nonnull align 8 dereferenceable(205) %910)
          to label %911 unwind label %933

911:                                              ; preds = %908
  %912 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %893)
  invoke void @_ZN10SimTKIpopt6Vector21ElementWiseReciprocalEv(ptr noundef nonnull align 8 dereferenceable(205) %912)
          to label %913 unwind label %933

913:                                              ; preds = %911
  %914 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_15DiagMatrixSpaceEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %30)
  %915 = invoke noundef ptr @_ZNK10SimTKIpopt15DiagMatrixSpace17MakeNewDiagMatrixEv(ptr noundef nonnull align 8 dereferenceable(20) %914)
          to label %916 unwind label %933

916:                                              ; preds = %913
  %917 = getelementptr inbounds i8, ptr %0, i64 256
  %918 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN10SimTKIpopt8SmartPtrINS_10DiagMatrixEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %917, ptr noundef %915)
          to label %919 unwind label %933

919:                                              ; preds = %916
  %920 = call noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_10DiagMatrixEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %917)
  %921 = call noundef nonnull align 8 dereferenceable(205) ptr @_ZNK10SimTKIpopt8SmartPtrINS_6VectorEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %893)
  invoke void @_ZN10SimTKIpopt10DiagMatrix7SetDiagERKNS_6VectorE(ptr noundef nonnull align 8 dereferenceable(88) %920, ptr noundef nonnull align 8 dereferenceable(205) %921)
          to label %922 unwind label %933

922:                                              ; preds = %919
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %67) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %67) #8
  call void @_ZN10SimTKIpopt8SmartPtrINS_14CompoundVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %57) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %57) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14SymMatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %37) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %37) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %36) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %36) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %35) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %35) #8
  call void @_ZN10SimTKIpopt8SmartPtrINS_15DiagMatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %30) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %29) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %29) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %28) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %28) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14SymMatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %27) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %27) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %26) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %26) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %25) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %24) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %23) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %23) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %22) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %22) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %21) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %21) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %20) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %20) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %19) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %19) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %18) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %17) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %16) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %15) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %14) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) #8
  ret i1 true

923:                                              ; preds = %878
  %924 = landingpad { ptr, i32 }
          cleanup
  br label %930

925:                                              ; preds = %882
  %926 = landingpad { ptr, i32 }
          cleanup
  br label %929

927:                                              ; preds = %884
  %928 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %65) #8
  br label %929

929:                                              ; preds = %927, %925
  %.pn130 = phi { ptr, i32 } [ %928, %927 ], [ %926, %925 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14IteratesVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %66) #8
  br label %930

930:                                              ; preds = %929, %923
  %.pn130.pn = phi { ptr, i32 } [ %.pn130, %929 ], [ %924, %923 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %66) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %65) #8
  br label %936

931:                                              ; preds = %897
  %932 = landingpad { ptr, i32 }
          cleanup
  br label %935

933:                                              ; preds = %919, %916, %913, %911, %908, %906, %903, %900
  %934 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %67) #8
  br label %935

935:                                              ; preds = %933, %931
  %.pn133 = phi { ptr, i32 } [ %934, %933 ], [ %932, %931 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %67) #8
  br label %936

936:                                              ; preds = %935, %930, %818, %803, %798, %793, %788, %783
  %.pn133.pn = phi { ptr, i32 } [ %.pn133, %935 ], [ %819, %818 ], [ %.pn130.pn, %930 ], [ %.pn128, %803 ], [ %.pn126, %798 ], [ %.pn124, %793 ], [ %.pn122, %788 ], [ %.pn118.pn.pn, %783 ]
  call void @_ZN10SimTKIpopt8SmartPtrINS_14CompoundVectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %57) #8
  br label %937

937:                                              ; preds = %936, %771
  %.pn133.pn.pn = phi { ptr, i32 } [ %.pn133.pn, %936 ], [ %772, %771 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %57) #8
  br label %938

938:                                              ; preds = %937, %770, %765, %760, %755, %750, %745, %740, %735, %730, %725, %720, %715, %709, %708
  %.pn133.pn.pn.pn = phi { ptr, i32 } [ %.pn133.pn.pn, %937 ], [ %.pn116, %770 ], [ %.pn114, %765 ], [ %.pn112, %760 ], [ %710, %709 ], [ %.pn110, %755 ], [ %.pn108, %750 ], [ %.pn106, %745 ], [ %.pn104, %740 ], [ %.pn102, %735 ], [ %.pn100, %730 ], [ %.pn98, %725 ], [ %.pn96, %720 ], [ %.pn94, %715 ], [ %.pn86.pn.pn.pn.pn.pn.pn, %708 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14SymMatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %37) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %37) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %36) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %36) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %35) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %35) #8
  br label %939

939:                                              ; preds = %938, %534, %511
  %.pn133.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn133.pn.pn.pn, %938 ], [ %.pn84, %511 ], [ %.pn, %534 ]
  call void @_ZN10SimTKIpopt8SmartPtrINS_15DiagMatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %30) #8
  br label %940

940:                                              ; preds = %939, %487, %485
  %.pn133.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn133.pn.pn.pn.pn, %939 ], [ %486, %485 ], [ %488, %487 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30) #8
  br label %941

941:                                              ; preds = %940, %483, %481, %479, %477, %475
  %.pn133.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn133.pn.pn.pn.pn.pn, %940 ], [ %476, %475 ], [ %484, %483 ], [ %482, %481 ], [ %480, %479 ], [ %478, %477 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %29) #8
  br label %942

942:                                              ; preds = %941, %473, %471
  %.pn133.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn133.pn.pn.pn.pn.pn.pn, %941 ], [ %472, %471 ], [ %474, %473 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %29) #8
  br label %943

943:                                              ; preds = %942, %469
  %.pn133.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn133.pn.pn.pn.pn.pn.pn.pn, %942 ], [ %470, %469 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %28) #8
  br label %944

944:                                              ; preds = %943, %467, %465
  %.pn133.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn133.pn.pn.pn.pn.pn.pn.pn.pn, %943 ], [ %466, %465 ], [ %468, %467 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %28) #8
  br label %945

945:                                              ; preds = %455, %457, %459, %944, %463, %461, %453
  %.pn133.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %454, %453 ], [ %456, %455 ], [ %460, %459 ], [ %458, %457 ], [ %.pn133.pn.pn.pn.pn.pn.pn.pn.pn.pn, %944 ], [ %462, %461 ], [ %464, %463 ]
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_14SymMatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %27) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %27) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %26) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %26) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %25) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %24) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %23) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %23) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %22) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %22) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %21) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %21) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %20) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %20) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %19) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %19) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %18) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %17) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %16) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %15) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15) #8
  call void @_ZN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %14) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) #8
  resume { ptr, i32 } %.pn133.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn
}

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

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

; 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

declare void @_ZN10SimTKIpopt19CompoundVectorSpaceC1Eii(ptr noundef nonnull align 8 dereferenceable(48), i32 noundef, i32 noundef) unnamed_addr #5

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef ptr @_ZNK10SimTKIpopt8SmartPtrINS_19CompoundVectorSpaceEEptEv(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

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

declare void @_ZN10SimTKIpopt19CompoundMatrixSpaceC1Eiiii(ptr noundef nonnull align 8 dereferenceable(129), i32 noundef, i32 noundef, i32 noundef, i32 noundef) unnamed_addr #5

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

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

declare void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetBlockRowsEii(ptr noundef nonnull align 8 dereferenceable(129), i32 noundef, i32 noundef) local_unnamed_addr #5

declare void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetBlockColsEii(ptr noundef nonnull align 8 dereferenceable(129), i32 noundef, i32 noundef) local_unnamed_addr #5

declare void @_ZN10SimTKIpopt19CompoundMatrixSpace12SetCompSpaceEiiRKNS_11MatrixSpaceEb(ptr noundef nonnull align 8 dereferenceable(129), i32 noundef, i32 noundef, ptr noundef nonnull align 8 dereferenceable(20), i1 noundef zeroext) local_unnamed_addr #5

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

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

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

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

declare void @_ZN10SimTKIpopt22CompoundSymMatrixSpaceC1Eii(ptr noundef nonnull align 8 dereferenceable(97), i32 noundef, i32 noundef) unnamed_addr #5

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

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

declare void @_ZN10SimTKIpopt22CompoundSymMatrixSpace11SetBlockDimEii(ptr noundef nonnull align 8 dereferenceable(97), i32 noundef, i32 noundef) local_unnamed_addr #5

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

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

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

; Function Attrs: mustprogress nofree nounwind willreturn memory(read)
declare ptr @__dynamic_cast(ptr, ptr, ptr, i64) local_unnamed_addr #6

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef i32 @_ZNK10SimTKIpopt14SymMatrixSpace3DimEv(ptr noundef nonnull align 8 dereferenceable(20)) local_unnamed_addr #7 align 2

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

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

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

declare void @_ZN10SimTKIpopt22CompoundSymMatrixSpace12SetCompSpaceEiiRKNS_11MatrixSpaceEb(ptr noundef nonnull align 8 dereferenceable(97), i32 noundef, i32 noundef, ptr noundef nonnull align 8 dereferenceable(20), i1 noundef zeroext) local_unnamed_addr #5

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

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

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

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

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

declare void @_ZN10SimTKIpopt17SumSymMatrixSpace12SetTermSpaceEiRKNS_14SymMatrixSpaceE(ptr noundef nonnull align 8 dereferenceable(48), i32 noundef, ptr noundef nonnull align 8 dereferenceable(20)) local_unnamed_addr #5

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(20) ptr @_ZNK10SimTKIpopt8SmartPtrIKNS_14SymMatrixSpaceEEdeEv(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(20) ptr @_ZNK10SimTKIpopt8SmartPtrINS_15DiagMatrixSpaceEEdeEv(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(48) ptr @_ZNK10SimTKIpopt8SmartPtrINS_17SumSymMatrixSpaceEEdeEv(ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #2 align 2

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

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

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

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

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

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

declare void @_ZN10SimTKIpopt14CompoundVector7SetCompEiRKNS_6VectorE(ptr noundef nonnull align 8 dereferenceable(265), i32 noundef, ptr noundef nonnull align 8 dereferenceable(205)) local_unnamed_addr #5

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN10SimTKIpopt14CompoundVector15GetCompNonConstEi(ptr dead_on_unwind noalias writable sret(%"class.SimTKIpopt::SmartPtr.27") align 8, ptr noundef nonnull align 8 dereferenceable(265), i32 noundef) local_unnamed_addr #4 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

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

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

declare noundef ptr @_ZNK10SimTKIpopt19CompoundMatrixSpace21MakeNewCompoundMatrixEv(ptr noundef nonnull align 8 dereferenceable(129)) local_unnamed_addr #5

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

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

declare void @_ZN10SimTKIpopt14CompoundMatrix7SetCompEiiRKNS_6MatrixE(ptr noundef nonnull align 8 dereferenceable(129), i32 noundef, i32 noundef, ptr noundef nonnull align 8 dereferenceable(69)) 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 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 #4 align 2

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

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

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

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

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef ptr @_ZN10SimTKIpopt9GetRawPtrINS_14CompoundVectorEEEPT_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_6VectorEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) local_unnamed_addr #4 align 2

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN10SimTKIpopt6Vector21ElementWiseReciprocalEv(ptr noundef nonnull align 8 dereferenceable(205)) local_unnamed_addr #7 align 2

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN10SimTKIpopt10DiagMatrix7SetDiagERKNS_6VectorE(ptr noundef nonnull align 8 dereferenceable(88), ptr noundef nonnull align 8 dereferenceable(205)) local_unnamed_addr #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN10SimTKIpopt8SmartPtrINS_15DiagMatrixSpaceEED2Ev(ptr noundef nonnull align 8 dereferenceable(8)) 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 = { 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 #4 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { "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 = { mustprogress nofree nounwind willreturn memory(read) }
attributes #7 = { 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 #8 = { nounwind }
attributes #9 = { builtin allocsize(0) }
attributes #10 = { builtin nounwind }

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"vtable pointer", !7, i64 0}
!7 = !{!"Simple C++ TBAA"}
!8 = !{!9, !32, i64 276}
!9 = !{!"_ZTSN10SimTKIpopt13RestoIpoptNLPE", !10, i64 0, !16, i64 24, !17, i64 32, !18, i64 40, !19, i64 48, !20, i64 56, !20, i64 64, !19, i64 72, !21, i64 80, !20, i64 88, !21, i64 96, !20, i64 104, !22, i64 112, !20, i64 120, !22, i64 128, !21, i64 136, !21, i64 144, !23, i64 152, !24, i64 160, !25, i64 168, !26, i64 176, !25, i64 184, !26, i64 192, !27, i64 200, !26, i64 208, !27, i64 216, !28, i64 224, !28, i64 232, !28, i64 240, !29, i64 248, !30, i64 256, !29, i64 264, !31, i64 272, !32, i64 276, !31, i64 280, !12, i64 284, !12, i64 288, !12, i64 292, !12, i64 296, !12, i64 300, !12, i64 304, !12, i64 308}
!10 = !{!"_ZTSN10SimTKIpopt8IpoptNLPE", !11, i64 0, !14, i64 16}
!11 = !{!"_ZTSN10SimTKIpopt16ReferencedObjectE", !12, i64 8}
!12 = !{!"int", !13, i64 0}
!13 = !{!"omnipotent char", !7, i64 0}
!14 = !{!"_ZTSN10SimTKIpopt8SmartPtrINS_16NLPScalingObjectEEE", !15, i64 0}
!15 = !{!"any pointer", !13, i64 0}
!16 = !{!"_ZTSN10SimTKIpopt8SmartPtrINS_8IpoptNLPEEE", !15, i64 0}
!17 = !{!"_ZTSN10SimTKIpopt8SmartPtrINS_9IpoptDataEEE", !15, i64 0}
!18 = !{!"_ZTSN10SimTKIpopt8SmartPtrINS_25IpoptCalculatedQuantitiesEEE", !15, i64 0}
!19 = !{!"_ZTSN10SimTKIpopt8SmartPtrINS_19CompoundVectorSpaceEEE", !15, i64 0}
!20 = !{!"_ZTSN10SimTKIpopt8SmartPtrIKNS_11VectorSpaceEEE", !15, i64 0}
!21 = !{!"_ZTSN10SimTKIpopt8SmartPtrINS_19CompoundMatrixSpaceEEE", !15, i64 0}
!22 = !{!"_ZTSN10SimTKIpopt8SmartPtrIKNS_11MatrixSpaceEEE", !15, i64 0}
!23 = !{!"_ZTSN10SimTKIpopt8SmartPtrINS_22CompoundSymMatrixSpaceEEE", !15, i64 0}
!24 = !{!"_ZTSN10SimTKIpopt8SmartPtrINS_14CompoundVectorEEE", !15, i64 0}
!25 = !{!"_ZTSN10SimTKIpopt8SmartPtrINS_14CompoundMatrixEEE", !15, i64 0}
!26 = !{!"_ZTSN10SimTKIpopt8SmartPtrIKNS_6VectorEEE", !15, i64 0}
!27 = !{!"_ZTSN10SimTKIpopt8SmartPtrIKNS_6MatrixEEE", !15, i64 0}
!28 = !{!"double", !13, i64 0}
!29 = !{!"_ZTSN10SimTKIpopt8SmartPtrINS_6VectorEEE", !15, i64 0}
!30 = !{!"_ZTSN10SimTKIpopt8SmartPtrINS_10DiagMatrixEEE", !15, i64 0}
!31 = !{!"bool", !13, i64 0}
!32 = !{!"_ZTSN10SimTKIpopt24HessianApproximationTypeE", !13, i64 0}


; Effective O3 passes: CorrelatedValuePropagationPass,EarlyCSEPass,GlobalOptPass,InferFunctionAttrsPass,InstCombinePass,JumpThreadingPass,ReassociatePass,SROAPass,SimplifyCFGPass