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

; 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::IpoptCalculatedQuantities" = type <{ %"class.SimTKIpopt::ReferencedObject.base", [4 x i8], %"class.SimTKIpopt::SmartPtr.16", %"class.SimTKIpopt::SmartPtr.17", double, double, double, i32, i8, [3 x i8], %"class.SimTKIpopt::CachedResults.18", %"class.SimTKIpopt::CachedResults.18", %"class.SimTKIpopt::CachedResults.18", %"class.SimTKIpopt::CachedResults.18", %"class.SimTKIpopt::CachedResults.18", %"class.SimTKIpopt::CachedResults.18", %"class.SimTKIpopt::CachedResults.18", %"class.SimTKIpopt::CachedResults.18", i32, i32, i32, i32, %"class.SimTKIpopt::CachedResults", %"class.SimTKIpopt::CachedResults", %"class.SimTKIpopt::CachedResults.19", %"class.SimTKIpopt::CachedResults.19", %"class.SimTKIpopt::CachedResults", %"class.SimTKIpopt::CachedResults", %"class.SimTKIpopt::CachedResults.19", %"class.SimTKIpopt::CachedResults.19", %"class.SimTKIpopt::CachedResults.19", %"class.SimTKIpopt::CachedResults.19", %"class.SimTKIpopt::CachedResults.19", %"class.SimTKIpopt::CachedResults.19", %"class.SimTKIpopt::CachedResults.19", %"class.SimTKIpopt::CachedResults.19", %"class.SimTKIpopt::CachedResults.19", %"class.SimTKIpopt::CachedResults.19", %"class.SimTKIpopt::CachedResults.20", %"class.SimTKIpopt::CachedResults.20", %"class.SimTKIpopt::CachedResults.20", %"class.SimTKIpopt::CachedResults.20", %"class.SimTKIpopt::CachedResults.19", %"class.SimTKIpopt::CachedResults.19", %"class.SimTKIpopt::CachedResults.19", %"class.SimTKIpopt::CachedResults.19", %"class.SimTKIpopt::CachedResults.19", %"class.SimTKIpopt::CachedResults.19", %"class.SimTKIpopt::CachedResults", %"class.SimTKIpopt::CachedResults", %"class.SimTKIpopt::CachedResults", %"class.SimTKIpopt::CachedResults", %"class.SimTKIpopt::CachedResults.21", %"class.SimTKIpopt::CachedResults.19", %"class.SimTKIpopt::CachedResults.19", %"class.SimTKIpopt::CachedResults.19", %"class.SimTKIpopt::CachedResults.19", %"class.SimTKIpopt::CachedResults.19", %"class.SimTKIpopt::CachedResults.19", %"class.SimTKIpopt::CachedResults.19", %"class.SimTKIpopt::CachedResults.19", %"class.SimTKIpopt::CachedResults.19", %"class.SimTKIpopt::CachedResults.19", %"class.SimTKIpopt::CachedResults.19", %"class.SimTKIpopt::CachedResults.19", %"class.SimTKIpopt::CachedResults.19", %"class.SimTKIpopt::CachedResults.19", %"class.SimTKIpopt::CachedResults.19", %"class.SimTKIpopt::CachedResults.19", %"class.SimTKIpopt::CachedResults.19", %"class.SimTKIpopt::CachedResults.19", %"class.SimTKIpopt::CachedResults", %"class.SimTKIpopt::CachedResults", %"class.SimTKIpopt::CachedResults", %"class.SimTKIpopt::CachedResults", %"class.SimTKIpopt::CachedResults", %"class.SimTKIpopt::CachedResults", %"class.SimTKIpopt::CachedResults", %"class.SimTKIpopt::CachedResults", %"class.SimTKIpopt::CachedResults", %"class.SimTKIpopt::CachedResults", %"class.SimTKIpopt::CachedResults", %"class.SimTKIpopt::CachedResults", %"class.SimTKIpopt::CachedResults", %"class.SimTKIpopt::CachedResults", %"class.SimTKIpopt::CachedResults", %"class.SimTKIpopt::CachedResults.19", %"class.SimTKIpopt::CachedResults.19", %"class.SimTKIpopt::CachedResults", %"class.SimTKIpopt::CachedResults", %"class.SimTKIpopt::CachedResults", %"class.SimTKIpopt::SmartPtr.22", %"class.SimTKIpopt::SmartPtr.22", %"class.SimTKIpopt::SmartPtr.22", %"class.SimTKIpopt::SmartPtr.22", %"class.SimTKIpopt::SmartPtr.22", %"class.SimTKIpopt::SmartPtr.22", %"class.SimTKIpopt::SmartPtr.22", %"class.SimTKIpopt::SmartPtr.22", %"class.SimTKIpopt::SmartPtr.22", %"class.SimTKIpopt::SmartPtr.22", %"class.SimTKIpopt::SmartPtr.22", %"class.SimTKIpopt::SmartPtr.22", i8, [7 x i8] }>
%"class.SimTKIpopt::ReferencedObject.base" = type <{ ptr, i32 }>
%"class.SimTKIpopt::SmartPtr.16" = type { ptr }
%"class.SimTKIpopt::SmartPtr.17" = type { ptr }
%"class.SimTKIpopt::CachedResults.18" = type { ptr, i32, ptr }
%"class.SimTKIpopt::CachedResults.20" = type { ptr, i32, ptr }
%"class.SimTKIpopt::CachedResults.21" = type { ptr, i32, ptr }
%"class.SimTKIpopt::CachedResults.19" = type { ptr, i32, ptr }
%"class.SimTKIpopt::CachedResults" = type { ptr, i32, ptr }
%"class.SimTKIpopt::SmartPtr.22" = type { ptr }

@_ZTVN10SimTKIpopt25IpoptCalculatedQuantitiesE = external dso_local unnamed_addr constant { [4 x ptr] }, align 8

declare i32 @__gxx_personality_v0(...)

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN10SimTKIpopt25IpoptCalculatedQuantitiesC2ERKNS_8SmartPtrINS_8IpoptNLPEEERKNS1_INS_9IpoptDataEEE(ptr noundef nonnull align 8 dereferenceable(2025) %0, ptr noundef nonnull align 8 dereferenceable(8) %1, ptr noundef nonnull align 8 dereferenceable(8) %2) unnamed_addr #1 align 2 personality ptr @__gxx_personality_v0 {
  %4 = alloca ptr, align 8
  %5 = alloca ptr, align 8
  %6 = alloca ptr, align 8
  %7 = alloca ptr, align 8
  %8 = alloca i32, align 4
  store ptr %0, ptr %4, align 8, !tbaa !5
  store ptr %1, ptr %5, align 8, !tbaa !5
  store ptr %2, ptr %6, align 8, !tbaa !5
  %9 = load ptr, ptr %4, align 8
  call void @_ZN10SimTKIpopt16ReferencedObjectC2Ev(ptr noundef nonnull align 8 dereferenceable(12) %9)
  store ptr getelementptr inbounds inrange(-16, 16) ({ [4 x ptr] }, ptr @_ZTVN10SimTKIpopt25IpoptCalculatedQuantitiesE, i32 0, i32 0, i32 2), ptr %9, align 8, !tbaa !9
  %10 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 2
  %11 = load ptr, ptr %5, align 8, !tbaa !5
  invoke void @_ZN10SimTKIpopt8SmartPtrINS_8IpoptNLPEEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(8) %10, ptr noundef nonnull align 8 dereferenceable(8) %11)
          to label %12 unwind label %199

12:                                               ; preds = %3
  %13 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 3
  %14 = load ptr, ptr %6, align 8, !tbaa !5
  invoke void @_ZN10SimTKIpopt8SmartPtrINS_9IpoptDataEEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(8) %13, ptr noundef nonnull align 8 dereferenceable(8) %14)
          to label %15 unwind label %203

15:                                               ; preds = %12
  %16 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 10
  invoke void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrINS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %16, i32 noundef 1)
          to label %17 unwind label %207

17:                                               ; preds = %15
  %18 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 11
  invoke void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrINS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %18, i32 noundef 1)
          to label %19 unwind label %211

19:                                               ; preds = %17
  %20 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 12
  invoke void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrINS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %20, i32 noundef 1)
          to label %21 unwind label %215

21:                                               ; preds = %19
  %22 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 13
  invoke void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrINS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %22, i32 noundef 1)
          to label %23 unwind label %219

23:                                               ; preds = %21
  %24 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 14
  invoke void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrINS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %24, i32 noundef 1)
          to label %25 unwind label %223

25:                                               ; preds = %23
  %26 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 15
  invoke void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrINS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %26, i32 noundef 1)
          to label %27 unwind label %227

27:                                               ; preds = %25
  %28 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 16
  invoke void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrINS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %28, i32 noundef 1)
          to label %29 unwind label %231

29:                                               ; preds = %27
  %30 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 17
  invoke void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrINS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %30, i32 noundef 1)
          to label %31 unwind label %235

31:                                               ; preds = %29
  %32 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 18
  store i32 0, ptr %32, align 8, !tbaa !11
  %33 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 19
  store i32 0, ptr %33, align 4, !tbaa !26
  %34 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 20
  store i32 0, ptr %34, align 8, !tbaa !27
  %35 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 21
  store i32 0, ptr %35, align 4, !tbaa !28
  %36 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 22
  invoke void @_ZN10SimTKIpopt13CachedResultsIdEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %36, i32 noundef 2)
          to label %37 unwind label %239

37:                                               ; preds = %31
  %38 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 23
  invoke void @_ZN10SimTKIpopt13CachedResultsIdEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %38, i32 noundef 5)
          to label %39 unwind label %243

39:                                               ; preds = %37
  %40 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 24
  invoke void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %40, i32 noundef 2)
          to label %41 unwind label %247

41:                                               ; preds = %39
  %42 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 25
  invoke void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %42, i32 noundef 1)
          to label %43 unwind label %251

43:                                               ; preds = %41
  %44 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 26
  invoke void @_ZN10SimTKIpopt13CachedResultsIdEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %44, i32 noundef 2)
          to label %45 unwind label %255

45:                                               ; preds = %43
  %46 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 27
  invoke void @_ZN10SimTKIpopt13CachedResultsIdEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %46, i32 noundef 5)
          to label %47 unwind label %259

47:                                               ; preds = %45
  %48 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 28
  invoke void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %48, i32 noundef 1)
          to label %49 unwind label %263

49:                                               ; preds = %47
  %50 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 29
  invoke void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %50, i32 noundef 1)
          to label %51 unwind label %267

51:                                               ; preds = %49
  %52 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 30
  invoke void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %52, i32 noundef 1)
          to label %53 unwind label %271

53:                                               ; preds = %51
  %54 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 31
  invoke void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %54, i32 noundef 1)
          to label %55 unwind label %275

55:                                               ; preds = %53
  %56 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 32
  invoke void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %56, i32 noundef 1)
          to label %57 unwind label %279

57:                                               ; preds = %55
  %58 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 33
  invoke void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %58, i32 noundef 2)
          to label %59 unwind label %283

59:                                               ; preds = %57
  %60 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 34
  invoke void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %60, i32 noundef 1)
          to label %61 unwind label %287

61:                                               ; preds = %59
  %62 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 35
  invoke void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %62, i32 noundef 2)
          to label %63 unwind label %291

63:                                               ; preds = %61
  %64 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 36
  invoke void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %64, i32 noundef 1)
          to label %65 unwind label %295

65:                                               ; preds = %63
  %66 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 37
  invoke void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %66, i32 noundef 1)
          to label %67 unwind label %299

67:                                               ; preds = %65
  %68 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 38
  invoke void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6MatrixEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %68, i32 noundef 1)
          to label %69 unwind label %303

69:                                               ; preds = %67
  %70 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 39
  invoke void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6MatrixEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %70, i32 noundef 1)
          to label %71 unwind label %307

71:                                               ; preds = %69
  %72 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 40
  invoke void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6MatrixEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %72, i32 noundef 1)
          to label %73 unwind label %311

73:                                               ; preds = %71
  %74 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 41
  invoke void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6MatrixEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %74, i32 noundef 1)
          to label %75 unwind label %315

75:                                               ; preds = %73
  %76 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 42
  invoke void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %76, i32 noundef 2)
          to label %77 unwind label %319

77:                                               ; preds = %75
  %78 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 43
  invoke void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %78, i32 noundef 1)
          to label %79 unwind label %323

79:                                               ; preds = %77
  %80 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 44
  invoke void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %80, i32 noundef 2)
          to label %81 unwind label %327

81:                                               ; preds = %79
  %82 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 45
  invoke void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %82, i32 noundef 1)
          to label %83 unwind label %331

83:                                               ; preds = %81
  %84 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 46
  invoke void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %84, i32 noundef 1)
          to label %85 unwind label %335

85:                                               ; preds = %83
  %86 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 47
  invoke void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %86, i32 noundef 1)
          to label %87 unwind label %339

87:                                               ; preds = %85
  %88 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 48
  invoke void @_ZN10SimTKIpopt13CachedResultsIdEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %88, i32 noundef 2)
          to label %89 unwind label %343

89:                                               ; preds = %87
  %90 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 49
  invoke void @_ZN10SimTKIpopt13CachedResultsIdEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %90, i32 noundef 5)
          to label %91 unwind label %347

91:                                               ; preds = %89
  %92 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 50
  invoke void @_ZN10SimTKIpopt13CachedResultsIdEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %92, i32 noundef 3)
          to label %93 unwind label %351

93:                                               ; preds = %91
  %94 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 51
  invoke void @_ZN10SimTKIpopt13CachedResultsIdEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %94, i32 noundef 3)
          to label %95 unwind label %355

95:                                               ; preds = %93
  %96 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 52
  invoke void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_9SymMatrixEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %96, i32 noundef 1)
          to label %97 unwind label %359

97:                                               ; preds = %95
  %98 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 53
  invoke void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %98, i32 noundef 1)
          to label %99 unwind label %363

99:                                               ; preds = %97
  %100 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 54
  invoke void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %100, i32 noundef 1)
          to label %101 unwind label %367

101:                                              ; preds = %99
  %102 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 55
  invoke void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %102, i32 noundef 1)
          to label %103 unwind label %371

103:                                              ; preds = %101
  %104 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 56
  invoke void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %104, i32 noundef 1)
          to label %105 unwind label %375

105:                                              ; preds = %103
  %106 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 57
  invoke void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %106, i32 noundef 0)
          to label %107 unwind label %379

107:                                              ; preds = %105
  %108 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 58
  invoke void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %108, i32 noundef 0)
          to label %109 unwind label %383

109:                                              ; preds = %107
  %110 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 59
  invoke void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %110, i32 noundef 1)
          to label %111 unwind label %387

111:                                              ; preds = %109
  %112 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 60
  invoke void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %112, i32 noundef 1)
          to label %113 unwind label %391

113:                                              ; preds = %111
  %114 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 61
  invoke void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %114, i32 noundef 1)
          to label %115 unwind label %395

115:                                              ; preds = %113
  %116 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 62
  invoke void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %116, i32 noundef 1)
          to label %117 unwind label %399

117:                                              ; preds = %115
  %118 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 63
  invoke void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %118, i32 noundef 1)
          to label %119 unwind label %403

119:                                              ; preds = %117
  %120 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 64
  invoke void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %120, i32 noundef 1)
          to label %121 unwind label %407

121:                                              ; preds = %119
  %122 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 65
  invoke void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %122, i32 noundef 1)
          to label %123 unwind label %411

123:                                              ; preds = %121
  %124 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 66
  invoke void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %124, i32 noundef 1)
          to label %125 unwind label %415

125:                                              ; preds = %123
  %126 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 67
  invoke void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %126, i32 noundef 1)
          to label %127 unwind label %419

127:                                              ; preds = %125
  %128 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 68
  invoke void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %128, i32 noundef 1)
          to label %129 unwind label %423

129:                                              ; preds = %127
  %130 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 69
  invoke void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %130, i32 noundef 1)
          to label %131 unwind label %427

131:                                              ; preds = %129
  %132 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 70
  invoke void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %132, i32 noundef 1)
          to label %133 unwind label %431

133:                                              ; preds = %131
  %134 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 71
  invoke void @_ZN10SimTKIpopt13CachedResultsIdEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %134, i32 noundef 3)
          to label %135 unwind label %435

135:                                              ; preds = %133
  %136 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 72
  invoke void @_ZN10SimTKIpopt13CachedResultsIdEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %136, i32 noundef 3)
          to label %137 unwind label %439

137:                                              ; preds = %135
  %138 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 73
  invoke void @_ZN10SimTKIpopt13CachedResultsIdEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %138, i32 noundef 3)
          to label %139 unwind label %443

139:                                              ; preds = %137
  %140 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 74
  invoke void @_ZN10SimTKIpopt13CachedResultsIdEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %140, i32 noundef 3)
          to label %141 unwind label %447

141:                                              ; preds = %139
  %142 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 75
  invoke void @_ZN10SimTKIpopt13CachedResultsIdEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %142, i32 noundef 3)
          to label %143 unwind label %451

143:                                              ; preds = %141
  %144 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 76
  invoke void @_ZN10SimTKIpopt13CachedResultsIdEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %144, i32 noundef 6)
          to label %145 unwind label %455

145:                                              ; preds = %143
  %146 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 77
  invoke void @_ZN10SimTKIpopt13CachedResultsIdEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %146, i32 noundef 6)
          to label %147 unwind label %459

147:                                              ; preds = %145
  %148 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 78
  invoke void @_ZN10SimTKIpopt13CachedResultsIdEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %148, i32 noundef 1)
          to label %149 unwind label %463

149:                                              ; preds = %147
  %150 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 79
  invoke void @_ZN10SimTKIpopt13CachedResultsIdEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %150, i32 noundef 1)
          to label %151 unwind label %467

151:                                              ; preds = %149
  %152 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 80
  invoke void @_ZN10SimTKIpopt13CachedResultsIdEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %152, i32 noundef 1)
          to label %153 unwind label %471

153:                                              ; preds = %151
  %154 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 81
  invoke void @_ZN10SimTKIpopt13CachedResultsIdEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %154, i32 noundef 1)
          to label %155 unwind label %475

155:                                              ; preds = %153
  %156 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 82
  invoke void @_ZN10SimTKIpopt13CachedResultsIdEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %156, i32 noundef 1)
          to label %157 unwind label %479

157:                                              ; preds = %155
  %158 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 83
  invoke void @_ZN10SimTKIpopt13CachedResultsIdEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %158, i32 noundef 3)
          to label %159 unwind label %483

159:                                              ; preds = %157
  %160 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 84
  invoke void @_ZN10SimTKIpopt13CachedResultsIdEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %160, i32 noundef 5)
          to label %161 unwind label %487

161:                                              ; preds = %159
  %162 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 85
  invoke void @_ZN10SimTKIpopt13CachedResultsIdEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %162, i32 noundef 5)
          to label %163 unwind label %491

163:                                              ; preds = %161
  %164 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 86
  invoke void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %164, i32 noundef 1)
          to label %165 unwind label %495

165:                                              ; preds = %163
  %166 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 87
  invoke void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %166, i32 noundef 1)
          to label %167 unwind label %499

167:                                              ; preds = %165
  %168 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 88
  invoke void @_ZN10SimTKIpopt13CachedResultsIdEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %168, i32 noundef 1)
          to label %169 unwind label %503

169:                                              ; preds = %167
  %170 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 89
  invoke void @_ZN10SimTKIpopt13CachedResultsIdEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %170, i32 noundef 1)
          to label %171 unwind label %507

171:                                              ; preds = %169
  %172 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 90
  invoke void @_ZN10SimTKIpopt13CachedResultsIdEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %172, i32 noundef 1)
          to label %173 unwind label %511

173:                                              ; preds = %171
  %174 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 91
  invoke void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8) %174, ptr noundef null)
          to label %175 unwind label %515

175:                                              ; preds = %173
  %176 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 92
  invoke void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8) %176, ptr noundef null)
          to label %177 unwind label %519

177:                                              ; preds = %175
  %178 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 93
  invoke void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8) %178, ptr noundef null)
          to label %179 unwind label %523

179:                                              ; preds = %177
  %180 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 94
  invoke void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8) %180, ptr noundef null)
          to label %181 unwind label %527

181:                                              ; preds = %179
  %182 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 95
  invoke void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %182)
          to label %183 unwind label %531

183:                                              ; preds = %181
  %184 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 96
  invoke void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %184)
          to label %185 unwind label %535

185:                                              ; preds = %183
  %186 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 97
  invoke void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %186)
          to label %187 unwind label %539

187:                                              ; preds = %185
  %188 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 98
  invoke void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %188)
          to label %189 unwind label %543

189:                                              ; preds = %187
  %190 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 99
  invoke void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %190)
          to label %191 unwind label %547

191:                                              ; preds = %189
  %192 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 100
  invoke void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %192)
          to label %193 unwind label %551

193:                                              ; preds = %191
  %194 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 101
  invoke void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %194)
          to label %195 unwind label %555

195:                                              ; preds = %193
  %196 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 102
  invoke void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %196)
          to label %197 unwind label %559

197:                                              ; preds = %195
  %198 = getelementptr inbounds %"class.SimTKIpopt::IpoptCalculatedQuantities", ptr %9, i32 0, i32 103
  store i8 0, ptr %198, align 8, !tbaa !29
  ret void

199:                                              ; preds = %3
  %200 = landingpad { ptr, i32 }
          cleanup
  %201 = extractvalue { ptr, i32 } %200, 0
  store ptr %201, ptr %7, align 8
  %202 = extractvalue { ptr, i32 } %200, 1
  store i32 %202, ptr %8, align 4
  br label %652

203:                                              ; preds = %12
  %204 = landingpad { ptr, i32 }
          cleanup
  %205 = extractvalue { ptr, i32 } %204, 0
  store ptr %205, ptr %7, align 8
  %206 = extractvalue { ptr, i32 } %204, 1
  store i32 %206, ptr %8, align 4
  br label %651

207:                                              ; preds = %15
  %208 = landingpad { ptr, i32 }
          cleanup
  %209 = extractvalue { ptr, i32 } %208, 0
  store ptr %209, ptr %7, align 8
  %210 = extractvalue { ptr, i32 } %208, 1
  store i32 %210, ptr %8, align 4
  br label %650

211:                                              ; preds = %17
  %212 = landingpad { ptr, i32 }
          cleanup
  %213 = extractvalue { ptr, i32 } %212, 0
  store ptr %213, ptr %7, align 8
  %214 = extractvalue { ptr, i32 } %212, 1
  store i32 %214, ptr %8, align 4
  br label %649

215:                                              ; preds = %19
  %216 = landingpad { ptr, i32 }
          cleanup
  %217 = extractvalue { ptr, i32 } %216, 0
  store ptr %217, ptr %7, align 8
  %218 = extractvalue { ptr, i32 } %216, 1
  store i32 %218, ptr %8, align 4
  br label %648

219:                                              ; preds = %21
  %220 = landingpad { ptr, i32 }
          cleanup
  %221 = extractvalue { ptr, i32 } %220, 0
  store ptr %221, ptr %7, align 8
  %222 = extractvalue { ptr, i32 } %220, 1
  store i32 %222, ptr %8, align 4
  br label %647

223:                                              ; preds = %23
  %224 = landingpad { ptr, i32 }
          cleanup
  %225 = extractvalue { ptr, i32 } %224, 0
  store ptr %225, ptr %7, align 8
  %226 = extractvalue { ptr, i32 } %224, 1
  store i32 %226, ptr %8, align 4
  br label %646

227:                                              ; preds = %25
  %228 = landingpad { ptr, i32 }
          cleanup
  %229 = extractvalue { ptr, i32 } %228, 0
  store ptr %229, ptr %7, align 8
  %230 = extractvalue { ptr, i32 } %228, 1
  store i32 %230, ptr %8, align 4
  br label %645

231:                                              ; preds = %27
  %232 = landingpad { ptr, i32 }
          cleanup
  %233 = extractvalue { ptr, i32 } %232, 0
  store ptr %233, ptr %7, align 8
  %234 = extractvalue { ptr, i32 } %232, 1
  store i32 %234, ptr %8, align 4
  br label %644

235:                                              ; preds = %29
  %236 = landingpad { ptr, i32 }
          cleanup
  %237 = extractvalue { ptr, i32 } %236, 0
  store ptr %237, ptr %7, align 8
  %238 = extractvalue { ptr, i32 } %236, 1
  store i32 %238, ptr %8, align 4
  br label %643

239:                                              ; preds = %31
  %240 = landingpad { ptr, i32 }
          cleanup
  %241 = extractvalue { ptr, i32 } %240, 0
  store ptr %241, ptr %7, align 8
  %242 = extractvalue { ptr, i32 } %240, 1
  store i32 %242, ptr %8, align 4
  br label %642

243:                                              ; preds = %37
  %244 = landingpad { ptr, i32 }
          cleanup
  %245 = extractvalue { ptr, i32 } %244, 0
  store ptr %245, ptr %7, align 8
  %246 = extractvalue { ptr, i32 } %244, 1
  store i32 %246, ptr %8, align 4
  br label %641

247:                                              ; preds = %39
  %248 = landingpad { ptr, i32 }
          cleanup
  %249 = extractvalue { ptr, i32 } %248, 0
  store ptr %249, ptr %7, align 8
  %250 = extractvalue { ptr, i32 } %248, 1
  store i32 %250, ptr %8, align 4
  br label %640

251:                                              ; preds = %41
  %252 = landingpad { ptr, i32 }
          cleanup
  %253 = extractvalue { ptr, i32 } %252, 0
  store ptr %253, ptr %7, align 8
  %254 = extractvalue { ptr, i32 } %252, 1
  store i32 %254, ptr %8, align 4
  br label %639

255:                                              ; preds = %43
  %256 = landingpad { ptr, i32 }
          cleanup
  %257 = extractvalue { ptr, i32 } %256, 0
  store ptr %257, ptr %7, align 8
  %258 = extractvalue { ptr, i32 } %256, 1
  store i32 %258, ptr %8, align 4
  br label %638

259:                                              ; preds = %45
  %260 = landingpad { ptr, i32 }
          cleanup
  %261 = extractvalue { ptr, i32 } %260, 0
  store ptr %261, ptr %7, align 8
  %262 = extractvalue { ptr, i32 } %260, 1
  store i32 %262, ptr %8, align 4
  br label %637

263:                                              ; preds = %47
  %264 = landingpad { ptr, i32 }
          cleanup
  %265 = extractvalue { ptr, i32 } %264, 0
  store ptr %265, ptr %7, align 8
  %266 = extractvalue { ptr, i32 } %264, 1
  store i32 %266, ptr %8, align 4
  br label %636

267:                                              ; preds = %49
  %268 = landingpad { ptr, i32 }
          cleanup
  %269 = extractvalue { ptr, i32 } %268, 0
  store ptr %269, ptr %7, align 8
  %270 = extractvalue { ptr, i32 } %268, 1
  store i32 %270, ptr %8, align 4
  br label %635

271:                                              ; preds = %51
  %272 = landingpad { ptr, i32 }
          cleanup
  %273 = extractvalue { ptr, i32 } %272, 0
  store ptr %273, ptr %7, align 8
  %274 = extractvalue { ptr, i32 } %272, 1
  store i32 %274, ptr %8, align 4
  br label %634

275:                                              ; preds = %53
  %276 = landingpad { ptr, i32 }
          cleanup
  %277 = extractvalue { ptr, i32 } %276, 0
  store ptr %277, ptr %7, align 8
  %278 = extractvalue { ptr, i32 } %276, 1
  store i32 %278, ptr %8, align 4
  br label %633

279:                                              ; preds = %55
  %280 = landingpad { ptr, i32 }
          cleanup
  %281 = extractvalue { ptr, i32 } %280, 0
  store ptr %281, ptr %7, align 8
  %282 = extractvalue { ptr, i32 } %280, 1
  store i32 %282, ptr %8, align 4
  br label %632

283:                                              ; preds = %57
  %284 = landingpad { ptr, i32 }
          cleanup
  %285 = extractvalue { ptr, i32 } %284, 0
  store ptr %285, ptr %7, align 8
  %286 = extractvalue { ptr, i32 } %284, 1
  store i32 %286, ptr %8, align 4
  br label %631

287:                                              ; preds = %59
  %288 = landingpad { ptr, i32 }
          cleanup
  %289 = extractvalue { ptr, i32 } %288, 0
  store ptr %289, ptr %7, align 8
  %290 = extractvalue { ptr, i32 } %288, 1
  store i32 %290, ptr %8, align 4
  br label %630

291:                                              ; preds = %61
  %292 = landingpad { ptr, i32 }
          cleanup
  %293 = extractvalue { ptr, i32 } %292, 0
  store ptr %293, ptr %7, align 8
  %294 = extractvalue { ptr, i32 } %292, 1
  store i32 %294, ptr %8, align 4
  br label %629

295:                                              ; preds = %63
  %296 = landingpad { ptr, i32 }
          cleanup
  %297 = extractvalue { ptr, i32 } %296, 0
  store ptr %297, ptr %7, align 8
  %298 = extractvalue { ptr, i32 } %296, 1
  store i32 %298, ptr %8, align 4
  br label %628

299:                                              ; preds = %65
  %300 = landingpad { ptr, i32 }
          cleanup
  %301 = extractvalue { ptr, i32 } %300, 0
  store ptr %301, ptr %7, align 8
  %302 = extractvalue { ptr, i32 } %300, 1
  store i32 %302, ptr %8, align 4
  br label %627

303:                                              ; preds = %67
  %304 = landingpad { ptr, i32 }
          cleanup
  %305 = extractvalue { ptr, i32 } %304, 0
  store ptr %305, ptr %7, align 8
  %306 = extractvalue { ptr, i32 } %304, 1
  store i32 %306, ptr %8, align 4
  br label %626

307:                                              ; preds = %69
  %308 = landingpad { ptr, i32 }
          cleanup
  %309 = extractvalue { ptr, i32 } %308, 0
  store ptr %309, ptr %7, align 8
  %310 = extractvalue { ptr, i32 } %308, 1
  store i32 %310, ptr %8, align 4
  br label %625

311:                                              ; preds = %71
  %312 = landingpad { ptr, i32 }
          cleanup
  %313 = extractvalue { ptr, i32 } %312, 0
  store ptr %313, ptr %7, align 8
  %314 = extractvalue { ptr, i32 } %312, 1
  store i32 %314, ptr %8, align 4
  br label %624

315:                                              ; preds = %73
  %316 = landingpad { ptr, i32 }
          cleanup
  %317 = extractvalue { ptr, i32 } %316, 0
  store ptr %317, ptr %7, align 8
  %318 = extractvalue { ptr, i32 } %316, 1
  store i32 %318, ptr %8, align 4
  br label %623

319:                                              ; preds = %75
  %320 = landingpad { ptr, i32 }
          cleanup
  %321 = extractvalue { ptr, i32 } %320, 0
  store ptr %321, ptr %7, align 8
  %322 = extractvalue { ptr, i32 } %320, 1
  store i32 %322, ptr %8, align 4
  br label %622

323:                                              ; preds = %77
  %324 = landingpad { ptr, i32 }
          cleanup
  %325 = extractvalue { ptr, i32 } %324, 0
  store ptr %325, ptr %7, align 8
  %326 = extractvalue { ptr, i32 } %324, 1
  store i32 %326, ptr %8, align 4
  br label %621

327:                                              ; preds = %79
  %328 = landingpad { ptr, i32 }
          cleanup
  %329 = extractvalue { ptr, i32 } %328, 0
  store ptr %329, ptr %7, align 8
  %330 = extractvalue { ptr, i32 } %328, 1
  store i32 %330, ptr %8, align 4
  br label %620

331:                                              ; preds = %81
  %332 = landingpad { ptr, i32 }
          cleanup
  %333 = extractvalue { ptr, i32 } %332, 0
  store ptr %333, ptr %7, align 8
  %334 = extractvalue { ptr, i32 } %332, 1
  store i32 %334, ptr %8, align 4
  br label %619

335:                                              ; preds = %83
  %336 = landingpad { ptr, i32 }
          cleanup
  %337 = extractvalue { ptr, i32 } %336, 0
  store ptr %337, ptr %7, align 8
  %338 = extractvalue { ptr, i32 } %336, 1
  store i32 %338, ptr %8, align 4
  br label %618

339:                                              ; preds = %85
  %340 = landingpad { ptr, i32 }
          cleanup
  %341 = extractvalue { ptr, i32 } %340, 0
  store ptr %341, ptr %7, align 8
  %342 = extractvalue { ptr, i32 } %340, 1
  store i32 %342, ptr %8, align 4
  br label %617

343:                                              ; preds = %87
  %344 = landingpad { ptr, i32 }
          cleanup
  %345 = extractvalue { ptr, i32 } %344, 0
  store ptr %345, ptr %7, align 8
  %346 = extractvalue { ptr, i32 } %344, 1
  store i32 %346, ptr %8, align 4
  br label %616

347:                                              ; preds = %89
  %348 = landingpad { ptr, i32 }
          cleanup
  %349 = extractvalue { ptr, i32 } %348, 0
  store ptr %349, ptr %7, align 8
  %350 = extractvalue { ptr, i32 } %348, 1
  store i32 %350, ptr %8, align 4
  br label %615

351:                                              ; preds = %91
  %352 = landingpad { ptr, i32 }
          cleanup
  %353 = extractvalue { ptr, i32 } %352, 0
  store ptr %353, ptr %7, align 8
  %354 = extractvalue { ptr, i32 } %352, 1
  store i32 %354, ptr %8, align 4
  br label %614

355:                                              ; preds = %93
  %356 = landingpad { ptr, i32 }
          cleanup
  %357 = extractvalue { ptr, i32 } %356, 0
  store ptr %357, ptr %7, align 8
  %358 = extractvalue { ptr, i32 } %356, 1
  store i32 %358, ptr %8, align 4
  br label %613

359:                                              ; preds = %95
  %360 = landingpad { ptr, i32 }
          cleanup
  %361 = extractvalue { ptr, i32 } %360, 0
  store ptr %361, ptr %7, align 8
  %362 = extractvalue { ptr, i32 } %360, 1
  store i32 %362, ptr %8, align 4
  br label %612

363:                                              ; preds = %97
  %364 = landingpad { ptr, i32 }
          cleanup
  %365 = extractvalue { ptr, i32 } %364, 0
  store ptr %365, ptr %7, align 8
  %366 = extractvalue { ptr, i32 } %364, 1
  store i32 %366, ptr %8, align 4
  br label %611

367:                                              ; preds = %99
  %368 = landingpad { ptr, i32 }
          cleanup
  %369 = extractvalue { ptr, i32 } %368, 0
  store ptr %369, ptr %7, align 8
  %370 = extractvalue { ptr, i32 } %368, 1
  store i32 %370, ptr %8, align 4
  br label %610

371:                                              ; preds = %101
  %372 = landingpad { ptr, i32 }
          cleanup
  %373 = extractvalue { ptr, i32 } %372, 0
  store ptr %373, ptr %7, align 8
  %374 = extractvalue { ptr, i32 } %372, 1
  store i32 %374, ptr %8, align 4
  br label %609

375:                                              ; preds = %103
  %376 = landingpad { ptr, i32 }
          cleanup
  %377 = extractvalue { ptr, i32 } %376, 0
  store ptr %377, ptr %7, align 8
  %378 = extractvalue { ptr, i32 } %376, 1
  store i32 %378, ptr %8, align 4
  br label %608

379:                                              ; preds = %105
  %380 = landingpad { ptr, i32 }
          cleanup
  %381 = extractvalue { ptr, i32 } %380, 0
  store ptr %381, ptr %7, align 8
  %382 = extractvalue { ptr, i32 } %380, 1
  store i32 %382, ptr %8, align 4
  br label %607

383:                                              ; preds = %107
  %384 = landingpad { ptr, i32 }
          cleanup
  %385 = extractvalue { ptr, i32 } %384, 0
  store ptr %385, ptr %7, align 8
  %386 = extractvalue { ptr, i32 } %384, 1
  store i32 %386, ptr %8, align 4
  br label %606

387:                                              ; preds = %109
  %388 = landingpad { ptr, i32 }
          cleanup
  %389 = extractvalue { ptr, i32 } %388, 0
  store ptr %389, ptr %7, align 8
  %390 = extractvalue { ptr, i32 } %388, 1
  store i32 %390, ptr %8, align 4
  br label %605

391:                                              ; preds = %111
  %392 = landingpad { ptr, i32 }
          cleanup
  %393 = extractvalue { ptr, i32 } %392, 0
  store ptr %393, ptr %7, align 8
  %394 = extractvalue { ptr, i32 } %392, 1
  store i32 %394, ptr %8, align 4
  br label %604

395:                                              ; preds = %113
  %396 = landingpad { ptr, i32 }
          cleanup
  %397 = extractvalue { ptr, i32 } %396, 0
  store ptr %397, ptr %7, align 8
  %398 = extractvalue { ptr, i32 } %396, 1
  store i32 %398, ptr %8, align 4
  br label %603

399:                                              ; preds = %115
  %400 = landingpad { ptr, i32 }
          cleanup
  %401 = extractvalue { ptr, i32 } %400, 0
  store ptr %401, ptr %7, align 8
  %402 = extractvalue { ptr, i32 } %400, 1
  store i32 %402, ptr %8, align 4
  br label %602

403:                                              ; preds = %117
  %404 = landingpad { ptr, i32 }
          cleanup
  %405 = extractvalue { ptr, i32 } %404, 0
  store ptr %405, ptr %7, align 8
  %406 = extractvalue { ptr, i32 } %404, 1
  store i32 %406, ptr %8, align 4
  br label %601

407:                                              ; preds = %119
  %408 = landingpad { ptr, i32 }
          cleanup
  %409 = extractvalue { ptr, i32 } %408, 0
  store ptr %409, ptr %7, align 8
  %410 = extractvalue { ptr, i32 } %408, 1
  store i32 %410, ptr %8, align 4
  br label %600

411:                                              ; preds = %121
  %412 = landingpad { ptr, i32 }
          cleanup
  %413 = extractvalue { ptr, i32 } %412, 0
  store ptr %413, ptr %7, align 8
  %414 = extractvalue { ptr, i32 } %412, 1
  store i32 %414, ptr %8, align 4
  br label %599

415:                                              ; preds = %123
  %416 = landingpad { ptr, i32 }
          cleanup
  %417 = extractvalue { ptr, i32 } %416, 0
  store ptr %417, ptr %7, align 8
  %418 = extractvalue { ptr, i32 } %416, 1
  store i32 %418, ptr %8, align 4
  br label %598

419:                                              ; preds = %125
  %420 = landingpad { ptr, i32 }
          cleanup
  %421 = extractvalue { ptr, i32 } %420, 0
  store ptr %421, ptr %7, align 8
  %422 = extractvalue { ptr, i32 } %420, 1
  store i32 %422, ptr %8, align 4
  br label %597

423:                                              ; preds = %127
  %424 = landingpad { ptr, i32 }
          cleanup
  %425 = extractvalue { ptr, i32 } %424, 0
  store ptr %425, ptr %7, align 8
  %426 = extractvalue { ptr, i32 } %424, 1
  store i32 %426, ptr %8, align 4
  br label %596

427:                                              ; preds = %129
  %428 = landingpad { ptr, i32 }
          cleanup
  %429 = extractvalue { ptr, i32 } %428, 0
  store ptr %429, ptr %7, align 8
  %430 = extractvalue { ptr, i32 } %428, 1
  store i32 %430, ptr %8, align 4
  br label %595

431:                                              ; preds = %131
  %432 = landingpad { ptr, i32 }
          cleanup
  %433 = extractvalue { ptr, i32 } %432, 0
  store ptr %433, ptr %7, align 8
  %434 = extractvalue { ptr, i32 } %432, 1
  store i32 %434, ptr %8, align 4
  br label %594

435:                                              ; preds = %133
  %436 = landingpad { ptr, i32 }
          cleanup
  %437 = extractvalue { ptr, i32 } %436, 0
  store ptr %437, ptr %7, align 8
  %438 = extractvalue { ptr, i32 } %436, 1
  store i32 %438, ptr %8, align 4
  br label %593

439:                                              ; preds = %135
  %440 = landingpad { ptr, i32 }
          cleanup
  %441 = extractvalue { ptr, i32 } %440, 0
  store ptr %441, ptr %7, align 8
  %442 = extractvalue { ptr, i32 } %440, 1
  store i32 %442, ptr %8, align 4
  br label %592

443:                                              ; preds = %137
  %444 = landingpad { ptr, i32 }
          cleanup
  %445 = extractvalue { ptr, i32 } %444, 0
  store ptr %445, ptr %7, align 8
  %446 = extractvalue { ptr, i32 } %444, 1
  store i32 %446, ptr %8, align 4
  br label %591

447:                                              ; preds = %139
  %448 = landingpad { ptr, i32 }
          cleanup
  %449 = extractvalue { ptr, i32 } %448, 0
  store ptr %449, ptr %7, align 8
  %450 = extractvalue { ptr, i32 } %448, 1
  store i32 %450, ptr %8, align 4
  br label %590

451:                                              ; preds = %141
  %452 = landingpad { ptr, i32 }
          cleanup
  %453 = extractvalue { ptr, i32 } %452, 0
  store ptr %453, ptr %7, align 8
  %454 = extractvalue { ptr, i32 } %452, 1
  store i32 %454, ptr %8, align 4
  br label %589

455:                                              ; preds = %143
  %456 = landingpad { ptr, i32 }
          cleanup
  %457 = extractvalue { ptr, i32 } %456, 0
  store ptr %457, ptr %7, align 8
  %458 = extractvalue { ptr, i32 } %456, 1
  store i32 %458, ptr %8, align 4
  br label %588

459:                                              ; preds = %145
  %460 = landingpad { ptr, i32 }
          cleanup
  %461 = extractvalue { ptr, i32 } %460, 0
  store ptr %461, ptr %7, align 8
  %462 = extractvalue { ptr, i32 } %460, 1
  store i32 %462, ptr %8, align 4
  br label %587

463:                                              ; preds = %147
  %464 = landingpad { ptr, i32 }
          cleanup
  %465 = extractvalue { ptr, i32 } %464, 0
  store ptr %465, ptr %7, align 8
  %466 = extractvalue { ptr, i32 } %464, 1
  store i32 %466, ptr %8, align 4
  br label %586

467:                                              ; preds = %149
  %468 = landingpad { ptr, i32 }
          cleanup
  %469 = extractvalue { ptr, i32 } %468, 0
  store ptr %469, ptr %7, align 8
  %470 = extractvalue { ptr, i32 } %468, 1
  store i32 %470, ptr %8, align 4
  br label %585

471:                                              ; preds = %151
  %472 = landingpad { ptr, i32 }
          cleanup
  %473 = extractvalue { ptr, i32 } %472, 0
  store ptr %473, ptr %7, align 8
  %474 = extractvalue { ptr, i32 } %472, 1
  store i32 %474, ptr %8, align 4
  br label %584

475:                                              ; preds = %153
  %476 = landingpad { ptr, i32 }
          cleanup
  %477 = extractvalue { ptr, i32 } %476, 0
  store ptr %477, ptr %7, align 8
  %478 = extractvalue { ptr, i32 } %476, 1
  store i32 %478, ptr %8, align 4
  br label %583

479:                                              ; preds = %155
  %480 = landingpad { ptr, i32 }
          cleanup
  %481 = extractvalue { ptr, i32 } %480, 0
  store ptr %481, ptr %7, align 8
  %482 = extractvalue { ptr, i32 } %480, 1
  store i32 %482, ptr %8, align 4
  br label %582

483:                                              ; preds = %157
  %484 = landingpad { ptr, i32 }
          cleanup
  %485 = extractvalue { ptr, i32 } %484, 0
  store ptr %485, ptr %7, align 8
  %486 = extractvalue { ptr, i32 } %484, 1
  store i32 %486, ptr %8, align 4
  br label %581

487:                                              ; preds = %159
  %488 = landingpad { ptr, i32 }
          cleanup
  %489 = extractvalue { ptr, i32 } %488, 0
  store ptr %489, ptr %7, align 8
  %490 = extractvalue { ptr, i32 } %488, 1
  store i32 %490, ptr %8, align 4
  br label %580

491:                                              ; preds = %161
  %492 = landingpad { ptr, i32 }
          cleanup
  %493 = extractvalue { ptr, i32 } %492, 0
  store ptr %493, ptr %7, align 8
  %494 = extractvalue { ptr, i32 } %492, 1
  store i32 %494, ptr %8, align 4
  br label %579

495:                                              ; preds = %163
  %496 = landingpad { ptr, i32 }
          cleanup
  %497 = extractvalue { ptr, i32 } %496, 0
  store ptr %497, ptr %7, align 8
  %498 = extractvalue { ptr, i32 } %496, 1
  store i32 %498, ptr %8, align 4
  br label %578

499:                                              ; preds = %165
  %500 = landingpad { ptr, i32 }
          cleanup
  %501 = extractvalue { ptr, i32 } %500, 0
  store ptr %501, ptr %7, align 8
  %502 = extractvalue { ptr, i32 } %500, 1
  store i32 %502, ptr %8, align 4
  br label %577

503:                                              ; preds = %167
  %504 = landingpad { ptr, i32 }
          cleanup
  %505 = extractvalue { ptr, i32 } %504, 0
  store ptr %505, ptr %7, align 8
  %506 = extractvalue { ptr, i32 } %504, 1
  store i32 %506, ptr %8, align 4
  br label %576

507:                                              ; preds = %169
  %508 = landingpad { ptr, i32 }
          cleanup
  %509 = extractvalue { ptr, i32 } %508, 0
  store ptr %509, ptr %7, align 8
  %510 = extractvalue { ptr, i32 } %508, 1
  store i32 %510, ptr %8, align 4
  br label %575

511:                                              ; preds = %171
  %512 = landingpad { ptr, i32 }
          cleanup
  %513 = extractvalue { ptr, i32 } %512, 0
  store ptr %513, ptr %7, align 8
  %514 = extractvalue { ptr, i32 } %512, 1
  store i32 %514, ptr %8, align 4
  br label %574

515:                                              ; preds = %173
  %516 = landingpad { ptr, i32 }
          cleanup
  %517 = extractvalue { ptr, i32 } %516, 0
  store ptr %517, ptr %7, align 8
  %518 = extractvalue { ptr, i32 } %516, 1
  store i32 %518, ptr %8, align 4
  br label %573

519:                                              ; preds = %175
  %520 = landingpad { ptr, i32 }
          cleanup
  %521 = extractvalue { ptr, i32 } %520, 0
  store ptr %521, ptr %7, align 8
  %522 = extractvalue { ptr, i32 } %520, 1
  store i32 %522, ptr %8, align 4
  br label %572

523:                                              ; preds = %177
  %524 = landingpad { ptr, i32 }
          cleanup
  %525 = extractvalue { ptr, i32 } %524, 0
  store ptr %525, ptr %7, align 8
  %526 = extractvalue { ptr, i32 } %524, 1
  store i32 %526, ptr %8, align 4
  br label %571

527:                                              ; preds = %179
  %528 = landingpad { ptr, i32 }
          cleanup
  %529 = extractvalue { ptr, i32 } %528, 0
  store ptr %529, ptr %7, align 8
  %530 = extractvalue { ptr, i32 } %528, 1
  store i32 %530, ptr %8, align 4
  br label %570

531:                                              ; preds = %181
  %532 = landingpad { ptr, i32 }
          cleanup
  %533 = extractvalue { ptr, i32 } %532, 0
  store ptr %533, ptr %7, align 8
  %534 = extractvalue { ptr, i32 } %532, 1
  store i32 %534, ptr %8, align 4
  br label %569

535:                                              ; preds = %183
  %536 = landingpad { ptr, i32 }
          cleanup
  %537 = extractvalue { ptr, i32 } %536, 0
  store ptr %537, ptr %7, align 8
  %538 = extractvalue { ptr, i32 } %536, 1
  store i32 %538, ptr %8, align 4
  br label %568

539:                                              ; preds = %185
  %540 = landingpad { ptr, i32 }
          cleanup
  %541 = extractvalue { ptr, i32 } %540, 0
  store ptr %541, ptr %7, align 8
  %542 = extractvalue { ptr, i32 } %540, 1
  store i32 %542, ptr %8, align 4
  br label %567

543:                                              ; preds = %187
  %544 = landingpad { ptr, i32 }
          cleanup
  %545 = extractvalue { ptr, i32 } %544, 0
  store ptr %545, ptr %7, align 8
  %546 = extractvalue { ptr, i32 } %544, 1
  store i32 %546, ptr %8, align 4
  br label %566

547:                                              ; preds = %189
  %548 = landingpad { ptr, i32 }
          cleanup
  %549 = extractvalue { ptr, i32 } %548, 0
  store ptr %549, ptr %7, align 8
  %550 = extractvalue { ptr, i32 } %548, 1
  store i32 %550, ptr %8, align 4
  br label %565

551:                                              ; preds = %191
  %552 = landingpad { ptr, i32 }
          cleanup
  %553 = extractvalue { ptr, i32 } %552, 0
  store ptr %553, ptr %7, align 8
  %554 = extractvalue { ptr, i32 } %552, 1
  store i32 %554, ptr %8, align 4
  br label %564

555:                                              ; preds = %193
  %556 = landingpad { ptr, i32 }
          cleanup
  %557 = extractvalue { ptr, i32 } %556, 0
  store ptr %557, ptr %7, align 8
  %558 = extractvalue { ptr, i32 } %556, 1
  store i32 %558, ptr %8, align 4
  br label %563

559:                                              ; preds = %195
  %560 = landingpad { ptr, i32 }
          cleanup
  %561 = extractvalue { ptr, i32 } %560, 0
  store ptr %561, ptr %7, align 8
  %562 = extractvalue { ptr, i32 } %560, 1
  store i32 %562, ptr %8, align 4
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %194) #2
  br label %563

563:                                              ; preds = %559, %555
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %192) #2
  br label %564

564:                                              ; preds = %563, %551
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %190) #2
  br label %565

565:                                              ; preds = %564, %547
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %188) #2
  br label %566

566:                                              ; preds = %565, %543
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %186) #2
  br label %567

567:                                              ; preds = %566, %539
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %184) #2
  br label %568

568:                                              ; preds = %567, %535
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %182) #2
  br label %569

569:                                              ; preds = %568, %531
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %180) #2
  br label %570

570:                                              ; preds = %569, %527
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %178) #2
  br label %571

571:                                              ; preds = %570, %523
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %176) #2
  br label %572

572:                                              ; preds = %571, %519
  call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %174) #2
  br label %573

573:                                              ; preds = %572, %515
  call void @_ZN10SimTKIpopt13CachedResultsIdED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %172) #2
  br label %574

574:                                              ; preds = %573, %511
  call void @_ZN10SimTKIpopt13CachedResultsIdED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %170) #2
  br label %575

575:                                              ; preds = %574, %507
  call void @_ZN10SimTKIpopt13CachedResultsIdED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %168) #2
  br label %576

576:                                              ; preds = %575, %503
  call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %166) #2
  br label %577

577:                                              ; preds = %576, %499
  call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %164) #2
  br label %578

578:                                              ; preds = %577, %495
  call void @_ZN10SimTKIpopt13CachedResultsIdED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %162) #2
  br label %579

579:                                              ; preds = %578, %491
  call void @_ZN10SimTKIpopt13CachedResultsIdED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %160) #2
  br label %580

580:                                              ; preds = %579, %487
  call void @_ZN10SimTKIpopt13CachedResultsIdED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %158) #2
  br label %581

581:                                              ; preds = %580, %483
  call void @_ZN10SimTKIpopt13CachedResultsIdED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %156) #2
  br label %582

582:                                              ; preds = %581, %479
  call void @_ZN10SimTKIpopt13CachedResultsIdED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %154) #2
  br label %583

583:                                              ; preds = %582, %475
  call void @_ZN10SimTKIpopt13CachedResultsIdED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %152) #2
  br label %584

584:                                              ; preds = %583, %471
  call void @_ZN10SimTKIpopt13CachedResultsIdED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %150) #2
  br label %585

585:                                              ; preds = %584, %467
  call void @_ZN10SimTKIpopt13CachedResultsIdED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %148) #2
  br label %586

586:                                              ; preds = %585, %463
  call void @_ZN10SimTKIpopt13CachedResultsIdED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %146) #2
  br label %587

587:                                              ; preds = %586, %459
  call void @_ZN10SimTKIpopt13CachedResultsIdED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %144) #2
  br label %588

588:                                              ; preds = %587, %455
  call void @_ZN10SimTKIpopt13CachedResultsIdED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %142) #2
  br label %589

589:                                              ; preds = %588, %451
  call void @_ZN10SimTKIpopt13CachedResultsIdED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %140) #2
  br label %590

590:                                              ; preds = %589, %447
  call void @_ZN10SimTKIpopt13CachedResultsIdED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %138) #2
  br label %591

591:                                              ; preds = %590, %443
  call void @_ZN10SimTKIpopt13CachedResultsIdED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %136) #2
  br label %592

592:                                              ; preds = %591, %439
  call void @_ZN10SimTKIpopt13CachedResultsIdED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %134) #2
  br label %593

593:                                              ; preds = %592, %435
  call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %132) #2
  br label %594

594:                                              ; preds = %593, %431
  call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %130) #2
  br label %595

595:                                              ; preds = %594, %427
  call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %128) #2
  br label %596

596:                                              ; preds = %595, %423
  call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %126) #2
  br label %597

597:                                              ; preds = %596, %419
  call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %124) #2
  br label %598

598:                                              ; preds = %597, %415
  call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %122) #2
  br label %599

599:                                              ; preds = %598, %411
  call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %120) #2
  br label %600

600:                                              ; preds = %599, %407
  call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %118) #2
  br label %601

601:                                              ; preds = %600, %403
  call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %116) #2
  br label %602

602:                                              ; preds = %601, %399
  call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %114) #2
  br label %603

603:                                              ; preds = %602, %395
  call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %112) #2
  br label %604

604:                                              ; preds = %603, %391
  call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %110) #2
  br label %605

605:                                              ; preds = %604, %387
  call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %108) #2
  br label %606

606:                                              ; preds = %605, %383
  call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %106) #2
  br label %607

607:                                              ; preds = %606, %379
  call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %104) #2
  br label %608

608:                                              ; preds = %607, %375
  call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %102) #2
  br label %609

609:                                              ; preds = %608, %371
  call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %100) #2
  br label %610

610:                                              ; preds = %609, %367
  call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %98) #2
  br label %611

611:                                              ; preds = %610, %363
  call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_9SymMatrixEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %96) #2
  br label %612

612:                                              ; preds = %611, %359
  call void @_ZN10SimTKIpopt13CachedResultsIdED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %94) #2
  br label %613

613:                                              ; preds = %612, %355
  call void @_ZN10SimTKIpopt13CachedResultsIdED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %92) #2
  br label %614

614:                                              ; preds = %613, %351
  call void @_ZN10SimTKIpopt13CachedResultsIdED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %90) #2
  br label %615

615:                                              ; preds = %614, %347
  call void @_ZN10SimTKIpopt13CachedResultsIdED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %88) #2
  br label %616

616:                                              ; preds = %615, %343
  call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %86) #2
  br label %617

617:                                              ; preds = %616, %339
  call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %84) #2
  br label %618

618:                                              ; preds = %617, %335
  call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %82) #2
  br label %619

619:                                              ; preds = %618, %331
  call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %80) #2
  br label %620

620:                                              ; preds = %619, %327
  call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %78) #2
  br label %621

621:                                              ; preds = %620, %323
  call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %76) #2
  br label %622

622:                                              ; preds = %621, %319
  call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6MatrixEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %74) #2
  br label %623

623:                                              ; preds = %622, %315
  call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6MatrixEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %72) #2
  br label %624

624:                                              ; preds = %623, %311
  call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6MatrixEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %70) #2
  br label %625

625:                                              ; preds = %624, %307
  call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6MatrixEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %68) #2
  br label %626

626:                                              ; preds = %625, %303
  call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %66) #2
  br label %627

627:                                              ; preds = %626, %299
  call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %64) #2
  br label %628

628:                                              ; preds = %627, %295
  call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %62) #2
  br label %629

629:                                              ; preds = %628, %291
  call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %60) #2
  br label %630

630:                                              ; preds = %629, %287
  call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %58) #2
  br label %631

631:                                              ; preds = %630, %283
  call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %56) #2
  br label %632

632:                                              ; preds = %631, %279
  call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %54) #2
  br label %633

633:                                              ; preds = %632, %275
  call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %52) #2
  br label %634

634:                                              ; preds = %633, %271
  call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %50) #2
  br label %635

635:                                              ; preds = %634, %267
  call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %48) #2
  br label %636

636:                                              ; preds = %635, %263
  call void @_ZN10SimTKIpopt13CachedResultsIdED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %46) #2
  br label %637

637:                                              ; preds = %636, %259
  call void @_ZN10SimTKIpopt13CachedResultsIdED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %44) #2
  br label %638

638:                                              ; preds = %637, %255
  call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %42) #2
  br label %639

639:                                              ; preds = %638, %251
  call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %40) #2
  br label %640

640:                                              ; preds = %639, %247
  call void @_ZN10SimTKIpopt13CachedResultsIdED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %38) #2
  br label %641

641:                                              ; preds = %640, %243
  call void @_ZN10SimTKIpopt13CachedResultsIdED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %36) #2
  br label %642

642:                                              ; preds = %641, %239
  call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrINS_6VectorEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %30) #2
  br label %643

643:                                              ; preds = %642, %235
  call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrINS_6VectorEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %28) #2
  br label %644

644:                                              ; preds = %643, %231
  call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrINS_6VectorEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %26) #2
  br label %645

645:                                              ; preds = %644, %227
  call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrINS_6VectorEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %24) #2
  br label %646

646:                                              ; preds = %645, %223
  call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrINS_6VectorEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %22) #2
  br label %647

647:                                              ; preds = %646, %219
  call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrINS_6VectorEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %20) #2
  br label %648

648:                                              ; preds = %647, %215
  call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrINS_6VectorEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %18) #2
  br label %649

649:                                              ; preds = %648, %211
  call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrINS_6VectorEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %16) #2
  br label %650

650:                                              ; preds = %649, %207
  call void @_ZN10SimTKIpopt8SmartPtrINS_9IpoptDataEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %13) #2
  br label %651

651:                                              ; preds = %650, %203
  call void @_ZN10SimTKIpopt8SmartPtrINS_8IpoptNLPEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %10) #2
  br label %652

652:                                              ; preds = %651, %199
  call void @_ZN10SimTKIpopt16ReferencedObjectD2Ev(ptr noundef nonnull align 8 dereferenceable(12) %9) #2
  br label %653

653:                                              ; preds = %652
  %654 = load ptr, ptr %7, align 8
  %655 = load i32, ptr %8, align 4
  %656 = insertvalue { ptr, i32 } poison, ptr %654, 0
  %657 = insertvalue { ptr, i32 } %656, i32 %655, 1
  resume { ptr, i32 } %657
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

attributes #0 = { 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 #1 = { 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 #2 = { nounwind }

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"vtable pointer", !8, i64 0}
!11 = !{!12, !14, i64 256}
!12 = !{!"_ZTSN10SimTKIpopt25IpoptCalculatedQuantitiesE", !13, i64 0, !15, i64 16, !16, i64 24, !17, i64 32, !17, i64 40, !17, i64 48, !18, i64 56, !19, i64 60, !20, i64 64, !20, i64 88, !20, i64 112, !20, i64 136, !20, i64 160, !20, i64 184, !20, i64 208, !20, i64 232, !14, i64 256, !14, i64 260, !14, i64 264, !14, i64 268, !21, i64 272, !21, i64 296, !22, i64 320, !22, i64 344, !21, i64 368, !21, i64 392, !22, i64 416, !22, i64 440, !22, i64 464, !22, i64 488, !22, i64 512, !22, i64 536, !22, i64 560, !22, i64 584, !22, i64 608, !22, i64 632, !23, i64 656, !23, i64 680, !23, i64 704, !23, i64 728, !22, i64 752, !22, i64 776, !22, i64 800, !22, i64 824, !22, i64 848, !22, i64 872, !21, i64 896, !21, i64 920, !21, i64 944, !21, i64 968, !24, i64 992, !22, i64 1016, !22, i64 1040, !22, i64 1064, !22, i64 1088, !22, i64 1112, !22, i64 1136, !22, i64 1160, !22, i64 1184, !22, i64 1208, !22, i64 1232, !22, i64 1256, !22, i64 1280, !22, i64 1304, !22, i64 1328, !22, i64 1352, !22, i64 1376, !22, i64 1400, !22, i64 1424, !21, i64 1448, !21, i64 1472, !21, i64 1496, !21, i64 1520, !21, i64 1544, !21, i64 1568, !21, i64 1592, !21, i64 1616, !21, i64 1640, !21, i64 1664, !21, i64 1688, !21, i64 1712, !21, i64 1736, !21, i64 1760, !21, i64 1784, !22, i64 1808, !22, i64 1832, !21, i64 1856, !21, i64 1880, !21, i64 1904, !25, i64 1928, !25, i64 1936, !25, i64 1944, !25, i64 1952, !25, i64 1960, !25, i64 1968, !25, i64 1976, !25, i64 1984, !25, i64 1992, !25, i64 2000, !25, i64 2008, !25, i64 2016, !19, i64 2024}
!13 = !{!"_ZTSN10SimTKIpopt16ReferencedObjectE", !14, i64 8}
!14 = !{!"int", !7, i64 0}
!15 = !{!"_ZTSN10SimTKIpopt8SmartPtrINS_8IpoptNLPEEE", !6, i64 0}
!16 = !{!"_ZTSN10SimTKIpopt8SmartPtrINS_9IpoptDataEEE", !6, i64 0}
!17 = !{!"double", !7, i64 0}
!18 = !{!"_ZTSN10SimTKIpopt9ENormTypeE", !7, i64 0}
!19 = !{!"bool", !7, i64 0}
!20 = !{!"_ZTSN10SimTKIpopt13CachedResultsINS_8SmartPtrINS_6VectorEEEEE", !14, i64 8, !6, i64 16}
!21 = !{!"_ZTSN10SimTKIpopt13CachedResultsIdEE", !14, i64 8, !6, i64 16}
!22 = !{!"_ZTSN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEE", !14, i64 8, !6, i64 16}
!23 = !{!"_ZTSN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6MatrixEEEEE", !14, i64 8, !6, i64 16}
!24 = !{!"_ZTSN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_9SymMatrixEEEEE", !14, i64 8, !6, i64 16}
!25 = !{!"_ZTSN10SimTKIpopt8SmartPtrINS_6VectorEEE", !6, i64 0}
!26 = !{!12, !14, i64 260}
!27 = !{!12, !14, i64 264}
!28 = !{!12, !14, i64 268}
!29 = !{!12, !19, i64 2024}


; 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"

@_ZTVN10SimTKIpopt25IpoptCalculatedQuantitiesE = external dso_local unnamed_addr constant { [4 x ptr] }, align 8

declare i32 @__gxx_personality_v0(...)

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN10SimTKIpopt25IpoptCalculatedQuantitiesC2ERKNS_8SmartPtrINS_8IpoptNLPEEERKNS1_INS_9IpoptDataEEE(ptr noundef nonnull align 8 dereferenceable(2025) %0, ptr noundef nonnull align 8 dereferenceable(8) %1, ptr noundef nonnull align 8 dereferenceable(8) %2) unnamed_addr #0 align 2 personality ptr @__gxx_personality_v0 {
  tail call void @_ZN10SimTKIpopt16ReferencedObjectC2Ev(ptr noundef nonnull align 8 dereferenceable(12) %0)
  store ptr getelementptr inbounds inrange(-16, 16) (i8, ptr @_ZTVN10SimTKIpopt25IpoptCalculatedQuantitiesE, i64 16), ptr %0, align 8, !tbaa !5
  %4 = getelementptr inbounds i8, ptr %0, i64 16
  invoke void @_ZN10SimTKIpopt8SmartPtrINS_8IpoptNLPEEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(8) %4, ptr noundef nonnull align 8 dereferenceable(8) %1)
          to label %5 unwind label %99

5:                                                ; preds = %3
  %6 = getelementptr inbounds i8, ptr %0, i64 24
  invoke void @_ZN10SimTKIpopt8SmartPtrINS_9IpoptDataEEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(8) %6, ptr noundef nonnull align 8 dereferenceable(8) %2)
          to label %7 unwind label %101

7:                                                ; preds = %5
  %8 = getelementptr inbounds i8, ptr %0, i64 64
  tail call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrINS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %8, i32 noundef 1)
  %9 = getelementptr inbounds i8, ptr %0, i64 88
  tail call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrINS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %9, i32 noundef 1)
  %10 = getelementptr inbounds i8, ptr %0, i64 112
  tail call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrINS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %10, i32 noundef 1)
  %11 = getelementptr inbounds i8, ptr %0, i64 136
  tail call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrINS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %11, i32 noundef 1)
  %12 = getelementptr inbounds i8, ptr %0, i64 160
  tail call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrINS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %12, i32 noundef 1)
  %13 = getelementptr inbounds i8, ptr %0, i64 184
  tail call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrINS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %13, i32 noundef 1)
  %14 = getelementptr inbounds i8, ptr %0, i64 208
  tail call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrINS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %14, i32 noundef 1)
  %15 = getelementptr inbounds i8, ptr %0, i64 232
  tail call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrINS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %15, i32 noundef 1)
  %16 = getelementptr inbounds i8, ptr %0, i64 256
  %17 = getelementptr inbounds i8, ptr %0, i64 272
  tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %16, i8 0, i64 16, i1 false)
  tail call void @_ZN10SimTKIpopt13CachedResultsIdEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %17, i32 noundef 2)
  %18 = getelementptr inbounds i8, ptr %0, i64 296
  tail call void @_ZN10SimTKIpopt13CachedResultsIdEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %18, i32 noundef 5)
  %19 = getelementptr inbounds i8, ptr %0, i64 320
  tail call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %19, i32 noundef 2)
  %20 = getelementptr inbounds i8, ptr %0, i64 344
  tail call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %20, i32 noundef 1)
  %21 = getelementptr inbounds i8, ptr %0, i64 368
  tail call void @_ZN10SimTKIpopt13CachedResultsIdEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %21, i32 noundef 2)
  %22 = getelementptr inbounds i8, ptr %0, i64 392
  tail call void @_ZN10SimTKIpopt13CachedResultsIdEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %22, i32 noundef 5)
  %23 = getelementptr inbounds i8, ptr %0, i64 416
  tail call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %23, i32 noundef 1)
  %24 = getelementptr inbounds i8, ptr %0, i64 440
  tail call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %24, i32 noundef 1)
  %25 = getelementptr inbounds i8, ptr %0, i64 464
  tail call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %25, i32 noundef 1)
  %26 = getelementptr inbounds i8, ptr %0, i64 488
  tail call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %26, i32 noundef 1)
  %27 = getelementptr inbounds i8, ptr %0, i64 512
  tail call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %27, i32 noundef 1)
  %28 = getelementptr inbounds i8, ptr %0, i64 536
  tail call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %28, i32 noundef 2)
  %29 = getelementptr inbounds i8, ptr %0, i64 560
  tail call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %29, i32 noundef 1)
  %30 = getelementptr inbounds i8, ptr %0, i64 584
  tail call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %30, i32 noundef 2)
  %31 = getelementptr inbounds i8, ptr %0, i64 608
  tail call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %31, i32 noundef 1)
  %32 = getelementptr inbounds i8, ptr %0, i64 632
  tail call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %32, i32 noundef 1)
  %33 = getelementptr inbounds i8, ptr %0, i64 656
  tail call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6MatrixEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %33, i32 noundef 1)
  %34 = getelementptr inbounds i8, ptr %0, i64 680
  tail call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6MatrixEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %34, i32 noundef 1)
  %35 = getelementptr inbounds i8, ptr %0, i64 704
  tail call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6MatrixEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %35, i32 noundef 1)
  %36 = getelementptr inbounds i8, ptr %0, i64 728
  tail call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6MatrixEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %36, i32 noundef 1)
  %37 = getelementptr inbounds i8, ptr %0, i64 752
  tail call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %37, i32 noundef 2)
  %38 = getelementptr inbounds i8, ptr %0, i64 776
  tail call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %38, i32 noundef 1)
  %39 = getelementptr inbounds i8, ptr %0, i64 800
  tail call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %39, i32 noundef 2)
  %40 = getelementptr inbounds i8, ptr %0, i64 824
  tail call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %40, i32 noundef 1)
  %41 = getelementptr inbounds i8, ptr %0, i64 848
  tail call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %41, i32 noundef 1)
  %42 = getelementptr inbounds i8, ptr %0, i64 872
  tail call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %42, i32 noundef 1)
  %43 = getelementptr inbounds i8, ptr %0, i64 896
  tail call void @_ZN10SimTKIpopt13CachedResultsIdEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %43, i32 noundef 2)
  %44 = getelementptr inbounds i8, ptr %0, i64 920
  tail call void @_ZN10SimTKIpopt13CachedResultsIdEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %44, i32 noundef 5)
  %45 = getelementptr inbounds i8, ptr %0, i64 944
  tail call void @_ZN10SimTKIpopt13CachedResultsIdEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %45, i32 noundef 3)
  %46 = getelementptr inbounds i8, ptr %0, i64 968
  tail call void @_ZN10SimTKIpopt13CachedResultsIdEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %46, i32 noundef 3)
  %47 = getelementptr inbounds i8, ptr %0, i64 992
  tail call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_9SymMatrixEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %47, i32 noundef 1)
  %48 = getelementptr inbounds i8, ptr %0, i64 1016
  tail call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %48, i32 noundef 1)
  %49 = getelementptr inbounds i8, ptr %0, i64 1040
  tail call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %49, i32 noundef 1)
  %50 = getelementptr inbounds i8, ptr %0, i64 1064
  tail call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %50, i32 noundef 1)
  %51 = getelementptr inbounds i8, ptr %0, i64 1088
  tail call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %51, i32 noundef 1)
  %52 = getelementptr inbounds i8, ptr %0, i64 1112
  tail call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %52, i32 noundef 0)
  %53 = getelementptr inbounds i8, ptr %0, i64 1136
  tail call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %53, i32 noundef 0)
  %54 = getelementptr inbounds i8, ptr %0, i64 1160
  tail call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %54, i32 noundef 1)
  %55 = getelementptr inbounds i8, ptr %0, i64 1184
  tail call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %55, i32 noundef 1)
  %56 = getelementptr inbounds i8, ptr %0, i64 1208
  tail call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %56, i32 noundef 1)
  %57 = getelementptr inbounds i8, ptr %0, i64 1232
  tail call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %57, i32 noundef 1)
  %58 = getelementptr inbounds i8, ptr %0, i64 1256
  tail call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %58, i32 noundef 1)
  %59 = getelementptr inbounds i8, ptr %0, i64 1280
  tail call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %59, i32 noundef 1)
  %60 = getelementptr inbounds i8, ptr %0, i64 1304
  tail call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %60, i32 noundef 1)
  %61 = getelementptr inbounds i8, ptr %0, i64 1328
  tail call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %61, i32 noundef 1)
  %62 = getelementptr inbounds i8, ptr %0, i64 1352
  tail call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %62, i32 noundef 1)
  %63 = getelementptr inbounds i8, ptr %0, i64 1376
  tail call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %63, i32 noundef 1)
  %64 = getelementptr inbounds i8, ptr %0, i64 1400
  tail call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %64, i32 noundef 1)
  %65 = getelementptr inbounds i8, ptr %0, i64 1424
  tail call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %65, i32 noundef 1)
  %66 = getelementptr inbounds i8, ptr %0, i64 1448
  tail call void @_ZN10SimTKIpopt13CachedResultsIdEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %66, i32 noundef 3)
  %67 = getelementptr inbounds i8, ptr %0, i64 1472
  tail call void @_ZN10SimTKIpopt13CachedResultsIdEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %67, i32 noundef 3)
  %68 = getelementptr inbounds i8, ptr %0, i64 1496
  tail call void @_ZN10SimTKIpopt13CachedResultsIdEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %68, i32 noundef 3)
  %69 = getelementptr inbounds i8, ptr %0, i64 1520
  tail call void @_ZN10SimTKIpopt13CachedResultsIdEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %69, i32 noundef 3)
  %70 = getelementptr inbounds i8, ptr %0, i64 1544
  tail call void @_ZN10SimTKIpopt13CachedResultsIdEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %70, i32 noundef 3)
  %71 = getelementptr inbounds i8, ptr %0, i64 1568
  tail call void @_ZN10SimTKIpopt13CachedResultsIdEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %71, i32 noundef 6)
  %72 = getelementptr inbounds i8, ptr %0, i64 1592
  tail call void @_ZN10SimTKIpopt13CachedResultsIdEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %72, i32 noundef 6)
  %73 = getelementptr inbounds i8, ptr %0, i64 1616
  tail call void @_ZN10SimTKIpopt13CachedResultsIdEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %73, i32 noundef 1)
  %74 = getelementptr inbounds i8, ptr %0, i64 1640
  tail call void @_ZN10SimTKIpopt13CachedResultsIdEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %74, i32 noundef 1)
  %75 = getelementptr inbounds i8, ptr %0, i64 1664
  tail call void @_ZN10SimTKIpopt13CachedResultsIdEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %75, i32 noundef 1)
  %76 = getelementptr inbounds i8, ptr %0, i64 1688
  tail call void @_ZN10SimTKIpopt13CachedResultsIdEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %76, i32 noundef 1)
  %77 = getelementptr inbounds i8, ptr %0, i64 1712
  tail call void @_ZN10SimTKIpopt13CachedResultsIdEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %77, i32 noundef 1)
  %78 = getelementptr inbounds i8, ptr %0, i64 1736
  tail call void @_ZN10SimTKIpopt13CachedResultsIdEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %78, i32 noundef 3)
  %79 = getelementptr inbounds i8, ptr %0, i64 1760
  tail call void @_ZN10SimTKIpopt13CachedResultsIdEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %79, i32 noundef 5)
  %80 = getelementptr inbounds i8, ptr %0, i64 1784
  tail call void @_ZN10SimTKIpopt13CachedResultsIdEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %80, i32 noundef 5)
  %81 = getelementptr inbounds i8, ptr %0, i64 1808
  tail call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %81, i32 noundef 1)
  %82 = getelementptr inbounds i8, ptr %0, i64 1832
  tail call void @_ZN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %82, i32 noundef 1)
  %83 = getelementptr inbounds i8, ptr %0, i64 1856
  tail call void @_ZN10SimTKIpopt13CachedResultsIdEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %83, i32 noundef 1)
  %84 = getelementptr inbounds i8, ptr %0, i64 1880
  tail call void @_ZN10SimTKIpopt13CachedResultsIdEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %84, i32 noundef 1)
  %85 = getelementptr inbounds i8, ptr %0, i64 1904
  tail call void @_ZN10SimTKIpopt13CachedResultsIdEC2Ei(ptr noundef nonnull align 8 dereferenceable(24) %85, i32 noundef 1)
  %86 = getelementptr inbounds i8, ptr %0, i64 1928
  tail call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8) %86, ptr noundef null)
  %87 = getelementptr inbounds i8, ptr %0, i64 1936
  tail call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8) %87, ptr noundef null)
  %88 = getelementptr inbounds i8, ptr %0, i64 1944
  tail call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8) %88, ptr noundef null)
  %89 = getelementptr inbounds i8, ptr %0, i64 1952
  tail call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2EPS1_(ptr noundef nonnull align 8 dereferenceable(8) %89, ptr noundef null)
  %90 = getelementptr inbounds i8, ptr %0, i64 1960
  tail call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %90)
  %91 = getelementptr inbounds i8, ptr %0, i64 1968
  tail call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %91)
  %92 = getelementptr inbounds i8, ptr %0, i64 1976
  tail call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %92)
  %93 = getelementptr inbounds i8, ptr %0, i64 1984
  tail call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %93)
  %94 = getelementptr inbounds i8, ptr %0, i64 1992
  tail call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %94)
  %95 = getelementptr inbounds i8, ptr %0, i64 2000
  tail call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %95)
  %96 = getelementptr inbounds i8, ptr %0, i64 2008
  tail call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %96)
  %97 = getelementptr inbounds i8, ptr %0, i64 2016
  tail call void @_ZN10SimTKIpopt8SmartPtrINS_6VectorEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %97)
  %98 = getelementptr inbounds i8, ptr %0, i64 2024
  store i8 0, ptr %98, align 8, !tbaa !8
  ret void

99:                                               ; preds = %3
  %100 = landingpad { ptr, i32 }
          cleanup
  br label %103

101:                                              ; preds = %5
  %102 = landingpad { ptr, i32 }
          cleanup
  tail call void @_ZN10SimTKIpopt8SmartPtrINS_8IpoptNLPEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %4) #3
  br label %103

103:                                              ; preds = %101, %99
  %.pn = phi { ptr, i32 } [ %102, %101 ], [ %100, %99 ]
  tail call void @_ZN10SimTKIpopt16ReferencedObjectD2Ev(ptr noundef nonnull align 8 dereferenceable(12) %0) #3
  resume { ptr, i32 } %.pn
}

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

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

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

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

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

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

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

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

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

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

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

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

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write)
declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #2

attributes #0 = { 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 #1 = { mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #3 = { 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, !18, i64 2024}
!9 = !{!"_ZTSN10SimTKIpopt25IpoptCalculatedQuantitiesE", !10, i64 0, !13, i64 16, !15, i64 24, !16, i64 32, !16, i64 40, !16, i64 48, !17, i64 56, !18, i64 60, !19, i64 64, !19, i64 88, !19, i64 112, !19, i64 136, !19, i64 160, !19, i64 184, !19, i64 208, !19, i64 232, !11, i64 256, !11, i64 260, !11, i64 264, !11, i64 268, !20, i64 272, !20, i64 296, !21, i64 320, !21, i64 344, !20, i64 368, !20, i64 392, !21, i64 416, !21, i64 440, !21, i64 464, !21, i64 488, !21, i64 512, !21, i64 536, !21, i64 560, !21, i64 584, !21, i64 608, !21, i64 632, !22, i64 656, !22, i64 680, !22, i64 704, !22, i64 728, !21, i64 752, !21, i64 776, !21, i64 800, !21, i64 824, !21, i64 848, !21, i64 872, !20, i64 896, !20, i64 920, !20, i64 944, !20, i64 968, !23, i64 992, !21, i64 1016, !21, i64 1040, !21, i64 1064, !21, i64 1088, !21, i64 1112, !21, i64 1136, !21, i64 1160, !21, i64 1184, !21, i64 1208, !21, i64 1232, !21, i64 1256, !21, i64 1280, !21, i64 1304, !21, i64 1328, !21, i64 1352, !21, i64 1376, !21, i64 1400, !21, i64 1424, !20, i64 1448, !20, i64 1472, !20, i64 1496, !20, i64 1520, !20, i64 1544, !20, i64 1568, !20, i64 1592, !20, i64 1616, !20, i64 1640, !20, i64 1664, !20, i64 1688, !20, i64 1712, !20, i64 1736, !20, i64 1760, !20, i64 1784, !21, i64 1808, !21, i64 1832, !20, i64 1856, !20, i64 1880, !20, i64 1904, !24, i64 1928, !24, i64 1936, !24, i64 1944, !24, i64 1952, !24, i64 1960, !24, i64 1968, !24, i64 1976, !24, i64 1984, !24, i64 1992, !24, i64 2000, !24, i64 2008, !24, i64 2016, !18, i64 2024}
!10 = !{!"_ZTSN10SimTKIpopt16ReferencedObjectE", !11, i64 8}
!11 = !{!"int", !12, i64 0}
!12 = !{!"omnipotent char", !7, i64 0}
!13 = !{!"_ZTSN10SimTKIpopt8SmartPtrINS_8IpoptNLPEEE", !14, i64 0}
!14 = !{!"any pointer", !12, i64 0}
!15 = !{!"_ZTSN10SimTKIpopt8SmartPtrINS_9IpoptDataEEE", !14, i64 0}
!16 = !{!"double", !12, i64 0}
!17 = !{!"_ZTSN10SimTKIpopt9ENormTypeE", !12, i64 0}
!18 = !{!"bool", !12, i64 0}
!19 = !{!"_ZTSN10SimTKIpopt13CachedResultsINS_8SmartPtrINS_6VectorEEEEE", !11, i64 8, !14, i64 16}
!20 = !{!"_ZTSN10SimTKIpopt13CachedResultsIdEE", !11, i64 8, !14, i64 16}
!21 = !{!"_ZTSN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6VectorEEEEE", !11, i64 8, !14, i64 16}
!22 = !{!"_ZTSN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_6MatrixEEEEE", !11, i64 8, !14, i64 16}
!23 = !{!"_ZTSN10SimTKIpopt13CachedResultsINS_8SmartPtrIKNS_9SymMatrixEEEEE", !11, i64 8, !14, i64 16}
!24 = !{!"_ZTSN10SimTKIpopt8SmartPtrINS_6VectorEEE", !14, i64 0}


; Effective O3 passes: GlobalOptPass,InstCombinePass,MemCpyOptPass,SROAPass,SimplifyCFGPass,TailCallElimPass