; LLVM IR from Derek-TH-Wang/quadruped_ctrl :: src/MPC_Ctrl (ConvexMPCLocomotion)

; 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.std::basic_ostream" = type { ptr, %"class.std::basic_ios" }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%"class.std::locale" = type { ptr }
%"class.std::vector.87" = type { %"struct.std::_Vector_base.88" }
%"struct.std::_Vector_base.88" = type { %"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl" }
%"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl" = type { %"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl_data" }
%"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.Eigen::Matrix.128" = type { %"class.Eigen::PlainObjectBase.129" }
%"class.Eigen::PlainObjectBase.129" = type { %"class.Eigen::DenseStorage.19" }
%"class.Eigen::DenseStorage.19" = type { %"struct.Eigen::internal::plain_array.20" }
%"struct.Eigen::internal::plain_array.20" = type { [4 x i32] }
%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::allocator" = type { i8 }
%"class.Eigen::Matrix" = type { %"class.Eigen::PlainObjectBase" }
%"class.Eigen::PlainObjectBase" = type { %"class.Eigen::DenseStorage" }
%"class.Eigen::DenseStorage" = type { %"struct.Eigen::internal::plain_array" }
%"struct.Eigen::internal::plain_array" = type { [3 x float] }
%"class.Eigen::Product" = type { %"class.Eigen::Transpose", ptr }
%"class.Eigen::Transpose" = type { ptr }
%"class.Eigen::CwiseBinaryOp" = type <{ ptr, %"class.Eigen::Product.154", [8 x i8] }>
%"class.Eigen::Product.154" = type { %"class.Eigen::Transpose", %"class.Eigen::CwiseBinaryOp.161" }
%"class.Eigen::CwiseBinaryOp.161" = type <{ ptr, ptr, [8 x i8] }>
%"class.Eigen::CwiseBinaryOp.178" = type <{ [4 x i8], %"class.Eigen::CwiseNullaryOp", [4 x i8], ptr, [8 x i8] }>
%"class.Eigen::CwiseNullaryOp" = type { [4 x i8], %"struct.Eigen::internal::scalar_constant_op" }
%"struct.Eigen::internal::scalar_constant_op" = type { float }
%"class.Eigen::Product.189" = type { ptr, ptr }
%"class.Eigen::Matrix.29" = type { %"class.Eigen::PlainObjectBase.30" }
%"class.Eigen::PlainObjectBase.30" = type { %"class.Eigen::DenseStorage.37" }
%"class.Eigen::DenseStorage.37" = type { %"struct.Eigen::internal::plain_array.38" }
%"struct.Eigen::internal::plain_array.38" = type { [9 x float] }
%"class.Eigen::CwiseBinaryOp.196" = type <{ ptr, %"class.Eigen::Product.202", [8 x i8] }>
%"class.Eigen::Product.202" = type { %"class.Eigen::Transpose", %"class.Eigen::CwiseBinaryOp.209" }
%"class.Eigen::CwiseBinaryOp.209" = type <{ ptr, %"class.Eigen::CwiseBinaryOp.215", [8 x i8] }>
%"class.Eigen::CwiseBinaryOp.215" = type <{ ptr, %"class.Eigen::CwiseNullaryOp", [8 x i8] }>
%"struct.Eigen::CommaInitializer" = type { ptr, i64, i64, i64 }
%"class.Eigen::CwiseBinaryOp.224" = type <{ [4 x i8], %"class.Eigen::CwiseNullaryOp.230", [4 x i8], ptr, [8 x i8] }>
%"class.Eigen::CwiseNullaryOp.230" = type { [4 x i8], %"struct.Eigen::internal::scalar_constant_op" }
%"class.Eigen::Matrix.3" = type { %"class.Eigen::PlainObjectBase.4" }
%"class.Eigen::PlainObjectBase.4" = type { %"class.Eigen::DenseStorage.11" }
%"class.Eigen::DenseStorage.11" = type { %"struct.Eigen::internal::plain_array.12" }
%"struct.Eigen::internal::plain_array.12" = type { [4 x float] }
%"class.Eigen::CwiseBinaryOp.236" = type <{ %"class.Eigen::Product.242", ptr, [8 x i8] }>
%"class.Eigen::Product.242" = type { ptr, %"class.Eigen::CwiseBinaryOp.249" }
%"class.Eigen::CwiseBinaryOp.249" = type <{ ptr, ptr, [8 x i8] }>
%"class.Eigen::CwiseBinaryOp.257" = type <{ [4 x i8], %"class.Eigen::CwiseNullaryOp.230", [4 x i8] }>
%"class.Eigen::CwiseNullaryOp.264" = type { [3 x i8] }
%class.ConvexMPCLocomotion = type { i8, %"class.Eigen::Matrix", %"class.Eigen::Matrix", %"class.Eigen::Matrix", %"class.Eigen::Matrix", %"class.Eigen::Matrix", [4 x %"class.Eigen::Matrix"], [4 x %"class.Eigen::Matrix"], [4 x %"class.Eigen::Matrix"], [4 x %"class.Eigen::Matrix"], %"class.Eigen::Matrix.3", float, float, float, float, float, float, float, float, float, float, i32, i32, i32, float, float, i32, [4 x %"class.Eigen::Matrix"], %"class.Eigen::Matrix.3", [4 x %class.FootSwingTrajectory], %class.OffsetDurationGait, %class.OffsetDurationGait, %class.OffsetDurationGait, %class.OffsetDurationGait, %class.OffsetDurationGait, %class.OffsetDurationGait, %class.OffsetDurationGait, %class.OffsetDurationGait, %class.OffsetDurationGait, %class.OffsetDurationGait, %class.OffsetDurationGait, %"class.Eigen::Matrix.29", %"class.Eigen::Matrix.29", %"class.Eigen::Matrix.29", %"class.Eigen::Matrix.29", %"class.Eigen::Matrix.29", i8, [4 x i8], [4 x float], [6 x float], i32, i32, %"class.Eigen::Matrix", %"class.Eigen::Matrix", %"class.Eigen::Matrix", float, [4 x %"class.Eigen::Matrix"], [12 x i8], %struct.CMPC_Result, [720 x float], float, %struct.CMPC_Jump, %"class.std::vector", %class.SparseCMPC }
%class.FootSwingTrajectory = type { %"class.Eigen::Matrix", %"class.Eigen::Matrix", %"class.Eigen::Matrix", %"class.Eigen::Matrix", %"class.Eigen::Matrix", float }
%class.OffsetDurationGait = type <{ %class.Gait, ptr, %"class.Eigen::Array", %"class.Eigen::Array", %"class.Eigen::Array.21", %"class.Eigen::Array.21", i32, i32, float, [4 x i8] }>
%class.Gait = type { ptr, %"class.std::__cxx11::basic_string" }
%"class.Eigen::Array" = type { %"class.Eigen::PlainObjectBase.13" }
%"class.Eigen::PlainObjectBase.13" = type { %"class.Eigen::DenseStorage.19" }
%"class.Eigen::Array.21" = type { %"class.Eigen::PlainObjectBase.22" }
%"class.Eigen::PlainObjectBase.22" = type { %"class.Eigen::DenseStorage.11" }
%struct.CMPC_Result = type { [4 x %struct.LegControllerCommand], %"class.Eigen::Matrix.3" }
%struct.LegControllerCommand = type { %"class.Eigen::Matrix", %"class.Eigen::Matrix", %"class.Eigen::Matrix", %"class.Eigen::Matrix", %"class.Eigen::Matrix", %"class.Eigen::Matrix", %"class.Eigen::Matrix.29", %"class.Eigen::Matrix.29", %"class.Eigen::Matrix.29", %"class.Eigen::Matrix.29" }
%struct.CMPC_Jump = type { i8, i8, i8, i32, i32, i32 }
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<Eigen::Matrix<double, 12, 1>, Eigen::aligned_allocator<Eigen::Matrix<double, 12, 1>>>::_Vector_impl" }
%"struct.std::_Vector_base<Eigen::Matrix<double, 12, 1>, Eigen::aligned_allocator<Eigen::Matrix<double, 12, 1>>>::_Vector_impl" = type { %"struct.std::_Vector_base<Eigen::Matrix<double, 12, 1>, Eigen::aligned_allocator<Eigen::Matrix<double, 12, 1>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<Eigen::Matrix<double, 12, 1>, Eigen::aligned_allocator<Eigen::Matrix<double, 12, 1>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%class.SparseCMPC = type <{ %"class.Eigen::Matrix.42", [8 x i8], %"class.Eigen::Matrix.52", double, double, double, double, %"class.Eigen::Matrix.62", %"class.Eigen::Matrix.62", %"class.Eigen::Matrix.62", %"class.Eigen::Matrix.62", %"class.Eigen::Matrix.72", %"class.Eigen::Matrix.52", %"class.Eigen::Matrix.52", %"class.Eigen::Matrix.52", %"class.std::vector.82", %"class.std::vector", %"class.std::vector.87", %"class.std::vector.92", %"class.std::vector.98", %"class.std::vector.103", %"class.std::vector.109", %"class.std::vector.109", %"class.std::vector.114", %"class.std::vector.114", %"class.std::vector.87", %"class.std::vector.87", %"class.std::vector.87", %"class.Eigen::Matrix.119", i32, i32, i32, [12 x i8] }>
%"class.Eigen::Matrix.42" = type { %"class.Eigen::PlainObjectBase.43" }
%"class.Eigen::PlainObjectBase.43" = type { %"class.Eigen::DenseStorage.50" }
%"class.Eigen::DenseStorage.50" = type { %"struct.Eigen::internal::plain_array.51" }
%"struct.Eigen::internal::plain_array.51" = type { [9 x double] }
%"class.Eigen::Matrix.62" = type { %"class.Eigen::PlainObjectBase.63" }
%"class.Eigen::PlainObjectBase.63" = type { %"class.Eigen::DenseStorage.70" }
%"class.Eigen::DenseStorage.70" = type { %"struct.Eigen::internal::plain_array.71" }
%"struct.Eigen::internal::plain_array.71" = type { [3 x double] }
%"class.Eigen::Matrix.72" = type { %"class.Eigen::PlainObjectBase.73" }
%"class.Eigen::PlainObjectBase.73" = type { %"class.Eigen::DenseStorage.80" }
%"class.Eigen::DenseStorage.80" = type { %"struct.Eigen::internal::plain_array.81" }
%"struct.Eigen::internal::plain_array.81" = type { [4 x double] }
%"class.Eigen::Matrix.52" = type { %"class.Eigen::PlainObjectBase.53" }
%"class.Eigen::PlainObjectBase.53" = type { %"class.Eigen::DenseStorage.60" }
%"class.Eigen::DenseStorage.60" = type { %"struct.Eigen::internal::plain_array.61" }
%"struct.Eigen::internal::plain_array.61" = type { [12 x double] }
%"class.std::vector.82" = type { %"struct.std::_Vector_base.83" }
%"struct.std::_Vector_base.83" = type { %"struct.std::_Vector_base<ContactState, std::allocator<ContactState>>::_Vector_impl" }
%"struct.std::_Vector_base<ContactState, std::allocator<ContactState>>::_Vector_impl" = type { %"struct.std::_Vector_base<ContactState, std::allocator<ContactState>>::_Vector_impl_data" }
%"struct.std::_Vector_base<ContactState, std::allocator<ContactState>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.92" = type { %"struct.std::_Vector_base.93" }
%"struct.std::_Vector_base.93" = type { %"struct.std::_Vector_base<Eigen::Matrix<double, 12, 12>, Eigen::aligned_allocator<Eigen::Matrix<double, 12, 12>>>::_Vector_impl" }
%"struct.std::_Vector_base<Eigen::Matrix<double, 12, 12>, Eigen::aligned_allocator<Eigen::Matrix<double, 12, 12>>>::_Vector_impl" = type { %"struct.std::_Vector_base<Eigen::Matrix<double, 12, 12>, Eigen::aligned_allocator<Eigen::Matrix<double, 12, 12>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<Eigen::Matrix<double, 12, 12>, Eigen::aligned_allocator<Eigen::Matrix<double, 12, 12>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.98" = type { %"struct.std::_Vector_base.99" }
%"struct.std::_Vector_base.99" = type { %"struct.std::_Vector_base<BblockID, std::allocator<BblockID>>::_Vector_impl" }
%"struct.std::_Vector_base<BblockID, std::allocator<BblockID>>::_Vector_impl" = type { %"struct.std::_Vector_base<BblockID, std::allocator<BblockID>>::_Vector_impl_data" }
%"struct.std::_Vector_base<BblockID, std::allocator<BblockID>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.103" = type { %"struct.std::_Vector_base.104" }
%"struct.std::_Vector_base.104" = type { %"struct.std::_Vector_base<Eigen::Matrix<double, 12, 3>, Eigen::aligned_allocator<Eigen::Matrix<double, 12, 3>>>::_Vector_impl" }
%"struct.std::_Vector_base<Eigen::Matrix<double, 12, 3>, Eigen::aligned_allocator<Eigen::Matrix<double, 12, 3>>>::_Vector_impl" = type { %"struct.std::_Vector_base<Eigen::Matrix<double, 12, 3>, Eigen::aligned_allocator<Eigen::Matrix<double, 12, 3>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<Eigen::Matrix<double, 12, 3>, Eigen::aligned_allocator<Eigen::Matrix<double, 12, 3>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.109" = type { %"struct.std::_Vector_base.110" }
%"struct.std::_Vector_base.110" = type { %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int>>::_Vector_impl" }
%"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int>>::_Vector_impl" = type { %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int>>::_Vector_impl_data" }
%"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.114" = type { %"struct.std::_Vector_base.115" }
%"struct.std::_Vector_base.115" = type { %"struct.std::_Vector_base<SparseTriple<double>, std::allocator<SparseTriple<double>>>::_Vector_impl" }
%"struct.std::_Vector_base<SparseTriple<double>, std::allocator<SparseTriple<double>>>::_Vector_impl" = type { %"struct.std::_Vector_base<SparseTriple<double>, std::allocator<SparseTriple<double>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<SparseTriple<double>, std::allocator<SparseTriple<double>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.Eigen::Matrix.119" = type { %"class.Eigen::PlainObjectBase.120" }
%"class.Eigen::PlainObjectBase.120" = type { %"class.Eigen::DenseStorage.127" }
%"class.Eigen::DenseStorage.127" = type { ptr, i64 }
%struct.StateEstimate = type { %"class.Eigen::Matrix.3", %"class.Eigen::Matrix", %"class.Eigen::Matrix", [8 x i8], %"class.Eigen::Matrix.3", %"class.Eigen::Matrix", %"class.Eigen::Matrix.29", %"class.Eigen::Matrix", %"class.Eigen::Matrix", %"class.Eigen::Matrix", %"class.Eigen::Matrix", %"class.Eigen::Matrix", [4 x i8] }
%class.LegController = type { [4 x %struct.LegControllerCommand], [4 x %struct.LegControllerData], ptr, i8, float, i8, i32, i32, [12 x float], [12 x float], i32 }
%struct.LegControllerData = type { %"class.Eigen::Matrix", %"class.Eigen::Matrix", %"class.Eigen::Matrix", %"class.Eigen::Matrix", %"class.Eigen::Matrix.29", %"class.Eigen::Matrix", ptr }

@.str.8 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [17 x i8], align 1
@_ZSt4cout = external global %"class.std::basic_ostream", align 8
@.str.17 = external hidden unnamed_addr constant [18 x i8], align 1
@__const._ZN19ConvexMPCLocomotion3runIfEEvR9QuadrupedIT_ER13LegControllerIS2_ER23StateEstimatorContainerIfER19DesiredStateCommandIS2_ESt6vectorIdSaIdEEii.side_sign = external hidden unnamed_addr constant [4 x float], align 16
@__const._ZN19ConvexMPCLocomotion3runIfEEvR9QuadrupedIT_ER13LegControllerIS2_ER23StateEstimatorContainerIfER19DesiredStateCommandIS2_ESt6vectorIdSaIdEEii.interleave_y = external hidden unnamed_addr constant [4 x float], align 16

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2Ev(ptr noundef nonnull align 4 dereferenceable(12)) unnamed_addr #0 align 2

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEC2ERKiS3_S3_S3_(ptr noundef nonnull align 16 dereferenceable(16), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4)) unnamed_addr #0 align 2

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

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

declare i32 @__gxx_personality_v0(...)

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1), i64 noundef) #0 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 4 dereferenceable(12) ptr @_ZN5Eigen9DenseBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEEE7setZeroEv(ptr noundef nonnull align 1 dereferenceable(1)) #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN19ConvexMPCLocomotion13_SetupCommandER23StateEstimatorContainerIfESt6vectorIdSaIdEE(ptr noundef nonnull align 16 dereferenceable(7184), ptr noundef nonnull align 16 dereferenceable(96), ptr noundef) #3 align 2

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare float @llvm.fmuladd.f32(float, float, float) #4

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 4 dereferenceable(4) ptr @_ZNK5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi0EEixEl(ptr noundef nonnull align 1 dereferenceable(1), i64 noundef) #0 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef float @_ZSt3absf(float noundef) #5

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN19ConvexMPCLocomotion3runIfEEvR9QuadrupedIT_ER13LegControllerIS2_ER23StateEstimatorContainerIfER19DesiredStateCommandIS2_ESt6vectorIdSaIdEEii(ptr noundef nonnull align 16 dereferenceable(7184) %0, ptr noundef nonnull align 16 dereferenceable(1160) %1, ptr noundef nonnull align 8 dereferenceable(1408) %2, ptr noundef nonnull align 16 dereferenceable(96) %3, ptr noundef nonnull align 1 %4, ptr noundef %5, i32 noundef %6, i32 noundef %7) #3 align 2 personality ptr @__gxx_personality_v0 {
  %9 = alloca ptr, align 8
  %10 = alloca ptr, align 8
  %11 = alloca ptr, align 8
  %12 = alloca ptr, align 8
  %13 = alloca ptr, align 8
  %14 = alloca ptr, align 8
  %15 = alloca i32, align 4
  %16 = alloca i32, align 4
  %17 = alloca i8, align 1
  %18 = alloca %"class.std::vector.87", align 8
  %19 = alloca ptr, align 8
  %20 = alloca i32, align 4
  %21 = alloca ptr, align 8
  %22 = alloca ptr, align 8
  %23 = alloca i32, align 4
  %24 = alloca double, align 8
  %25 = alloca %"class.Eigen::Matrix.128", align 16
  %26 = alloca i32, align 4
  %27 = alloca i32, align 4
  %28 = alloca i32, align 4
  %29 = alloca i32, align 4
  %30 = alloca %"class.Eigen::Matrix.128", align 16
  %31 = alloca %"class.std::__cxx11::basic_string", align 8
  %32 = alloca %"class.std::allocator", align 1
  %33 = alloca %"class.Eigen::Matrix.128", align 16
  %34 = alloca i32, align 4
  %35 = alloca i32, align 4
  %36 = alloca i32, align 4
  %37 = alloca i32, align 4
  %38 = alloca %"class.Eigen::Matrix.128", align 16
  %39 = alloca i32, align 4
  %40 = alloca i32, align 4
  %41 = alloca i32, align 4
  %42 = alloca i32, align 4
  %43 = alloca %"class.std::__cxx11::basic_string", align 8
  %44 = alloca %"class.std::allocator", align 1
  %45 = alloca %"class.Eigen::Matrix.128", align 16
  %46 = alloca i32, align 4
  %47 = alloca i32, align 4
  %48 = alloca i32, align 4
  %49 = alloca i32, align 4
  %50 = alloca %"class.Eigen::Matrix.128", align 16
  %51 = alloca i32, align 4
  %52 = alloca i32, align 4
  %53 = alloca i32, align 4
  %54 = alloca i32, align 4
  %55 = alloca %"class.std::__cxx11::basic_string", align 8
  %56 = alloca %"class.std::allocator", align 1
  %57 = alloca %"class.Eigen::Matrix.128", align 16
  %58 = alloca i32, align 4
  %59 = alloca i32, align 4
  %60 = alloca i32, align 4
  %61 = alloca i32, align 4
  %62 = alloca %"class.Eigen::Matrix.128", align 16
  %63 = alloca i32, align 4
  %64 = alloca i32, align 4
  %65 = alloca i32, align 4
  %66 = alloca i32, align 4
  %67 = alloca %"class.std::__cxx11::basic_string", align 8
  %68 = alloca %"class.std::allocator", align 1
  %69 = alloca %"class.Eigen::Matrix.128", align 16
  %70 = alloca i32, align 4
  %71 = alloca i32, align 4
  %72 = alloca i32, align 4
  %73 = alloca i32, align 4
  %74 = alloca %"class.Eigen::Matrix.128", align 16
  %75 = alloca i32, align 4
  %76 = alloca i32, align 4
  %77 = alloca i32, align 4
  %78 = alloca i32, align 4
  %79 = alloca %"class.std::__cxx11::basic_string", align 8
  %80 = alloca %"class.std::allocator", align 1
  %81 = alloca %"class.Eigen::Matrix.128", align 16
  %82 = alloca i32, align 4
  %83 = alloca i32, align 4
  %84 = alloca i32, align 4
  %85 = alloca i32, align 4
  %86 = alloca %"class.Eigen::Matrix.128", align 16
  %87 = alloca i32, align 4
  %88 = alloca i32, align 4
  %89 = alloca i32, align 4
  %90 = alloca i32, align 4
  %91 = alloca %"class.std::__cxx11::basic_string", align 8
  %92 = alloca %"class.std::allocator", align 1
  %93 = alloca %"class.Eigen::Matrix", align 4
  %94 = alloca float, align 4
  %95 = alloca %"class.Eigen::Matrix", align 4
  %96 = alloca %"class.Eigen::Product", align 8
  %97 = alloca %"class.Eigen::Transpose", align 8
  %98 = alloca %"class.Eigen::Matrix", align 4
  %99 = alloca i32, align 4
  %100 = alloca %"class.Eigen::CwiseBinaryOp", align 8
  %101 = alloca %"class.Eigen::Product.154", align 8
  %102 = alloca %"class.Eigen::Transpose", align 8
  %103 = alloca %"class.Eigen::CwiseBinaryOp.161", align 8
  %104 = alloca %"class.Eigen::Matrix", align 4
  %105 = alloca %"class.Eigen::Matrix", align 4
  %106 = alloca %"class.Eigen::CwiseBinaryOp.178", align 8
  %107 = alloca %"class.Eigen::Matrix", align 4
  %108 = alloca float, align 4
  %109 = alloca i32, align 4
  %110 = alloca %"class.Eigen::Matrix", align 4
  %111 = alloca %"class.Eigen::Matrix", align 4
  %112 = alloca i32, align 4
  %113 = alloca [4 x float], align 16
  %114 = alloca [4 x float], align 16
  %115 = alloca float, align 4
  %116 = alloca float, align 4
  %117 = alloca i32, align 4
  %118 = alloca %"class.Eigen::Matrix", align 4
  %119 = alloca float, align 4
  %120 = alloca float, align 4
  %121 = alloca float, align 4
  %122 = alloca %"class.Eigen::Matrix", align 4
  %123 = alloca %"class.Eigen::CwiseBinaryOp.161", align 8
  %124 = alloca %"class.Eigen::Matrix", align 4
  %125 = alloca float, align 4
  %126 = alloca %"class.Eigen::Matrix", align 4
  %127 = alloca %"class.Eigen::Product.189", align 8
  %128 = alloca %"class.Eigen::Matrix.29", align 4
  %129 = alloca %"class.Eigen::Matrix", align 4
  %130 = alloca %"class.Eigen::Matrix", align 4
  %131 = alloca %"class.Eigen::CwiseBinaryOp.196", align 8
  %132 = alloca %"class.Eigen::Product.202", align 8
  %133 = alloca %"class.Eigen::Transpose", align 8
  %134 = alloca %"class.Eigen::CwiseBinaryOp.209", align 8
  %135 = alloca %"class.Eigen::CwiseBinaryOp.215", align 8
  %136 = alloca float, align 4
  %137 = alloca float, align 4
  %138 = alloca float, align 4
  %139 = alloca %"class.Eigen::Matrix", align 4
  %140 = alloca %"struct.Eigen::CommaInitializer", align 8
  %141 = alloca float, align 4
  %142 = alloca float, align 4
  %143 = alloca float, align 4
  %144 = alloca float, align 4
  %145 = alloca float, align 4
  %146 = alloca float, align 4
  %147 = alloca float, align 4
  %148 = alloca float, align 4
  %149 = alloca float, align 4
  %150 = alloca %"class.Eigen::CwiseBinaryOp.224", align 8
  %151 = alloca double, align 8
  %152 = alloca %"struct.Eigen::CommaInitializer", align 8
  %153 = alloca float, align 4
  %154 = alloca float, align 4
  %155 = alloca float, align 4
  %156 = alloca float, align 4
  %157 = alloca float, align 4
  %158 = alloca float, align 4
  %159 = alloca float, align 4
  %160 = alloca float, align 4
  %161 = alloca float, align 4
  %162 = alloca %"class.Eigen::CwiseBinaryOp.224", align 8
  %163 = alloca double, align 8
  %164 = alloca %"class.Eigen::Matrix.3", align 16
  %165 = alloca %"class.Eigen::Matrix.3", align 16
  %166 = alloca ptr, align 8
  %167 = alloca %"class.Eigen::Matrix.3", align 16
  %168 = alloca float, align 4
  %169 = alloca float, align 4
  %170 = alloca float, align 4
  %171 = alloca float, align 4
  %172 = alloca i8, align 1
  %173 = alloca i32, align 4
  %174 = alloca float, align 4
  %175 = alloca float, align 4
  %176 = alloca %"class.Eigen::Matrix", align 4
  %177 = alloca %"class.Eigen::Matrix", align 4
  %178 = alloca %"class.Eigen::Matrix", align 4
  %179 = alloca %"class.Eigen::Matrix", align 4
  %180 = alloca %"class.Eigen::CwiseBinaryOp.236", align 8
  %181 = alloca %"class.Eigen::Product.242", align 8
  %182 = alloca %"class.Eigen::CwiseBinaryOp.249", align 8
  %183 = alloca %"class.Eigen::Matrix", align 4
  %184 = alloca %"class.Eigen::Matrix", align 4
  %185 = alloca %"class.Eigen::Product.242", align 8
  %186 = alloca %"class.Eigen::CwiseBinaryOp.249", align 8
  %187 = alloca %"class.Eigen::Matrix", align 4
  %188 = alloca %"class.Eigen::CwiseBinaryOp.224", align 8
  %189 = alloca i32, align 4
  %190 = alloca %"class.Eigen::CwiseBinaryOp.224", align 8
  %191 = alloca i32, align 4
  %192 = alloca %"class.Eigen::Matrix", align 4
  %193 = alloca %"class.Eigen::Matrix", align 4
  %194 = alloca %"class.Eigen::Matrix", align 4
  %195 = alloca %"class.Eigen::CwiseBinaryOp.236", align 8
  %196 = alloca %"class.Eigen::Product.242", align 8
  %197 = alloca %"class.Eigen::CwiseBinaryOp.249", align 8
  %198 = alloca %"class.Eigen::Matrix", align 4
  %199 = alloca %"class.Eigen::Matrix", align 4
  %200 = alloca %"class.Eigen::Product.242", align 8
  %201 = alloca %"class.Eigen::CwiseBinaryOp.249", align 8
  %202 = alloca %"class.Eigen::CwiseBinaryOp.224", align 8
  %203 = alloca i32, align 4
  %204 = alloca %"class.Eigen::CwiseBinaryOp.257", align 4
  %205 = alloca %"class.Eigen::CwiseNullaryOp.264", align 1
  %206 = alloca double, align 8
  %207 = alloca %"class.Eigen::CwiseBinaryOp.224", align 8
  %208 = alloca double, align 8
  %209 = alloca %"class.Eigen::Matrix.3", align 16
  store ptr %0, ptr %9, align 8, !tbaa !5
  store ptr %1, ptr %10, align 8, !tbaa !5
  store ptr %2, ptr %11, align 8, !tbaa !5
  store ptr %3, ptr %12, align 8, !tbaa !5
  store ptr %4, ptr %13, align 8, !tbaa !5
  store ptr %5, ptr %14, align 8, !tbaa !5
  store i32 %6, ptr %15, align 4, !tbaa !9
  store i32 %7, ptr %16, align 4, !tbaa !9
  %210 = load ptr, ptr %9, align 8
  call void @llvm.lifetime.start.p0(i64 1, ptr %17) #9
  store i8 0, ptr %17, align 1, !tbaa !11
  %211 = load ptr, ptr %12, align 8, !tbaa !5
  call void @_ZNSt6vectorIdSaIdEEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %18, ptr noundef nonnull align 8 dereferenceable(24) %5)
  invoke void @_ZN19ConvexMPCLocomotion13_SetupCommandER23StateEstimatorContainerIfESt6vectorIdSaIdEE(ptr noundef nonnull align 16 dereferenceable(7184) %210, ptr noundef nonnull align 16 dereferenceable(96) %211, ptr noundef %18)
          to label %212 unwind label %222

212:                                              ; preds = %8
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %18) #9
  %213 = load i32, ptr %15, align 4, !tbaa !9
  %214 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 51
  store i32 %213, ptr %214, align 8, !tbaa !13
  %215 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 51
  %216 = load i32, ptr %215, align 8, !tbaa !13
  %217 = icmp sge i32 %216, 20
  br i1 %217, label %218, label %226

218:                                              ; preds = %212
  %219 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 51
  %220 = load i32, ptr %219, align 8, !tbaa !13
  %221 = sub nsw i32 %220, 20
  store i32 %221, ptr %219, align 8, !tbaa !13
  store i8 1, ptr %17, align 1, !tbaa !11
  br label %226

222:                                              ; preds = %8
  %223 = landingpad { ptr, i32 }
          cleanup
  %224 = extractvalue { ptr, i32 } %223, 0
  store ptr %224, ptr %19, align 8
  %225 = extractvalue { ptr, i32 } %223, 1
  store i32 %225, ptr %20, align 4
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %18) #9
  br label %1544

226:                                              ; preds = %218, %212
  call void @llvm.lifetime.start.p0(i64 8, ptr %21) #9
  %227 = load ptr, ptr %12, align 8, !tbaa !5
  %228 = call noundef nonnull align 16 dereferenceable(172) ptr @_ZN23StateEstimatorContainerIfE9getResultEv(ptr noundef nonnull align 16 dereferenceable(96) %227)
  store ptr %228, ptr %21, align 8, !tbaa !5
  %229 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 51
  %230 = load i32, ptr %229, align 8, !tbaa !13
  %231 = icmp eq i32 %230, 4
  br i1 %231, label %232, label %236

232:                                              ; preds = %226
  %233 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 50
  %234 = load i32, ptr %233, align 4, !tbaa !94
  %235 = icmp ne i32 %234, 4
  br i1 %235, label %240, label %236

236:                                              ; preds = %232, %226
  %237 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 46
  %238 = load i8, ptr %237, align 4, !tbaa !95, !range !96, !noundef !97
  %239 = trunc i8 %238 to i1
  br i1 %239, label %240, label %275

240:                                              ; preds = %236, %232
  %241 = load ptr, ptr %21, align 8, !tbaa !5
  %242 = getelementptr inbounds %struct.StateEstimate, ptr %241, i32 0, i32 1
  %243 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi0EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %242, i64 noundef 0)
  %244 = load float, ptr %243, align 4, !tbaa !98
  %245 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 49
  %246 = getelementptr inbounds [6 x float], ptr %245, i64 0, i64 0
  store float %244, ptr %246, align 4, !tbaa !98
  %247 = load ptr, ptr %21, align 8, !tbaa !5
  %248 = getelementptr inbounds %struct.StateEstimate, ptr %247, i32 0, i32 1
  %249 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi0EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %248, i64 noundef 1)
  %250 = load float, ptr %249, align 4, !tbaa !98
  %251 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 49
  %252 = getelementptr inbounds [6 x float], ptr %251, i64 0, i64 1
  store float %250, ptr %252, align 4, !tbaa !98
  %253 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 49
  %254 = getelementptr inbounds [6 x float], ptr %253, i64 0, i64 2
  store float 0x3FCAE147A0000000, ptr %254, align 4, !tbaa !98
  %255 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 49
  %256 = getelementptr inbounds [6 x float], ptr %255, i64 0, i64 3
  store float 0.000000e+00, ptr %256, align 4, !tbaa !98
  %257 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 49
  %258 = getelementptr inbounds [6 x float], ptr %257, i64 0, i64 4
  store float 0.000000e+00, ptr %258, align 4, !tbaa !98
  %259 = load ptr, ptr %21, align 8, !tbaa !5
  %260 = getelementptr inbounds %struct.StateEstimate, ptr %259, i32 0, i32 7
  %261 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi0EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %260, i64 noundef 2)
  %262 = load float, ptr %261, align 4, !tbaa !98
  %263 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 49
  %264 = getelementptr inbounds [6 x float], ptr %263, i64 0, i64 5
  store float %262, ptr %264, align 4, !tbaa !98
  %265 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 49
  %266 = getelementptr inbounds [6 x float], ptr %265, i64 0, i64 0
  %267 = load float, ptr %266, align 4, !tbaa !98
  %268 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 52
  %269 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %268, i64 noundef 0)
  store float %267, ptr %269, align 4, !tbaa !98
  %270 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 49
  %271 = getelementptr inbounds [6 x float], ptr %270, i64 0, i64 1
  %272 = load float, ptr %271, align 4, !tbaa !98
  %273 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 52
  %274 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %273, i64 noundef 1)
  store float %272, ptr %274, align 4, !tbaa !98
  br label %275

275:                                              ; preds = %240, %236
  call void @llvm.lifetime.start.p0(i64 8, ptr %22) #9
  %276 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 30
  store ptr %276, ptr %22, align 8, !tbaa !5
  %277 = load i32, ptr %16, align 4, !tbaa !9
  %278 = icmp eq i32 %277, 0
  br i1 %278, label %279, label %342

279:                                              ; preds = %275
  %280 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 51
  %281 = load i32, ptr %280, align 8, !tbaa !13
  %282 = icmp eq i32 %281, 1
  br i1 %282, label %283, label %285

283:                                              ; preds = %279
  %284 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 31
  store ptr %284, ptr %22, align 8, !tbaa !5
  br label %341

285:                                              ; preds = %279
  %286 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 51
  %287 = load i32, ptr %286, align 8, !tbaa !13
  %288 = icmp eq i32 %287, 2
  br i1 %288, label %289, label %291

289:                                              ; preds = %285
  %290 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 32
  store ptr %290, ptr %22, align 8, !tbaa !5
  br label %340

291:                                              ; preds = %285
  %292 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 51
  %293 = load i32, ptr %292, align 8, !tbaa !13
  %294 = icmp eq i32 %293, 4
  br i1 %294, label %295, label %297

295:                                              ; preds = %291
  %296 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 35
  store ptr %296, ptr %22, align 8, !tbaa !5
  br label %339

297:                                              ; preds = %291
  %298 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 51
  %299 = load i32, ptr %298, align 8, !tbaa !13
  %300 = icmp eq i32 %299, 5
  br i1 %300, label %301, label %303

301:                                              ; preds = %297
  %302 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 36
  store ptr %302, ptr %22, align 8, !tbaa !5
  br label %338

303:                                              ; preds = %297
  %304 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 51
  %305 = load i32, ptr %304, align 8, !tbaa !13
  %306 = icmp eq i32 %305, 7
  br i1 %306, label %307, label %309

307:                                              ; preds = %303
  %308 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 34
  store ptr %308, ptr %22, align 8, !tbaa !5
  br label %337

309:                                              ; preds = %303
  %310 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 51
  %311 = load i32, ptr %310, align 8, !tbaa !13
  %312 = icmp eq i32 %311, 8
  br i1 %312, label %313, label %315

313:                                              ; preds = %309
  %314 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 39
  store ptr %314, ptr %22, align 8, !tbaa !5
  br label %336

315:                                              ; preds = %309
  %316 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 51
  %317 = load i32, ptr %316, align 8, !tbaa !13
  %318 = icmp eq i32 %317, 9
  br i1 %318, label %319, label %321

319:                                              ; preds = %315
  %320 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 30
  store ptr %320, ptr %22, align 8, !tbaa !5
  br label %335

321:                                              ; preds = %315
  %322 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 51
  %323 = load i32, ptr %322, align 8, !tbaa !13
  %324 = icmp eq i32 %323, 10
  br i1 %324, label %325, label %327

325:                                              ; preds = %321
  %326 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 37
  store ptr %326, ptr %22, align 8, !tbaa !5
  br label %334

327:                                              ; preds = %321
  %328 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 51
  %329 = load i32, ptr %328, align 8, !tbaa !13
  %330 = icmp eq i32 %329, 11
  br i1 %330, label %331, label %333

331:                                              ; preds = %327
  %332 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 38
  store ptr %332, ptr %22, align 8, !tbaa !5
  br label %333

333:                                              ; preds = %331, %327
  br label %334

334:                                              ; preds = %333, %325
  br label %335

335:                                              ; preds = %334, %319
  br label %336

336:                                              ; preds = %335, %313
  br label %337

337:                                              ; preds = %336, %307
  br label %338

338:                                              ; preds = %337, %301
  br label %339

339:                                              ; preds = %338, %295
  br label %340

340:                                              ; preds = %339, %289
  br label %341

341:                                              ; preds = %340, %283
  br label %671

342:                                              ; preds = %275
  %343 = load i32, ptr %16, align 4, !tbaa !9
  %344 = icmp eq i32 %343, 1
  br i1 %344, label %345, label %667

345:                                              ; preds = %342
  call void @llvm.lifetime.start.p0(i64 4, ptr %23) #9
  store i32 10, ptr %23, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %24) #9
  %346 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 16
  %347 = load float, ptr %346, align 4, !tbaa !99
  %348 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 16
  %349 = load float, ptr %348, align 4, !tbaa !99
  %350 = fmul float %347, %349
  %351 = fpext float %350 to double
  %352 = call double @sqrt(double noundef %351) #9
  %353 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 17
  %354 = load float, ptr %353, align 8, !tbaa !100
  %355 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 17
  %356 = load float, ptr %355, align 8, !tbaa !100
  %357 = fmul float %354, %356
  %358 = fpext float %357 to double
  %359 = fadd double %352, %358
  store double %359, ptr %24, align 8, !tbaa !101
  %360 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 40
  store ptr %360, ptr %22, align 8, !tbaa !5
  %361 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 51
  store i32 9, ptr %361, align 8, !tbaa !13
  %362 = load ptr, ptr %22, align 8, !tbaa !5
  %363 = load ptr, ptr %362, align 8, !tbaa !102
  %364 = getelementptr inbounds ptr, ptr %363, i64 9
  %365 = load ptr, ptr %364, align 8
  %366 = call noundef float %365(ptr noundef nonnull align 8 dereferenceable(40) %362)
  %367 = fcmp oeq float %366, 0.000000e+00
  br i1 %367, label %368, label %663

368:                                              ; preds = %345
  %369 = load double, ptr %24, align 8, !tbaa !101
  %370 = fcmp olt double %369, 2.000000e-03
  br i1 %370, label %371, label %445

371:                                              ; preds = %368
  %372 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 11
  %373 = load float, ptr %372, align 16, !tbaa !104
  %374 = call noundef float @_ZSt3absf(float noundef %373)
  %375 = fpext float %374 to double
  %376 = fcmp olt double %375, 1.000000e-02
  br i1 %376, label %377, label %405

377:                                              ; preds = %371
  %378 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 51
  store i32 4, ptr %378, align 8, !tbaa !13
  %379 = load ptr, ptr %22, align 8, !tbaa !5
  %380 = load ptr, ptr %379, align 8, !tbaa !102
  %381 = getelementptr inbounds ptr, ptr %380, i64 10
  %382 = load ptr, ptr %381, align 8
  %383 = call noundef i32 %382(ptr noundef nonnull align 8 dereferenceable(40) %379)
  %384 = load i32, ptr %23, align 4, !tbaa !9
  %385 = icmp ne i32 %383, %384
  br i1 %385, label %386, label %388

386:                                              ; preds = %377
  %387 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 26
  store i32 0, ptr %387, align 4, !tbaa !105
  br label %388

388:                                              ; preds = %386, %377
  %389 = load ptr, ptr %22, align 8, !tbaa !5
  %390 = load i32, ptr %23, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %26) #9
  store i32 0, ptr %26, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %27) #9
  store i32 0, ptr %27, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %28) #9
  store i32 0, ptr %28, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %29) #9
  store i32 0, ptr %29, align 4, !tbaa !9
  call void @_ZN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEC2ERKiS3_S3_S3_(ptr noundef nonnull align 16 dereferenceable(16) %25, ptr noundef nonnull align 4 dereferenceable(4) %26, ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull align 4 dereferenceable(4) %29)
  call void @_ZN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEC2ERKiS3_S3_S3_(ptr noundef nonnull align 16 dereferenceable(16) %30, ptr noundef nonnull align 4 dereferenceable(4) %23, ptr noundef nonnull align 4 dereferenceable(4) %23, ptr noundef nonnull align 4 dereferenceable(4) %23, ptr noundef nonnull align 4 dereferenceable(4) %23)
  call void @llvm.lifetime.start.p0(i64 32, ptr %31) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr %32) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %32) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %31, ptr noundef @.str.8, ptr noundef nonnull align 1 dereferenceable(1) %32)
          to label %391 unwind label %396

391:                                              ; preds = %388
  %392 = load ptr, ptr %389, align 8, !tbaa !102
  %393 = getelementptr inbounds ptr, ptr %392, i64 2
  %394 = load ptr, ptr %393, align 8
  invoke void %394(ptr noundef nonnull align 8 dereferenceable(40) %389, i32 noundef %390, ptr noundef %25, ptr noundef %30, ptr noundef nonnull align 8 dereferenceable(32) %31)
          to label %395 unwind label %400

395:                                              ; preds = %391
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %32) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %32) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %31) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #9
  br label %444

396:                                              ; preds = %388
  %397 = landingpad { ptr, i32 }
          cleanup
  %398 = extractvalue { ptr, i32 } %397, 0
  store ptr %398, ptr %19, align 8
  %399 = extractvalue { ptr, i32 } %397, 1
  store i32 %399, ptr %20, align 4
  br label %404

400:                                              ; preds = %391
  %401 = landingpad { ptr, i32 }
          cleanup
  %402 = extractvalue { ptr, i32 } %401, 0
  store ptr %402, ptr %19, align 8
  %403 = extractvalue { ptr, i32 } %401, 1
  store i32 %403, ptr %20, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #9
  br label %404

404:                                              ; preds = %400, %396
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %32) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %32) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %31) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #9
  br label %666

405:                                              ; preds = %371
  store i32 10, ptr %23, align 4, !tbaa !9
  %406 = load ptr, ptr %22, align 8, !tbaa !5
  %407 = load ptr, ptr %406, align 8, !tbaa !102
  %408 = getelementptr inbounds ptr, ptr %407, i64 10
  %409 = load ptr, ptr %408, align 8
  %410 = call noundef i32 %409(ptr noundef nonnull align 8 dereferenceable(40) %406)
  %411 = load i32, ptr %23, align 4, !tbaa !9
  %412 = icmp ne i32 %410, %411
  br i1 %412, label %413, label %415

413:                                              ; preds = %405
  %414 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 26
  store i32 0, ptr %414, align 4, !tbaa !105
  br label %415

415:                                              ; preds = %413, %405
  %416 = load ptr, ptr %22, align 8, !tbaa !5
  %417 = load i32, ptr %23, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %34) #9
  store i32 0, ptr %34, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %35) #9
  %418 = load i32, ptr %23, align 4, !tbaa !9
  %419 = sdiv i32 %418, 2
  store i32 %419, ptr %35, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %36) #9
  %420 = load i32, ptr %23, align 4, !tbaa !9
  %421 = sdiv i32 %420, 2
  store i32 %421, ptr %36, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %37) #9
  store i32 0, ptr %37, align 4, !tbaa !9
  call void @_ZN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEC2ERKiS3_S3_S3_(ptr noundef nonnull align 16 dereferenceable(16) %33, ptr noundef nonnull align 4 dereferenceable(4) %34, ptr noundef nonnull align 4 dereferenceable(4) %35, ptr noundef nonnull align 4 dereferenceable(4) %36, ptr noundef nonnull align 4 dereferenceable(4) %37)
  call void @llvm.lifetime.start.p0(i64 4, ptr %39) #9
  %422 = load i32, ptr %23, align 4, !tbaa !9
  %423 = sdiv i32 %422, 2
  store i32 %423, ptr %39, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %40) #9
  %424 = load i32, ptr %23, align 4, !tbaa !9
  %425 = sdiv i32 %424, 2
  store i32 %425, ptr %40, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %41) #9
  %426 = load i32, ptr %23, align 4, !tbaa !9
  %427 = sdiv i32 %426, 2
  store i32 %427, ptr %41, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %42) #9
  %428 = load i32, ptr %23, align 4, !tbaa !9
  %429 = sdiv i32 %428, 2
  store i32 %429, ptr %42, align 4, !tbaa !9
  call void @_ZN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEC2ERKiS3_S3_S3_(ptr noundef nonnull align 16 dereferenceable(16) %38, ptr noundef nonnull align 4 dereferenceable(4) %39, ptr noundef nonnull align 4 dereferenceable(4) %40, ptr noundef nonnull align 4 dereferenceable(4) %41, ptr noundef nonnull align 4 dereferenceable(4) %42)
  call void @llvm.lifetime.start.p0(i64 32, ptr %43) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr %44) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %44) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %43, ptr noundef @.str.15, ptr noundef nonnull align 1 dereferenceable(1) %44)
          to label %430 unwind label %435

430:                                              ; preds = %415
  %431 = load ptr, ptr %416, align 8, !tbaa !102
  %432 = getelementptr inbounds ptr, ptr %431, i64 2
  %433 = load ptr, ptr %432, align 8
  invoke void %433(ptr noundef nonnull align 8 dereferenceable(40) %416, i32 noundef %417, ptr noundef %33, ptr noundef %38, ptr noundef nonnull align 8 dereferenceable(32) %43)
          to label %434 unwind label %439

434:                                              ; preds = %430
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %44) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %44) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %43) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #9
  br label %444

435:                                              ; preds = %415
  %436 = landingpad { ptr, i32 }
          cleanup
  %437 = extractvalue { ptr, i32 } %436, 0
  store ptr %437, ptr %19, align 8
  %438 = extractvalue { ptr, i32 } %436, 1
  store i32 %438, ptr %20, align 4
  br label %443

439:                                              ; preds = %430
  %440 = landingpad { ptr, i32 }
          cleanup
  %441 = extractvalue { ptr, i32 } %440, 0
  store ptr %441, ptr %19, align 8
  %442 = extractvalue { ptr, i32 } %440, 1
  store i32 %442, ptr %20, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #9
  br label %443

443:                                              ; preds = %439, %435
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %44) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %44) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %43) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #9
  br label %666

444:                                              ; preds = %434, %395
  br label %662

445:                                              ; preds = %368
  %446 = load double, ptr %24, align 8, !tbaa !101
  %447 = fcmp ole double %446, 2.000000e-01
  br i1 %447, label %448, label %496

448:                                              ; preds = %445
  store i32 16, ptr %23, align 4, !tbaa !9
  %449 = load ptr, ptr %22, align 8, !tbaa !5
  %450 = load ptr, ptr %449, align 8, !tbaa !102
  %451 = getelementptr inbounds ptr, ptr %450, i64 10
  %452 = load ptr, ptr %451, align 8
  %453 = call noundef i32 %452(ptr noundef nonnull align 8 dereferenceable(40) %449)
  %454 = load i32, ptr %23, align 4, !tbaa !9
  %455 = icmp ne i32 %453, %454
  br i1 %455, label %456, label %458

456:                                              ; preds = %448
  %457 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 26
  store i32 0, ptr %457, align 4, !tbaa !105
  br label %458

458:                                              ; preds = %456, %448
  %459 = load ptr, ptr %22, align 8, !tbaa !5
  %460 = load i32, ptr %23, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %46) #9
  store i32 0, ptr %46, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %47) #9
  %461 = load i32, ptr %23, align 4, !tbaa !9
  %462 = mul nsw i32 1, %461
  %463 = sdiv i32 %462, 2
  store i32 %463, ptr %47, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %48) #9
  %464 = load i32, ptr %23, align 4, !tbaa !9
  %465 = mul nsw i32 1, %464
  %466 = sdiv i32 %465, 4
  store i32 %466, ptr %48, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %49) #9
  %467 = load i32, ptr %23, align 4, !tbaa !9
  %468 = mul nsw i32 3, %467
  %469 = sdiv i32 %468, 4
  store i32 %469, ptr %49, align 4, !tbaa !9
  call void @_ZN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEC2ERKiS3_S3_S3_(ptr noundef nonnull align 16 dereferenceable(16) %45, ptr noundef nonnull align 4 dereferenceable(4) %46, ptr noundef nonnull align 4 dereferenceable(4) %47, ptr noundef nonnull align 4 dereferenceable(4) %48, ptr noundef nonnull align 4 dereferenceable(4) %49)
  call void @llvm.lifetime.start.p0(i64 4, ptr %51) #9
  %470 = load i32, ptr %23, align 4, !tbaa !9
  %471 = mul nsw i32 3, %470
  %472 = sdiv i32 %471, 4
  store i32 %472, ptr %51, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %52) #9
  %473 = load i32, ptr %23, align 4, !tbaa !9
  %474 = mul nsw i32 3, %473
  %475 = sdiv i32 %474, 4
  store i32 %475, ptr %52, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %53) #9
  %476 = load i32, ptr %23, align 4, !tbaa !9
  %477 = mul nsw i32 3, %476
  %478 = sdiv i32 %477, 4
  store i32 %478, ptr %53, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %54) #9
  %479 = load i32, ptr %23, align 4, !tbaa !9
  %480 = mul nsw i32 3, %479
  %481 = sdiv i32 %480, 4
  store i32 %481, ptr %54, align 4, !tbaa !9
  call void @_ZN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEC2ERKiS3_S3_S3_(ptr noundef nonnull align 16 dereferenceable(16) %50, ptr noundef nonnull align 4 dereferenceable(4) %51, ptr noundef nonnull align 4 dereferenceable(4) %52, ptr noundef nonnull align 4 dereferenceable(4) %53, ptr noundef nonnull align 4 dereferenceable(4) %54)
  call void @llvm.lifetime.start.p0(i64 32, ptr %55) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr %56) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %56) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %55, ptr noundef @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %56)
          to label %482 unwind label %487

482:                                              ; preds = %458
  %483 = load ptr, ptr %459, align 8, !tbaa !102
  %484 = getelementptr inbounds ptr, ptr %483, i64 2
  %485 = load ptr, ptr %484, align 8
  invoke void %485(ptr noundef nonnull align 8 dereferenceable(40) %459, i32 noundef %460, ptr noundef %45, ptr noundef %50, ptr noundef nonnull align 8 dereferenceable(32) %55)
          to label %486 unwind label %491

486:                                              ; preds = %482
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %56) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %56) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %55) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %54) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %53) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %52) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %51) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %49) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %47) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #9
  br label %661

487:                                              ; preds = %458
  %488 = landingpad { ptr, i32 }
          cleanup
  %489 = extractvalue { ptr, i32 } %488, 0
  store ptr %489, ptr %19, align 8
  %490 = extractvalue { ptr, i32 } %488, 1
  store i32 %490, ptr %20, align 4
  br label %495

491:                                              ; preds = %482
  %492 = landingpad { ptr, i32 }
          cleanup
  %493 = extractvalue { ptr, i32 } %492, 0
  store ptr %493, ptr %19, align 8
  %494 = extractvalue { ptr, i32 } %492, 1
  store i32 %494, ptr %20, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #9
  br label %495

495:                                              ; preds = %491, %487
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %56) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %56) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %55) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %54) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %53) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %52) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %51) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %49) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %47) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #9
  br label %666

496:                                              ; preds = %445
  %497 = load double, ptr %24, align 8, !tbaa !101
  %498 = fcmp ogt double %497, 2.000000e-01
  br i1 %498, label %499, label %568

499:                                              ; preds = %496
  %500 = load double, ptr %24, align 8, !tbaa !101
  %501 = fcmp ole double %500, 4.000000e-01
  br i1 %501, label %502, label %568

502:                                              ; preds = %499
  store i32 16, ptr %23, align 4, !tbaa !9
  %503 = load ptr, ptr %22, align 8, !tbaa !5
  %504 = load ptr, ptr %503, align 8, !tbaa !102
  %505 = getelementptr inbounds ptr, ptr %504, i64 10
  %506 = load ptr, ptr %505, align 8
  %507 = call noundef i32 %506(ptr noundef nonnull align 8 dereferenceable(40) %503)
  %508 = load i32, ptr %23, align 4, !tbaa !9
  %509 = icmp ne i32 %507, %508
  br i1 %509, label %510, label %512

510:                                              ; preds = %502
  %511 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 26
  store i32 0, ptr %511, align 4, !tbaa !105
  br label %512

512:                                              ; preds = %510, %502
  %513 = load ptr, ptr %22, align 8, !tbaa !5
  %514 = load i32, ptr %23, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %58) #9
  store i32 0, ptr %58, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %59) #9
  %515 = load i32, ptr %23, align 4, !tbaa !9
  %516 = mul nsw i32 1, %515
  %517 = sdiv i32 %516, 2
  store i32 %517, ptr %59, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %60) #9
  %518 = load i32, ptr %23, align 4, !tbaa !9
  %519 = sitofp i32 %518 to double
  %520 = load double, ptr %24, align 8, !tbaa !101
  %521 = fmul double 1.250000e+00, %520
  %522 = fmul double %519, %521
  %523 = fptosi double %522 to i32
  store i32 %523, ptr %60, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %61) #9
  %524 = load i32, ptr %23, align 4, !tbaa !9
  %525 = sitofp i32 %524 to double
  %526 = load double, ptr %24, align 8, !tbaa !101
  %527 = call double @llvm.fmuladd.f64(double 1.250000e+00, double %526, double 5.000000e-01)
  %528 = fmul double %525, %527
  %529 = fptosi double %528 to i32
  store i32 %529, ptr %61, align 4, !tbaa !9
  call void @_ZN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEC2ERKiS3_S3_S3_(ptr noundef nonnull align 16 dereferenceable(16) %57, ptr noundef nonnull align 4 dereferenceable(4) %58, ptr noundef nonnull align 4 dereferenceable(4) %59, ptr noundef nonnull align 4 dereferenceable(4) %60, ptr noundef nonnull align 4 dereferenceable(4) %61)
  call void @llvm.lifetime.start.p0(i64 4, ptr %63) #9
  %530 = load i32, ptr %23, align 4, !tbaa !9
  %531 = sitofp i32 %530 to double
  %532 = load double, ptr %24, align 8, !tbaa !101
  %533 = call double @llvm.fmuladd.f64(double -1.250000e+00, double %532, double 1.000000e+00)
  %534 = fmul double %531, %533
  %535 = fptosi double %534 to i32
  store i32 %535, ptr %63, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %64) #9
  %536 = load i32, ptr %23, align 4, !tbaa !9
  %537 = sitofp i32 %536 to double
  %538 = load double, ptr %24, align 8, !tbaa !101
  %539 = call double @llvm.fmuladd.f64(double -1.250000e+00, double %538, double 1.000000e+00)
  %540 = fmul double %537, %539
  %541 = fptosi double %540 to i32
  store i32 %541, ptr %64, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %65) #9
  %542 = load i32, ptr %23, align 4, !tbaa !9
  %543 = sitofp i32 %542 to double
  %544 = load double, ptr %24, align 8, !tbaa !101
  %545 = call double @llvm.fmuladd.f64(double -1.250000e+00, double %544, double 1.000000e+00)
  %546 = fmul double %543, %545
  %547 = fptosi double %546 to i32
  store i32 %547, ptr %65, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %66) #9
  %548 = load i32, ptr %23, align 4, !tbaa !9
  %549 = sitofp i32 %548 to double
  %550 = load double, ptr %24, align 8, !tbaa !101
  %551 = call double @llvm.fmuladd.f64(double -1.250000e+00, double %550, double 1.000000e+00)
  %552 = fmul double %549, %551
  %553 = fptosi double %552 to i32
  store i32 %553, ptr %66, align 4, !tbaa !9
  call void @_ZN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEC2ERKiS3_S3_S3_(ptr noundef nonnull align 16 dereferenceable(16) %62, ptr noundef nonnull align 4 dereferenceable(4) %63, ptr noundef nonnull align 4 dereferenceable(4) %64, ptr noundef nonnull align 4 dereferenceable(4) %65, ptr noundef nonnull align 4 dereferenceable(4) %66)
  call void @llvm.lifetime.start.p0(i64 32, ptr %67) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr %68) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %68) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %67, ptr noundef @.str.16, ptr noundef nonnull align 1 dereferenceable(1) %68)
          to label %554 unwind label %559

554:                                              ; preds = %512
  %555 = load ptr, ptr %513, align 8, !tbaa !102
  %556 = getelementptr inbounds ptr, ptr %555, i64 2
  %557 = load ptr, ptr %556, align 8
  invoke void %557(ptr noundef nonnull align 8 dereferenceable(40) %513, i32 noundef %514, ptr noundef %57, ptr noundef %62, ptr noundef nonnull align 8 dereferenceable(32) %67)
          to label %558 unwind label %563

558:                                              ; preds = %554
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %68) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %68) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %67) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %65) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %64) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %60) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #9
  br label %660

559:                                              ; preds = %512
  %560 = landingpad { ptr, i32 }
          cleanup
  %561 = extractvalue { ptr, i32 } %560, 0
  store ptr %561, ptr %19, align 8
  %562 = extractvalue { ptr, i32 } %560, 1
  store i32 %562, ptr %20, align 4
  br label %567

563:                                              ; preds = %554
  %564 = landingpad { ptr, i32 }
          cleanup
  %565 = extractvalue { ptr, i32 } %564, 0
  store ptr %565, ptr %19, align 8
  %566 = extractvalue { ptr, i32 } %564, 1
  store i32 %566, ptr %20, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #9
  br label %567

567:                                              ; preds = %563, %559
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %68) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %68) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %67) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %65) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %64) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %60) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #9
  br label %666

568:                                              ; preds = %499, %496
  %569 = load double, ptr %24, align 8, !tbaa !101
  %570 = fcmp ogt double %569, 4.000000e-01
  br i1 %570, label %571, label %613

571:                                              ; preds = %568
  %572 = load double, ptr %24, align 8, !tbaa !101
  %573 = fcmp ole double %572, 1.400000e+00
  br i1 %573, label %574, label %613

574:                                              ; preds = %571
  store i32 14, ptr %23, align 4, !tbaa !9
  %575 = load ptr, ptr %22, align 8, !tbaa !5
  %576 = load ptr, ptr %575, align 8, !tbaa !102
  %577 = getelementptr inbounds ptr, ptr %576, i64 10
  %578 = load ptr, ptr %577, align 8
  %579 = call noundef i32 %578(ptr noundef nonnull align 8 dereferenceable(40) %575)
  %580 = load i32, ptr %23, align 4, !tbaa !9
  %581 = icmp ne i32 %579, %580
  br i1 %581, label %582, label %584

582:                                              ; preds = %574
  %583 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 26
  store i32 0, ptr %583, align 4, !tbaa !105
  br label %584

584:                                              ; preds = %582, %574
  %585 = load ptr, ptr %22, align 8, !tbaa !5
  %586 = load i32, ptr %23, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %70) #9
  store i32 0, ptr %70, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %71) #9
  %587 = load i32, ptr %23, align 4, !tbaa !9
  %588 = sdiv i32 %587, 2
  store i32 %588, ptr %71, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %72) #9
  %589 = load i32, ptr %23, align 4, !tbaa !9
  %590 = sdiv i32 %589, 2
  store i32 %590, ptr %72, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %73) #9
  store i32 0, ptr %73, align 4, !tbaa !9
  call void @_ZN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEC2ERKiS3_S3_S3_(ptr noundef nonnull align 16 dereferenceable(16) %69, ptr noundef nonnull align 4 dereferenceable(4) %70, ptr noundef nonnull align 4 dereferenceable(4) %71, ptr noundef nonnull align 4 dereferenceable(4) %72, ptr noundef nonnull align 4 dereferenceable(4) %73)
  call void @llvm.lifetime.start.p0(i64 4, ptr %75) #9
  %591 = load i32, ptr %23, align 4, !tbaa !9
  %592 = sdiv i32 %591, 2
  store i32 %592, ptr %75, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %76) #9
  %593 = load i32, ptr %23, align 4, !tbaa !9
  %594 = sdiv i32 %593, 2
  store i32 %594, ptr %76, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %77) #9
  %595 = load i32, ptr %23, align 4, !tbaa !9
  %596 = sdiv i32 %595, 2
  store i32 %596, ptr %77, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %78) #9
  %597 = load i32, ptr %23, align 4, !tbaa !9
  %598 = sdiv i32 %597, 2
  store i32 %598, ptr %78, align 4, !tbaa !9
  call void @_ZN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEC2ERKiS3_S3_S3_(ptr noundef nonnull align 16 dereferenceable(16) %74, ptr noundef nonnull align 4 dereferenceable(4) %75, ptr noundef nonnull align 4 dereferenceable(4) %76, ptr noundef nonnull align 4 dereferenceable(4) %77, ptr noundef nonnull align 4 dereferenceable(4) %78)
  call void @llvm.lifetime.start.p0(i64 32, ptr %79) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr %80) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %80) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %79, ptr noundef @.str.15, ptr noundef nonnull align 1 dereferenceable(1) %80)
          to label %599 unwind label %604

599:                                              ; preds = %584
  %600 = load ptr, ptr %585, align 8, !tbaa !102
  %601 = getelementptr inbounds ptr, ptr %600, i64 2
  %602 = load ptr, ptr %601, align 8
  invoke void %602(ptr noundef nonnull align 8 dereferenceable(40) %585, i32 noundef %586, ptr noundef %69, ptr noundef %74, ptr noundef nonnull align 8 dereferenceable(32) %79)
          to label %603 unwind label %608

603:                                              ; preds = %599
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %80) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %80) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %79) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %78) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %77) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %76) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %75) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %73) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %72) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %71) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %70) #9
  br label %659

604:                                              ; preds = %584
  %605 = landingpad { ptr, i32 }
          cleanup
  %606 = extractvalue { ptr, i32 } %605, 0
  store ptr %606, ptr %19, align 8
  %607 = extractvalue { ptr, i32 } %605, 1
  store i32 %607, ptr %20, align 4
  br label %612

608:                                              ; preds = %599
  %609 = landingpad { ptr, i32 }
          cleanup
  %610 = extractvalue { ptr, i32 } %609, 0
  store ptr %610, ptr %19, align 8
  %611 = extractvalue { ptr, i32 } %609, 1
  store i32 %611, ptr %20, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #9
  br label %612

612:                                              ; preds = %608, %604
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %80) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %80) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %79) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %78) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %77) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %76) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %75) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %73) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %72) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %71) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %70) #9
  br label %666

613:                                              ; preds = %571, %568
  %614 = load double, ptr %24, align 8, !tbaa !101
  %615 = call double @llvm.fmuladd.f64(double -2.000000e+01, double %614, double 4.200000e+01)
  %616 = fptosi double %615 to i32
  store i32 %616, ptr %23, align 4, !tbaa !9
  %617 = load i32, ptr %23, align 4, !tbaa !9
  %618 = icmp slt i32 %617, 10
  br i1 %618, label %619, label %620

619:                                              ; preds = %613
  store i32 10, ptr %23, align 4, !tbaa !9
  br label %620

620:                                              ; preds = %619, %613
  %621 = load ptr, ptr %22, align 8, !tbaa !5
  %622 = load ptr, ptr %621, align 8, !tbaa !102
  %623 = getelementptr inbounds ptr, ptr %622, i64 10
  %624 = load ptr, ptr %623, align 8
  %625 = call noundef i32 %624(ptr noundef nonnull align 8 dereferenceable(40) %621)
  %626 = load i32, ptr %23, align 4, !tbaa !9
  %627 = icmp ne i32 %625, %626
  br i1 %627, label %628, label %630

628:                                              ; preds = %620
  %629 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 26
  store i32 0, ptr %629, align 4, !tbaa !105
  br label %630

630:                                              ; preds = %628, %620
  %631 = load ptr, ptr %22, align 8, !tbaa !5
  %632 = load i32, ptr %23, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %82) #9
  store i32 0, ptr %82, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %83) #9
  %633 = load i32, ptr %23, align 4, !tbaa !9
  %634 = sdiv i32 %633, 2
  store i32 %634, ptr %83, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %84) #9
  %635 = load i32, ptr %23, align 4, !tbaa !9
  %636 = sdiv i32 %635, 2
  store i32 %636, ptr %84, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %85) #9
  store i32 0, ptr %85, align 4, !tbaa !9
  call void @_ZN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEC2ERKiS3_S3_S3_(ptr noundef nonnull align 16 dereferenceable(16) %81, ptr noundef nonnull align 4 dereferenceable(4) %82, ptr noundef nonnull align 4 dereferenceable(4) %83, ptr noundef nonnull align 4 dereferenceable(4) %84, ptr noundef nonnull align 4 dereferenceable(4) %85)
  call void @llvm.lifetime.start.p0(i64 4, ptr %87) #9
  %637 = load i32, ptr %23, align 4, !tbaa !9
  %638 = sdiv i32 %637, 2
  store i32 %638, ptr %87, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %88) #9
  %639 = load i32, ptr %23, align 4, !tbaa !9
  %640 = sdiv i32 %639, 2
  store i32 %640, ptr %88, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %89) #9
  %641 = load i32, ptr %23, align 4, !tbaa !9
  %642 = sdiv i32 %641, 2
  store i32 %642, ptr %89, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %90) #9
  %643 = load i32, ptr %23, align 4, !tbaa !9
  %644 = sdiv i32 %643, 2
  store i32 %644, ptr %90, align 4, !tbaa !9
  call void @_ZN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEC2ERKiS3_S3_S3_(ptr noundef nonnull align 16 dereferenceable(16) %86, ptr noundef nonnull align 4 dereferenceable(4) %87, ptr noundef nonnull align 4 dereferenceable(4) %88, ptr noundef nonnull align 4 dereferenceable(4) %89, ptr noundef nonnull align 4 dereferenceable(4) %90)
  call void @llvm.lifetime.start.p0(i64 32, ptr %91) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr %92) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %92) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %91, ptr noundef @.str.15, ptr noundef nonnull align 1 dereferenceable(1) %92)
          to label %645 unwind label %650

645:                                              ; preds = %630
  %646 = load ptr, ptr %631, align 8, !tbaa !102
  %647 = getelementptr inbounds ptr, ptr %646, i64 2
  %648 = load ptr, ptr %647, align 8
  invoke void %648(ptr noundef nonnull align 8 dereferenceable(40) %631, i32 noundef %632, ptr noundef %81, ptr noundef %86, ptr noundef nonnull align 8 dereferenceable(32) %91)
          to label %649 unwind label %654

649:                                              ; preds = %645
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %91) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %92) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %92) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %91) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %90) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %89) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %88) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %87) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %85) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %84) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %83) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %82) #9
  br label %659

650:                                              ; preds = %630
  %651 = landingpad { ptr, i32 }
          cleanup
  %652 = extractvalue { ptr, i32 } %651, 0
  store ptr %652, ptr %19, align 8
  %653 = extractvalue { ptr, i32 } %651, 1
  store i32 %653, ptr %20, align 4
  br label %658

654:                                              ; preds = %645
  %655 = landingpad { ptr, i32 }
          cleanup
  %656 = extractvalue { ptr, i32 } %655, 0
  store ptr %656, ptr %19, align 8
  %657 = extractvalue { ptr, i32 } %655, 1
  store i32 %657, ptr %20, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %91) #9
  br label %658

658:                                              ; preds = %654, %650
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %92) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %92) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %91) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %90) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %89) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %88) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %87) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %85) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %84) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %83) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %82) #9
  br label %666

659:                                              ; preds = %649, %603
  br label %660

660:                                              ; preds = %659, %558
  br label %661

661:                                              ; preds = %660, %486
  br label %662

662:                                              ; preds = %661, %444
  br label %663

663:                                              ; preds = %662, %345
  %664 = load i32, ptr %23, align 4, !tbaa !9
  %665 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 22
  store i32 %664, ptr %665, align 4, !tbaa !106
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #9
  br label %670

666:                                              ; preds = %658, %612, %567, %495, %443, %404
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #9
  br label %1543

667:                                              ; preds = %342
  %668 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.17)
  %669 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %668, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  br label %670

670:                                              ; preds = %667, %663
  br label %671

671:                                              ; preds = %670, %341
  %672 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 51
  %673 = load i32, ptr %672, align 8, !tbaa !13
  %674 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 50
  store i32 %673, ptr %674, align 4, !tbaa !94
  %675 = load ptr, ptr %22, align 8, !tbaa !5
  %676 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 21
  %677 = load i32, ptr %676, align 8, !tbaa !107
  %678 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 26
  %679 = load i32, ptr %678, align 4, !tbaa !105
  %680 = load ptr, ptr %675, align 8, !tbaa !102
  %681 = getelementptr inbounds ptr, ptr %680, i64 6
  %682 = load ptr, ptr %681, align 8
  call void %682(ptr noundef nonnull align 8 dereferenceable(40) %675, i32 noundef %677, i32 noundef %679)
  call void @llvm.lifetime.start.p0(i64 12, ptr %93) #9
  %683 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 16
  %684 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 17
  call void @llvm.lifetime.start.p0(i64 4, ptr %94) #9
  store float 0.000000e+00, ptr %94, align 4, !tbaa !98
  call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2ERKfS3_S3_(ptr noundef nonnull align 4 dereferenceable(12) %93, ptr noundef nonnull align 4 dereferenceable(4) %683, ptr noundef nonnull align 4 dereferenceable(4) %684, ptr noundef nonnull align 4 dereferenceable(4) %94)
  call void @llvm.lifetime.end.p0(i64 4, ptr %94) #9
  call void @llvm.lifetime.start.p0(i64 12, ptr %95) #9
  %685 = load i8, ptr %17, align 1, !tbaa !11, !range !96, !noundef !97
  %686 = trunc i8 %685 to i1
  call void @llvm.lifetime.start.p0(i64 16, ptr %96) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %97) #9
  br i1 %686, label %687, label %688

687:                                              ; preds = %671
  call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2ERKS1_(ptr noundef nonnull align 4 dereferenceable(12) %95, ptr noundef nonnull align 4 dereferenceable(12) %93)
  br label %698

688:                                              ; preds = %671
  %689 = load ptr, ptr %21, align 8, !tbaa !5
  %690 = getelementptr inbounds %struct.StateEstimate, ptr %689, i32 0, i32 6
  %691 = call ptr @_ZNK5Eigen9DenseBaseINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEE9transposeEv(ptr noundef nonnull align 1 dereferenceable(1) %690)
  %692 = getelementptr inbounds %"class.Eigen::Transpose", ptr %97, i32 0, i32 0
  store ptr %691, ptr %692, align 8
  %693 = call { ptr, ptr } @_ZNK5Eigen10MatrixBaseINS_9TransposeIKNS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEEEEmlINS2_IfLi3ELi1ELi0ELi3ELi1EEEEEKNS_7ProductIS5_T_Li0EEERKNS0_ISA_EE(ptr noundef nonnull align 1 dereferenceable(1) %97, ptr noundef nonnull align 1 dereferenceable(1) %93)
  %694 = getelementptr inbounds { ptr, ptr }, ptr %96, i32 0, i32 0
  %695 = extractvalue { ptr, ptr } %693, 0
  store ptr %695, ptr %694, align 8
  %696 = getelementptr inbounds { ptr, ptr }, ptr %96, i32 0, i32 1
  %697 = extractvalue { ptr, ptr } %693, 1
  store ptr %697, ptr %696, align 8
  call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2INS_7ProductINS_9TransposeIKNS0_IfLi3ELi3ELi0ELi3ELi3EEEEES1_Li0EEEEERKNS_9EigenBaseIT_EE(ptr noundef nonnull align 4 dereferenceable(12) %95, ptr noundef nonnull align 1 dereferenceable(1) %96)
  br label %698

698:                                              ; preds = %688, %687
  call void @llvm.lifetime.end.p0(i64 8, ptr %97) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %96) #9
  call void @llvm.lifetime.start.p0(i64 12, ptr %98) #9
  %699 = load ptr, ptr %21, align 8, !tbaa !5
  %700 = getelementptr inbounds %struct.StateEstimate, ptr %699, i32 0, i32 9
  call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2ERKS1_(ptr noundef nonnull align 4 dereferenceable(12) %98, ptr noundef nonnull align 4 dereferenceable(12) %700)
  %701 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %98, i64 noundef 0)
  %702 = load float, ptr %701, align 4, !tbaa !98
  %703 = fpext float %702 to double
  %704 = call double @llvm.fabs.f64(double %703)
  %705 = fcmp ogt double %704, 2.000000e-01
  br i1 %705, label %706, label %724

706:                                              ; preds = %698
  %707 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 24
  %708 = load float, ptr %707, align 4, !tbaa !108
  %709 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 15
  %710 = load float, ptr %709, align 16, !tbaa !109
  %711 = load ptr, ptr %21, align 8, !tbaa !5
  %712 = getelementptr inbounds %struct.StateEstimate, ptr %711, i32 0, i32 7
  %713 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi0EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %712, i64 noundef 1)
  %714 = load float, ptr %713, align 4, !tbaa !98
  %715 = fsub float %710, %714
  %716 = fmul float %708, %715
  %717 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %98, i64 noundef 0)
  %718 = load float, ptr %717, align 4, !tbaa !98
  %719 = fdiv float %716, %718
  %720 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 53
  %721 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %720, i64 noundef 1)
  %722 = load float, ptr %721, align 4, !tbaa !98
  %723 = fadd float %722, %719
  store float %723, ptr %721, align 4, !tbaa !98
  br label %724

724:                                              ; preds = %706, %698
  %725 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %98, i64 noundef 1)
  %726 = load float, ptr %725, align 4, !tbaa !98
  %727 = fpext float %726 to double
  %728 = call double @llvm.fabs.f64(double %727)
  %729 = fcmp ogt double %728, 1.000000e-01
  br i1 %729, label %730, label %748

730:                                              ; preds = %724
  %731 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 24
  %732 = load float, ptr %731, align 4, !tbaa !108
  %733 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 14
  %734 = load float, ptr %733, align 4, !tbaa !110
  %735 = load ptr, ptr %21, align 8, !tbaa !5
  %736 = getelementptr inbounds %struct.StateEstimate, ptr %735, i32 0, i32 7
  %737 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi0EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %736, i64 noundef 0)
  %738 = load float, ptr %737, align 4, !tbaa !98
  %739 = fsub float %734, %738
  %740 = fmul float %732, %739
  %741 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %98, i64 noundef 1)
  %742 = load float, ptr %741, align 4, !tbaa !98
  %743 = fdiv float %740, %742
  %744 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 53
  %745 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %744, i64 noundef 0)
  %746 = load float, ptr %745, align 4, !tbaa !98
  %747 = fadd float %746, %743
  store float %747, ptr %745, align 4, !tbaa !98
  br label %748

748:                                              ; preds = %730, %724
  %749 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 53
  %750 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %749, i64 noundef 0)
  %751 = load float, ptr %750, align 4, !tbaa !98
  %752 = call float @llvm.maxnum.f32(float %751, float -2.500000e-01)
  %753 = call float @llvm.minnum.f32(float %752, float 2.500000e-01)
  %754 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 53
  %755 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %754, i64 noundef 0)
  store float %753, ptr %755, align 4, !tbaa !98
  %756 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 53
  %757 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %756, i64 noundef 1)
  %758 = load float, ptr %757, align 4, !tbaa !98
  %759 = call float @llvm.maxnum.f32(float %758, float -2.500000e-01)
  %760 = call float @llvm.minnum.f32(float %759, float 2.500000e-01)
  %761 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 53
  %762 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %761, i64 noundef 1)
  store float %760, ptr %762, align 4, !tbaa !98
  %763 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %98, i64 noundef 0)
  %764 = load float, ptr %763, align 4, !tbaa !98
  %765 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 53
  %766 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %765, i64 noundef 1)
  %767 = load float, ptr %766, align 4, !tbaa !98
  %768 = fmul float %764, %767
  %769 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 54
  %770 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %769, i64 noundef 1)
  store float %768, ptr %770, align 4, !tbaa !98
  %771 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %98, i64 noundef 1)
  %772 = load float, ptr %771, align 4, !tbaa !98
  %773 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 53
  %774 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %773, i64 noundef 0)
  %775 = load float, ptr %774, align 4, !tbaa !98
  %776 = fmul float %772, %775
  %777 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 54
  %778 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %777, i64 noundef 0)
  store float %776, ptr %778, align 4, !tbaa !98
  call void @llvm.lifetime.start.p0(i64 4, ptr %99) #9
  store i32 0, ptr %99, align 4, !tbaa !9
  br label %779

779:                                              ; preds = %803, %748
  %780 = load i32, ptr %99, align 4, !tbaa !9
  %781 = icmp slt i32 %780, 4
  br i1 %781, label %783, label %782

782:                                              ; preds = %779
  call void @llvm.lifetime.end.p0(i64 4, ptr %99) #9
  br label %806

783:                                              ; preds = %779
  call void @llvm.lifetime.start.p0(i64 48, ptr %100) #9
  %784 = load ptr, ptr %21, align 8, !tbaa !5
  %785 = getelementptr inbounds %struct.StateEstimate, ptr %784, i32 0, i32 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %101) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %102) #9
  %786 = load ptr, ptr %21, align 8, !tbaa !5
  %787 = getelementptr inbounds %struct.StateEstimate, ptr %786, i32 0, i32 6
  %788 = call ptr @_ZNK5Eigen9DenseBaseINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEE9transposeEv(ptr noundef nonnull align 1 dereferenceable(1) %787)
  %789 = getelementptr inbounds %"class.Eigen::Transpose", ptr %102, i32 0, i32 0
  store ptr %788, ptr %789, align 8
  call void @llvm.lifetime.start.p0(i64 24, ptr %103) #9
  call void @llvm.lifetime.start.p0(i64 12, ptr %104) #9
  %790 = load ptr, ptr %10, align 8, !tbaa !5
  %791 = load i32, ptr %99, align 4, !tbaa !9
  call void @_ZN9QuadrupedIfE14getHipLocationEi(ptr dead_on_unwind writable sret(%"class.Eigen::Matrix") align 4 %104, ptr noundef nonnull align 16 dereferenceable(1160) %790, i32 noundef %791)
  %792 = load ptr, ptr %11, align 8, !tbaa !5
  %793 = getelementptr inbounds %class.LegController, ptr %792, i32 0, i32 1
  %794 = load i32, ptr %99, align 4, !tbaa !9
  %795 = sext i32 %794 to i64
  %796 = getelementptr inbounds [4 x %struct.LegControllerData], ptr %793, i64 0, i64 %795
  %797 = getelementptr inbounds %struct.LegControllerData, ptr %796, i32 0, i32 2
  call void @_ZNK5Eigen10MatrixBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEEEplIS2_EEKNS_13CwiseBinaryOpINS_8internal13scalar_sum_opIfNS6_6traitsIT_E6ScalarEEEKS2_KS9_EERKNS0_IS9_EE(ptr dead_on_unwind writable sret(%"class.Eigen::CwiseBinaryOp.161") align 8 %103, ptr noundef nonnull align 1 dereferenceable(1) %104, ptr noundef nonnull align 1 dereferenceable(1) %797)
  call void @_ZNK5Eigen10MatrixBaseINS_9TransposeIKNS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEEEEmlINS_13CwiseBinaryOpINS_8internal13scalar_sum_opIffEEKNS2_IfLi3ELi1ELi0ELi3ELi1EEESD_EEEEKNS_7ProductIS5_T_Li0EEERKNS0_ISG_EE(ptr dead_on_unwind writable sret(%"class.Eigen::Product.154") align 8 %101, ptr noundef nonnull align 1 dereferenceable(1) %102, ptr noundef nonnull align 1 dereferenceable(1) %103)
  call void @_ZNK5Eigen10MatrixBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEEEplINS_7ProductINS_9TransposeIKNS1_IfLi3ELi3ELi0ELi3ELi3EEEEENS_13CwiseBinaryOpINS_8internal13scalar_sum_opIffEEKS2_SE_EELi0EEEEEKNSA_INSC_IfNSB_6traitsIT_E6ScalarEEESE_KSI_EERKNS0_ISI_EE(ptr dead_on_unwind writable sret(%"class.Eigen::CwiseBinaryOp") align 8 %100, ptr noundef nonnull align 1 dereferenceable(1) %785, ptr noundef nonnull align 1 dereferenceable(1) %101)
  %798 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 56
  %799 = load i32, ptr %99, align 4, !tbaa !9
  %800 = sext i32 %799 to i64
  %801 = getelementptr inbounds [4 x %"class.Eigen::Matrix"], ptr %798, i64 0, i64 %800
  %802 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEaSINS_13CwiseBinaryOpINS_8internal13scalar_sum_opIffEEKS1_KNS_7ProductINS_9TransposeIKNS0_IfLi3ELi3ELi0ELi3ELi3EEEEENS3_IS6_S7_S7_EELi0EEEEEEERS1_RKNS_9DenseBaseIT_EE(ptr noundef nonnull align 4 dereferenceable(12) %801, ptr noundef nonnull align 1 dereferenceable(1) %100)
  call void @llvm.lifetime.end.p0(i64 12, ptr %104) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %103) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %102) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %101) #9
  call void @llvm.lifetime.end.p0(i64 48, ptr %100) #9
  br label %803

803:                                              ; preds = %783
  %804 = load i32, ptr %99, align 4, !tbaa !9
  %805 = add nsw i32 %804, 1
  store i32 %805, ptr %99, align 4, !tbaa !9
  br label %779, !llvm.loop !111

806:                                              ; preds = %782
  call void @llvm.lifetime.start.p0(i64 12, ptr %105) #9
  call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2Ev(ptr noundef nonnull align 4 dereferenceable(12) %105)
  %807 = load ptr, ptr %22, align 8, !tbaa !5
  %808 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 35
  %809 = icmp ne ptr %807, %808
  br i1 %809, label %810, label %816

810:                                              ; preds = %806
  call void @llvm.lifetime.start.p0(i64 32, ptr %106) #9
  %811 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 24
  call void @llvm.lifetime.start.p0(i64 12, ptr %107) #9
  %812 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %95, i64 noundef 0)
  %813 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %95, i64 noundef 1)
  call void @llvm.lifetime.start.p0(i64 4, ptr %108) #9
  store float 0.000000e+00, ptr %108, align 4, !tbaa !98
  call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2ERKfS3_S3_(ptr noundef nonnull align 4 dereferenceable(12) %107, ptr noundef nonnull align 4 dereferenceable(4) %812, ptr noundef nonnull align 4 dereferenceable(4) %813, ptr noundef nonnull align 4 dereferenceable(4) %108)
  call void @_ZN5EigenmlIfEEKNS_13CwiseBinaryOpINS_8internal17scalar_product_opINS2_18promote_scalar_argIfT_Xsr5Eigen8internal14has_ReturnTypeINS_20ScalarBinaryOpTraitsIS5_fNS3_IS5_fEEEEEE5valueEE4typeEfEEKNS2_19plain_constant_typeINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEESA_E4typeEKSE_EERKS5_RKNS_10MatrixBaseISE_EE(ptr dead_on_unwind writable sret(%"class.Eigen::CwiseBinaryOp.178") align 8 %106, ptr noundef nonnull align 4 dereferenceable(4) %811, ptr noundef nonnull align 1 dereferenceable(1) %107)
  %814 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 52
  %815 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZN5Eigen10MatrixBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEEEpLINS_13CwiseBinaryOpINS_8internal17scalar_product_opIffEEKNS_14CwiseNullaryOpINS6_18scalar_constant_opIfEEKS2_EESC_EEEERS2_RKNS0_IT_EE(ptr noundef nonnull align 1 dereferenceable(1) %814, ptr noundef nonnull align 1 dereferenceable(1) %106)
  call void @llvm.lifetime.end.p0(i64 4, ptr %108) #9
  call void @llvm.lifetime.end.p0(i64 12, ptr %107) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %106) #9
  br label %816

816:                                              ; preds = %810, %806
  %817 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 46
  %818 = load i8, ptr %817, align 4, !tbaa !95, !range !96, !noundef !97
  %819 = trunc i8 %818 to i1
  br i1 %819, label %820, label %869

820:                                              ; preds = %816
  %821 = load ptr, ptr %21, align 8, !tbaa !5
  %822 = getelementptr inbounds %struct.StateEstimate, ptr %821, i32 0, i32 1
  %823 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi0EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %822, i64 noundef 0)
  %824 = load float, ptr %823, align 4, !tbaa !98
  %825 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 52
  %826 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %825, i64 noundef 0)
  store float %824, ptr %826, align 4, !tbaa !98
  %827 = load ptr, ptr %21, align 8, !tbaa !5
  %828 = getelementptr inbounds %struct.StateEstimate, ptr %827, i32 0, i32 1
  %829 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi0EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %828, i64 noundef 1)
  %830 = load float, ptr %829, align 4, !tbaa !98
  %831 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 52
  %832 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %831, i64 noundef 1)
  store float %830, ptr %832, align 4, !tbaa !98
  %833 = load ptr, ptr %21, align 8, !tbaa !5
  %834 = getelementptr inbounds %struct.StateEstimate, ptr %833, i32 0, i32 7
  %835 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi0EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %834, i64 noundef 2)
  %836 = load float, ptr %835, align 4, !tbaa !98
  %837 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 52
  %838 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %837, i64 noundef 2)
  store float %836, ptr %838, align 4, !tbaa !98
  call void @llvm.lifetime.start.p0(i64 4, ptr %109) #9
  store i32 0, ptr %109, align 4, !tbaa !9
  br label %839

839:                                              ; preds = %864, %820
  %840 = load i32, ptr %109, align 4, !tbaa !9
  %841 = icmp slt i32 %840, 4
  br i1 %841, label %843, label %842

842:                                              ; preds = %839
  call void @llvm.lifetime.end.p0(i64 4, ptr %109) #9
  br label %867

843:                                              ; preds = %839
  %844 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 29
  %845 = load i32, ptr %109, align 4, !tbaa !9
  %846 = sext i32 %845 to i64
  %847 = getelementptr inbounds [4 x %class.FootSwingTrajectory], ptr %844, i64 0, i64 %846
  call void @_ZN19FootSwingTrajectoryIfE9setHeightEf(ptr noundef nonnull align 4 dereferenceable(64) %847, float noundef 0x3FAEB851E0000000)
  %848 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 29
  %849 = load i32, ptr %109, align 4, !tbaa !9
  %850 = sext i32 %849 to i64
  %851 = getelementptr inbounds [4 x %class.FootSwingTrajectory], ptr %848, i64 0, i64 %850
  %852 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 56
  %853 = load i32, ptr %109, align 4, !tbaa !9
  %854 = sext i32 %853 to i64
  %855 = getelementptr inbounds [4 x %"class.Eigen::Matrix"], ptr %852, i64 0, i64 %854
  call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2ERKS1_(ptr noundef nonnull align 4 dereferenceable(12) %110, ptr noundef nonnull align 4 dereferenceable(12) %855)
  call void @_ZN19FootSwingTrajectoryIfE18setInitialPositionEN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEE(ptr noundef nonnull align 4 dereferenceable(64) %851, ptr noundef %110)
  %856 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 29
  %857 = load i32, ptr %109, align 4, !tbaa !9
  %858 = sext i32 %857 to i64
  %859 = getelementptr inbounds [4 x %class.FootSwingTrajectory], ptr %856, i64 0, i64 %858
  %860 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 56
  %861 = load i32, ptr %109, align 4, !tbaa !9
  %862 = sext i32 %861 to i64
  %863 = getelementptr inbounds [4 x %"class.Eigen::Matrix"], ptr %860, i64 0, i64 %862
  call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2ERKS1_(ptr noundef nonnull align 4 dereferenceable(12) %111, ptr noundef nonnull align 4 dereferenceable(12) %863)
  call void @_ZN19FootSwingTrajectoryIfE16setFinalPositionEN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEE(ptr noundef nonnull align 4 dereferenceable(64) %859, ptr noundef %111)
  br label %864

864:                                              ; preds = %843
  %865 = load i32, ptr %109, align 4, !tbaa !9
  %866 = add nsw i32 %865, 1
  store i32 %866, ptr %109, align 4, !tbaa !9
  br label %839, !llvm.loop !113

867:                                              ; preds = %842
  %868 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 46
  store i8 0, ptr %868, align 4, !tbaa !95
  br label %869

869:                                              ; preds = %867, %816
  call void @llvm.lifetime.start.p0(i64 4, ptr %112) #9
  store i32 0, ptr %112, align 4, !tbaa !9
  br label %870

870:                                              ; preds = %887, %869
  %871 = load i32, ptr %112, align 4, !tbaa !9
  %872 = icmp slt i32 %871, 4
  br i1 %872, label %874, label %873

873:                                              ; preds = %870
  call void @llvm.lifetime.end.p0(i64 4, ptr %112) #9
  br label %890

874:                                              ; preds = %870
  %875 = load ptr, ptr %22, align 8, !tbaa !5
  %876 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 25
  %877 = load float, ptr %876, align 8, !tbaa !114
  %878 = load i32, ptr %112, align 4, !tbaa !9
  %879 = load ptr, ptr %875, align 8, !tbaa !102
  %880 = getelementptr inbounds ptr, ptr %879, i64 8
  %881 = load ptr, ptr %880, align 8
  %882 = call noundef float %881(ptr noundef nonnull align 8 dereferenceable(40) %875, float noundef %877, i32 noundef %878)
  %883 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 28
  %884 = load i32, ptr %112, align 4, !tbaa !9
  %885 = sext i32 %884 to i64
  %886 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi4ELi1ELi0ELi4ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %883, i64 noundef %885)
  store float %882, ptr %886, align 4, !tbaa !98
  br label %887

887:                                              ; preds = %874
  %888 = load i32, ptr %112, align 4, !tbaa !9
  %889 = add nsw i32 %888, 1
  store i32 %889, ptr %112, align 4, !tbaa !9
  br label %870, !llvm.loop !115

890:                                              ; preds = %873
  call void @llvm.lifetime.start.p0(i64 16, ptr %113) #9
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %113, ptr align 16 @__const._ZN19ConvexMPCLocomotion3runIfEEvR9QuadrupedIT_ER13LegControllerIS2_ER23StateEstimatorContainerIfER19DesiredStateCommandIS2_ESt6vectorIdSaIdEEii.side_sign, i64 16, i1 false)
  call void @llvm.lifetime.start.p0(i64 16, ptr %114) #9
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %114, ptr align 16 @__const._ZN19ConvexMPCLocomotion3runIfEEvR9QuadrupedIT_ER13LegControllerIS2_ER23StateEstimatorContainerIfER19DesiredStateCommandIS2_ESt6vectorIdSaIdEEii.interleave_y, i64 16, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %115) #9
  store float 0xBFC99999A0000000, ptr %115, align 4, !tbaa !98
  call void @llvm.lifetime.start.p0(i64 4, ptr %116) #9
  %891 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %93, i64 noundef 0)
  %892 = load float, ptr %891, align 4, !tbaa !98
  %893 = call noundef float @_ZSt4fabsf(float noundef %892)
  store float %893, ptr %116, align 4, !tbaa !98
  call void @llvm.lifetime.start.p0(i64 4, ptr %117) #9
  store i32 0, ptr %117, align 4, !tbaa !9
  br label %894

894:                                              ; preds = %1087, %890
  %895 = load i32, ptr %117, align 4, !tbaa !9
  %896 = icmp slt i32 %895, 4
  br i1 %896, label %898, label %897

897:                                              ; preds = %894
  call void @llvm.lifetime.end.p0(i64 4, ptr %117) #9
  br label %1090

898:                                              ; preds = %894
  %899 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 47
  %900 = load i32, ptr %117, align 4, !tbaa !9
  %901 = sext i32 %900 to i64
  %902 = getelementptr inbounds [4 x i8], ptr %899, i64 0, i64 %901
  %903 = load i8, ptr %902, align 1, !tbaa !11, !range !96, !noundef !97
  %904 = trunc i8 %903 to i1
  br i1 %904, label %905, label %915

905:                                              ; preds = %898
  %906 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 28
  %907 = load i32, ptr %117, align 4, !tbaa !9
  %908 = sext i32 %907 to i64
  %909 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi4ELi1ELi0ELi4ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %906, i64 noundef %908)
  %910 = load float, ptr %909, align 4, !tbaa !98
  %911 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 48
  %912 = load i32, ptr %117, align 4, !tbaa !9
  %913 = sext i32 %912 to i64
  %914 = getelementptr inbounds [4 x float], ptr %911, i64 0, i64 %913
  store float %910, ptr %914, align 4, !tbaa !98
  br label %924

915:                                              ; preds = %898
  %916 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 24
  %917 = load float, ptr %916, align 4, !tbaa !108
  %918 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 48
  %919 = load i32, ptr %117, align 4, !tbaa !9
  %920 = sext i32 %919 to i64
  %921 = getelementptr inbounds [4 x float], ptr %918, i64 0, i64 %920
  %922 = load float, ptr %921, align 4, !tbaa !98
  %923 = fsub float %922, %917
  store float %923, ptr %921, align 4, !tbaa !98
  br label %924

924:                                              ; preds = %915, %905
  %925 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 29
  %926 = load i32, ptr %117, align 4, !tbaa !9
  %927 = sext i32 %926 to i64
  %928 = getelementptr inbounds [4 x %class.FootSwingTrajectory], ptr %925, i64 0, i64 %927
  call void @_ZN19FootSwingTrajectoryIfE9setHeightEf(ptr noundef nonnull align 4 dereferenceable(64) %928, float noundef 0x3FAEB851E0000000)
  call void @llvm.lifetime.start.p0(i64 12, ptr %118) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %119) #9
  store float 0.000000e+00, ptr %119, align 4, !tbaa !98
  call void @llvm.lifetime.start.p0(i64 4, ptr %120) #9
  %929 = load i32, ptr %117, align 4, !tbaa !9
  %930 = sext i32 %929 to i64
  %931 = getelementptr inbounds [4 x float], ptr %113, i64 0, i64 %930
  %932 = load float, ptr %931, align 4, !tbaa !98
  %933 = fpext float %932 to double
  %934 = fmul double %933, 6.500000e-02
  %935 = fptrunc double %934 to float
  store float %935, ptr %120, align 4, !tbaa !98
  call void @llvm.lifetime.start.p0(i64 4, ptr %121) #9
  store float 0.000000e+00, ptr %121, align 4, !tbaa !98
  call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2ERKfS3_S3_(ptr noundef nonnull align 4 dereferenceable(12) %118, ptr noundef nonnull align 4 dereferenceable(4) %119, ptr noundef nonnull align 4 dereferenceable(4) %120, ptr noundef nonnull align 4 dereferenceable(4) %121)
  call void @llvm.lifetime.end.p0(i64 4, ptr %121) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %120) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %119) #9
  call void @llvm.lifetime.start.p0(i64 12, ptr %122) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr %123) #9
  call void @llvm.lifetime.start.p0(i64 12, ptr %124) #9
  %936 = load ptr, ptr %10, align 8, !tbaa !5
  %937 = load i32, ptr %117, align 4, !tbaa !9
  call void @_ZN9QuadrupedIfE14getHipLocationEi(ptr dead_on_unwind writable sret(%"class.Eigen::Matrix") align 4 %124, ptr noundef nonnull align 16 dereferenceable(1160) %936, i32 noundef %937)
  call void @_ZNK5Eigen10MatrixBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEEEplIS2_EEKNS_13CwiseBinaryOpINS_8internal13scalar_sum_opIfNS6_6traitsIT_E6ScalarEEEKS2_KS9_EERKNS0_IS9_EE(ptr dead_on_unwind writable sret(%"class.Eigen::CwiseBinaryOp.161") align 8 %123, ptr noundef nonnull align 1 dereferenceable(1) %124, ptr noundef nonnull align 1 dereferenceable(1) %118)
  call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2INS_13CwiseBinaryOpINS_8internal13scalar_sum_opIffEEKS1_S7_EEEERKNS_9EigenBaseIT_EE(ptr noundef nonnull align 4 dereferenceable(12) %122, ptr noundef nonnull align 1 dereferenceable(1) %123)
  call void @llvm.lifetime.end.p0(i64 12, ptr %124) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %123) #9
  %938 = load i32, ptr %117, align 4, !tbaa !9
  %939 = sext i32 %938 to i64
  %940 = getelementptr inbounds [4 x float], ptr %114, i64 0, i64 %939
  %941 = load float, ptr %940, align 4, !tbaa !98
  %942 = load float, ptr %116, align 4, !tbaa !98
  %943 = fmul float %941, %942
  %944 = load float, ptr %115, align 4, !tbaa !98
  %945 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %122, i64 noundef 1)
  %946 = load float, ptr %945, align 4, !tbaa !98
  %947 = call float @llvm.fmuladd.f32(float %943, float %944, float %946)
  store float %947, ptr %945, align 4, !tbaa !98
  call void @llvm.lifetime.start.p0(i64 4, ptr %125) #9
  %948 = load ptr, ptr %22, align 8, !tbaa !5
  %949 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 25
  %950 = load float, ptr %949, align 8, !tbaa !114
  %951 = load i32, ptr %117, align 4, !tbaa !9
  %952 = load ptr, ptr %948, align 8, !tbaa !102
  %953 = getelementptr inbounds ptr, ptr %952, i64 7
  %954 = load ptr, ptr %953, align 8
  %955 = call noundef float %954(ptr noundef nonnull align 8 dereferenceable(40) %948, float noundef %950, i32 noundef %951)
  store float %955, ptr %125, align 4, !tbaa !98
  call void @llvm.lifetime.start.p0(i64 12, ptr %126) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr %127) #9
  call void @llvm.lifetime.start.p0(i64 36, ptr %128) #9
  %956 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 11
  %957 = load float, ptr %956, align 16, !tbaa !104
  %958 = fneg float %957
  %959 = load float, ptr %125, align 4, !tbaa !98
  %960 = fmul float %958, %959
  %961 = fdiv float %960, 2.000000e+00
  call void @_ZN3ori18coordinateRotationIfEEN5Eigen6MatrixIT_Li3ELi3ELi0ELi3ELi3EEENS_14CoordinateAxisES3_(ptr dead_on_unwind writable sret(%"class.Eigen::Matrix.29") align 4 %128, i32 noundef 2, float noundef %961)
  %962 = call { ptr, ptr } @_ZNK5Eigen10MatrixBaseINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEEmlINS1_IfLi3ELi1ELi0ELi3ELi1EEEEEKNS_7ProductIS2_T_Li0EEERKNS0_IS7_EE(ptr noundef nonnull align 1 dereferenceable(1) %128, ptr noundef nonnull align 1 dereferenceable(1) %122)
  %963 = getelementptr inbounds { ptr, ptr }, ptr %127, i32 0, i32 0
  %964 = extractvalue { ptr, ptr } %962, 0
  store ptr %964, ptr %963, align 8
  %965 = getelementptr inbounds { ptr, ptr }, ptr %127, i32 0, i32 1
  %966 = extractvalue { ptr, ptr } %962, 1
  store ptr %966, ptr %965, align 8
  call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2INS_7ProductINS0_IfLi3ELi3ELi0ELi3ELi3EEES1_Li0EEEEERKNS_9EigenBaseIT_EE(ptr noundef nonnull align 4 dereferenceable(12) %126, ptr noundef nonnull align 1 dereferenceable(1) %127)
  call void @llvm.lifetime.end.p0(i64 36, ptr %128) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %127) #9
  call void @llvm.lifetime.start.p0(i64 12, ptr %129) #9
  call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2Ev(ptr noundef nonnull align 4 dereferenceable(12) %129)
  %967 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 16
  %968 = load float, ptr %967, align 4, !tbaa !99
  %969 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %129, i64 noundef 0)
  store float %968, ptr %969, align 4, !tbaa !98
  %970 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 17
  %971 = load float, ptr %970, align 8, !tbaa !100
  %972 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %129, i64 noundef 1)
  store float %971, ptr %972, align 4, !tbaa !98
  %973 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %129, i64 noundef 2)
  store float 0.000000e+00, ptr %973, align 4, !tbaa !98
  call void @llvm.lifetime.start.p0(i64 12, ptr %130) #9
  call void @llvm.lifetime.start.p0(i64 64, ptr %131) #9
  %974 = load ptr, ptr %21, align 8, !tbaa !5
  %975 = getelementptr inbounds %struct.StateEstimate, ptr %974, i32 0, i32 1
  call void @llvm.lifetime.start.p0(i64 48, ptr %132) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %133) #9
  %976 = load ptr, ptr %21, align 8, !tbaa !5
  %977 = getelementptr inbounds %struct.StateEstimate, ptr %976, i32 0, i32 6
  %978 = call ptr @_ZNK5Eigen9DenseBaseINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEE9transposeEv(ptr noundef nonnull align 1 dereferenceable(1) %977)
  %979 = getelementptr inbounds %"class.Eigen::Transpose", ptr %133, i32 0, i32 0
  store ptr %978, ptr %979, align 8
  call void @llvm.lifetime.start.p0(i64 40, ptr %134) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr %135) #9
  %980 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 48
  %981 = load i32, ptr %117, align 4, !tbaa !9
  %982 = sext i32 %981 to i64
  %983 = getelementptr inbounds [4 x float], ptr %980, i64 0, i64 %982
  call void @_ZNK5Eigen10MatrixBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEEEmlIfEEKNS_13CwiseBinaryOpINS_8internal17scalar_product_opIfNS6_18promote_scalar_argIfT_Xsr5Eigen8internal14has_ReturnTypeINS_20ScalarBinaryOpTraitsIfS9_NS7_IfS9_EEEEEE5valueEE4typeEEEKS2_KNS6_19plain_constant_typeIS2_SE_E4typeEEERKS9_(ptr dead_on_unwind writable sret(%"class.Eigen::CwiseBinaryOp.215") align 8 %135, ptr noundef nonnull align 1 dereferenceable(1) %129, ptr noundef nonnull align 4 dereferenceable(4) %983)
  call void @_ZNK5Eigen10MatrixBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEEEplINS_13CwiseBinaryOpINS_8internal17scalar_product_opIffEEKS2_KNS_14CwiseNullaryOpINS6_18scalar_constant_opIfEES9_EEEEEEKNS5_INS6_13scalar_sum_opIfNS6_6traitsIT_E6ScalarEEES9_KSI_EERKNS0_ISI_EE(ptr dead_on_unwind writable sret(%"class.Eigen::CwiseBinaryOp.209") align 8 %134, ptr noundef nonnull align 1 dereferenceable(1) %126, ptr noundef nonnull align 1 dereferenceable(1) %135)
  call void @_ZNK5Eigen10MatrixBaseINS_9TransposeIKNS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEEEEmlINS_13CwiseBinaryOpINS_8internal13scalar_sum_opIffEEKNS2_IfLi3ELi1ELi0ELi3ELi1EEEKNS8_INS9_17scalar_product_opIffEESD_KNS_14CwiseNullaryOpINS9_18scalar_constant_opIfEESD_EEEEEEEEKNS_7ProductIS5_T_Li0EEERKNS0_ISP_EE(ptr dead_on_unwind writable sret(%"class.Eigen::Product.202") align 8 %132, ptr noundef nonnull align 1 dereferenceable(1) %133, ptr noundef nonnull align 1 dereferenceable(1) %134)
  call void @_ZNK5Eigen10MatrixBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEEEplINS_7ProductINS_9TransposeIKNS1_IfLi3ELi3ELi0ELi3ELi3EEEEENS_13CwiseBinaryOpINS_8internal13scalar_sum_opIffEEKS2_KNSA_INSB_17scalar_product_opIffEESE_KNS_14CwiseNullaryOpINSB_18scalar_constant_opIfEESE_EEEEEELi0EEEEEKNSA_INSC_IfNSB_6traitsIT_E6ScalarEEESE_KSR_EERKNS0_ISR_EE(ptr dead_on_unwind writable sret(%"class.Eigen::CwiseBinaryOp.196") align 8 %131, ptr noundef nonnull align 1 dereferenceable(1) %975, ptr noundef nonnull align 1 dereferenceable(1) %132)
  call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2INS_13CwiseBinaryOpINS_8internal13scalar_sum_opIffEEKS1_KNS_7ProductINS_9TransposeIKNS0_IfLi3ELi3ELi0ELi3ELi3EEEEENS3_IS6_S7_KNS3_INS4_17scalar_product_opIffEES7_KNS_14CwiseNullaryOpINS4_18scalar_constant_opIfEES7_EEEEEELi0EEEEEEERKNS_9EigenBaseIT_EE(ptr noundef nonnull align 4 dereferenceable(12) %130, ptr noundef nonnull align 1 dereferenceable(1) %131)
  call void @llvm.lifetime.end.p0(i64 24, ptr %135) #9
  call void @llvm.lifetime.end.p0(i64 40, ptr %134) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %133) #9
  call void @llvm.lifetime.end.p0(i64 48, ptr %132) #9
  call void @llvm.lifetime.end.p0(i64 64, ptr %131) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %136) #9
  store float 0x3FD3333340000000, ptr %136, align 4, !tbaa !98
  call void @llvm.lifetime.start.p0(i64 4, ptr %137) #9
  %984 = load ptr, ptr %21, align 8, !tbaa !5
  %985 = getelementptr inbounds %struct.StateEstimate, ptr %984, i32 0, i32 9
  %986 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi0EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %985, i64 noundef 0)
  %987 = load float, ptr %986, align 4, !tbaa !98
  %988 = fpext float %987 to double
  %989 = fmul double %988, 5.000000e-01
  %990 = load float, ptr %125, align 4, !tbaa !98
  %991 = fpext float %990 to double
  %992 = load ptr, ptr %21, align 8, !tbaa !5
  %993 = getelementptr inbounds %struct.StateEstimate, ptr %992, i32 0, i32 9
  %994 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi0EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %993, i64 noundef 0)
  %995 = load float, ptr %994, align 4, !tbaa !98
  %996 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %95, i64 noundef 0)
  %997 = load float, ptr %996, align 4, !tbaa !98
  %998 = fsub float %995, %997
  %999 = fmul float 0x3F9EB851E0000000, %998
  %1000 = fpext float %999 to double
  %1001 = call double @llvm.fmuladd.f64(double %989, double %991, double %1000)
  %1002 = load ptr, ptr %21, align 8, !tbaa !5
  %1003 = getelementptr inbounds %struct.StateEstimate, ptr %1002, i32 0, i32 1
  %1004 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi0EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %1003, i64 noundef 2)
  %1005 = load float, ptr %1004, align 4, !tbaa !98
  %1006 = fdiv float %1005, 0x40239EB860000000
  %1007 = fpext float %1006 to double
  %1008 = call double @sqrt(double noundef %1007) #9
  %1009 = fmul double 5.000000e-01, %1008
  %1010 = load ptr, ptr %21, align 8, !tbaa !5
  %1011 = getelementptr inbounds %struct.StateEstimate, ptr %1010, i32 0, i32 9
  %1012 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi0EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %1011, i64 noundef 1)
  %1013 = load float, ptr %1012, align 4, !tbaa !98
  %1014 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 11
  %1015 = load float, ptr %1014, align 16, !tbaa !104
  %1016 = fmul float %1013, %1015
  %1017 = fpext float %1016 to double
  %1018 = call double @llvm.fmuladd.f64(double %1009, double %1017, double %1001)
  %1019 = fptrunc double %1018 to float
  store float %1019, ptr %137, align 4, !tbaa !98
  call void @llvm.lifetime.start.p0(i64 4, ptr %138) #9
  %1020 = load ptr, ptr %21, align 8, !tbaa !5
  %1021 = getelementptr inbounds %struct.StateEstimate, ptr %1020, i32 0, i32 9
  %1022 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi0EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %1021, i64 noundef 1)
  %1023 = load float, ptr %1022, align 4, !tbaa !98
  %1024 = fpext float %1023 to double
  %1025 = fmul double %1024, 5.000000e-01
  %1026 = load float, ptr %125, align 4, !tbaa !98
  %1027 = fpext float %1026 to double
  %1028 = fmul double %1025, %1027
  %1029 = load ptr, ptr %21, align 8, !tbaa !5
  %1030 = getelementptr inbounds %struct.StateEstimate, ptr %1029, i32 0, i32 9
  %1031 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi0EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %1030, i64 noundef 1)
  %1032 = load float, ptr %1031, align 4, !tbaa !98
  %1033 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %95, i64 noundef 1)
  %1034 = load float, ptr %1033, align 4, !tbaa !98
  %1035 = fsub float %1032, %1034
  %1036 = fmul float 0x3F9EB851E0000000, %1035
  %1037 = fpext float %1036 to double
  %1038 = call double @llvm.fmuladd.f64(double %1028, double 1.000000e+00, double %1037)
  %1039 = load ptr, ptr %21, align 8, !tbaa !5
  %1040 = getelementptr inbounds %struct.StateEstimate, ptr %1039, i32 0, i32 1
  %1041 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi0EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %1040, i64 noundef 2)
  %1042 = load float, ptr %1041, align 4, !tbaa !98
  %1043 = fdiv float %1042, 0x40239EB860000000
  %1044 = fpext float %1043 to double
  %1045 = call double @sqrt(double noundef %1044) #9
  %1046 = fmul double 5.000000e-01, %1045
  %1047 = load ptr, ptr %21, align 8, !tbaa !5
  %1048 = getelementptr inbounds %struct.StateEstimate, ptr %1047, i32 0, i32 9
  %1049 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi0EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %1048, i64 noundef 0)
  %1050 = load float, ptr %1049, align 4, !tbaa !98
  %1051 = fneg float %1050
  %1052 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 11
  %1053 = load float, ptr %1052, align 16, !tbaa !104
  %1054 = fmul float %1051, %1053
  %1055 = fpext float %1054 to double
  %1056 = call double @llvm.fmuladd.f64(double %1046, double %1055, double %1038)
  %1057 = fptrunc double %1056 to float
  store float %1057, ptr %138, align 4, !tbaa !98
  %1058 = load i32, ptr %117, align 4, !tbaa !9
  %1059 = icmp eq i32 %1058, 1
  br i1 %1059, label %1060, label %1061

1060:                                             ; preds = %924
  br label %1061

1061:                                             ; preds = %1060, %924
  %1062 = load float, ptr %137, align 4, !tbaa !98
  %1063 = load float, ptr %136, align 4, !tbaa !98
  %1064 = fneg float %1063
  %1065 = call float @llvm.maxnum.f32(float %1062, float %1064)
  %1066 = load float, ptr %136, align 4, !tbaa !98
  %1067 = call float @llvm.minnum.f32(float %1065, float %1066)
  store float %1067, ptr %137, align 4, !tbaa !98
  %1068 = load float, ptr %138, align 4, !tbaa !98
  %1069 = load float, ptr %136, align 4, !tbaa !98
  %1070 = fneg float %1069
  %1071 = call float @llvm.maxnum.f32(float %1068, float %1070)
  %1072 = load float, ptr %136, align 4, !tbaa !98
  %1073 = call float @llvm.minnum.f32(float %1071, float %1072)
  store float %1073, ptr %138, align 4, !tbaa !98
  %1074 = load float, ptr %137, align 4, !tbaa !98
  %1075 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %130, i64 noundef 0)
  %1076 = load float, ptr %1075, align 4, !tbaa !98
  %1077 = fadd float %1076, %1074
  store float %1077, ptr %1075, align 4, !tbaa !98
  %1078 = load float, ptr %138, align 4, !tbaa !98
  %1079 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %130, i64 noundef 1)
  %1080 = load float, ptr %1079, align 4, !tbaa !98
  %1081 = fadd float %1080, %1078
  store float %1081, ptr %1079, align 4, !tbaa !98
  %1082 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %130, i64 noundef 2)
  store float 0.000000e+00, ptr %1082, align 4, !tbaa !98
  %1083 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 29
  %1084 = load i32, ptr %117, align 4, !tbaa !9
  %1085 = sext i32 %1084 to i64
  %1086 = getelementptr inbounds [4 x %class.FootSwingTrajectory], ptr %1083, i64 0, i64 %1085
  call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2ERKS1_(ptr noundef nonnull align 4 dereferenceable(12) %139, ptr noundef nonnull align 4 dereferenceable(12) %130)
  call void @_ZN19FootSwingTrajectoryIfE16setFinalPositionEN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEE(ptr noundef nonnull align 4 dereferenceable(64) %1086, ptr noundef %139)
  call void @llvm.lifetime.end.p0(i64 4, ptr %138) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %137) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %136) #9
  call void @llvm.lifetime.end.p0(i64 12, ptr %130) #9
  call void @llvm.lifetime.end.p0(i64 12, ptr %129) #9
  call void @llvm.lifetime.end.p0(i64 12, ptr %126) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %125) #9
  call void @llvm.lifetime.end.p0(i64 12, ptr %122) #9
  call void @llvm.lifetime.end.p0(i64 12, ptr %118) #9
  br label %1087

1087:                                             ; preds = %1061
  %1088 = load i32, ptr %117, align 4, !tbaa !9
  %1089 = add nsw i32 %1088, 1
  store i32 %1089, ptr %117, align 4, !tbaa !9
  br label %894, !llvm.loop !116

1090:                                             ; preds = %897
  %1091 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 26
  %1092 = load i32, ptr %1091, align 4, !tbaa !105
  %1093 = add nsw i32 %1092, 1
  store i32 %1093, ptr %1091, align 4, !tbaa !105
  call void @llvm.lifetime.start.p0(i64 32, ptr %140) #9
  %1094 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 41
  call void @llvm.lifetime.start.p0(i64 4, ptr %141) #9
  store float 7.000000e+02, ptr %141, align 4, !tbaa !98
  call void @_ZN5Eigen9DenseBaseINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEElsERKf(ptr dead_on_unwind writable sret(%"struct.Eigen::CommaInitializer") align 8 %140, ptr noundef nonnull align 1 dereferenceable(1) %1094, ptr noundef nonnull align 4 dereferenceable(4) %141)
  call void @llvm.lifetime.start.p0(i64 4, ptr %142) #9
  store float 0.000000e+00, ptr %142, align 4, !tbaa !98
  %1095 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5Eigen16CommaInitializerINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEEcmERKf(ptr noundef nonnull align 8 dereferenceable(32) %140, ptr noundef nonnull align 4 dereferenceable(4) %142)
          to label %1096 unwind label %1155

1096:                                             ; preds = %1090
  call void @llvm.lifetime.start.p0(i64 4, ptr %143) #9
  store float 0.000000e+00, ptr %143, align 4, !tbaa !98
  %1097 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5Eigen16CommaInitializerINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEEcmERKf(ptr noundef nonnull align 8 dereferenceable(32) %1095, ptr noundef nonnull align 4 dereferenceable(4) %143)
          to label %1098 unwind label %1159

1098:                                             ; preds = %1096
  call void @llvm.lifetime.start.p0(i64 4, ptr %144) #9
  store float 0.000000e+00, ptr %144, align 4, !tbaa !98
  %1099 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5Eigen16CommaInitializerINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEEcmERKf(ptr noundef nonnull align 8 dereferenceable(32) %1097, ptr noundef nonnull align 4 dereferenceable(4) %144)
          to label %1100 unwind label %1163

1100:                                             ; preds = %1098
  call void @llvm.lifetime.start.p0(i64 4, ptr %145) #9
  store float 7.000000e+02, ptr %145, align 4, !tbaa !98
  %1101 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5Eigen16CommaInitializerINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEEcmERKf(ptr noundef nonnull align 8 dereferenceable(32) %1099, ptr noundef nonnull align 4 dereferenceable(4) %145)
          to label %1102 unwind label %1167

1102:                                             ; preds = %1100
  call void @llvm.lifetime.start.p0(i64 4, ptr %146) #9
  store float 0.000000e+00, ptr %146, align 4, !tbaa !98
  %1103 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5Eigen16CommaInitializerINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEEcmERKf(ptr noundef nonnull align 8 dereferenceable(32) %1101, ptr noundef nonnull align 4 dereferenceable(4) %146)
          to label %1104 unwind label %1171

1104:                                             ; preds = %1102
  call void @llvm.lifetime.start.p0(i64 4, ptr %147) #9
  store float 0.000000e+00, ptr %147, align 4, !tbaa !98
  %1105 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5Eigen16CommaInitializerINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEEcmERKf(ptr noundef nonnull align 8 dereferenceable(32) %1103, ptr noundef nonnull align 4 dereferenceable(4) %147)
          to label %1106 unwind label %1175

1106:                                             ; preds = %1104
  call void @llvm.lifetime.start.p0(i64 4, ptr %148) #9
  store float 0.000000e+00, ptr %148, align 4, !tbaa !98
  %1107 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5Eigen16CommaInitializerINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEEcmERKf(ptr noundef nonnull align 8 dereferenceable(32) %1105, ptr noundef nonnull align 4 dereferenceable(4) %148)
          to label %1108 unwind label %1179

1108:                                             ; preds = %1106
  call void @llvm.lifetime.start.p0(i64 4, ptr %149) #9
  store float 2.000000e+02, ptr %149, align 4, !tbaa !98
  %1109 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5Eigen16CommaInitializerINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEEcmERKf(ptr noundef nonnull align 8 dereferenceable(32) %1107, ptr noundef nonnull align 4 dereferenceable(4) %149)
          to label %1110 unwind label %1183

1110:                                             ; preds = %1108
  call void @llvm.lifetime.end.p0(i64 4, ptr %149) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %148) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %147) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %146) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %145) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %144) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %143) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %142) #9
  call void @_ZN5Eigen16CommaInitializerINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %140) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %141) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %140) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %150) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %151) #9
  store double 0.000000e+00, ptr %151, align 8, !tbaa !101
  %1111 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 41
  call void @_ZN5EigenmlIdEEKNS_13CwiseBinaryOpINS_8internal17scalar_product_opINS2_18promote_scalar_argIfT_Xsr5Eigen8internal14has_ReturnTypeINS_20ScalarBinaryOpTraitsIS5_fNS3_IS5_fEEEEEE5valueEE4typeEfEEKNS2_19plain_constant_typeINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEESA_E4typeEKSE_EERKS5_RKNS_10MatrixBaseISE_EE(ptr dead_on_unwind writable sret(%"class.Eigen::CwiseBinaryOp.224") align 8 %150, ptr noundef nonnull align 8 dereferenceable(8) %151, ptr noundef nonnull align 1 dereferenceable(1) %1111)
  %1112 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 43
  %1113 = call noundef nonnull align 4 dereferenceable(36) ptr @_ZN5Eigen6MatrixIfLi3ELi3ELi0ELi3ELi3EEaSINS_13CwiseBinaryOpINS_8internal17scalar_product_opIffEEKNS_14CwiseNullaryOpINS4_18scalar_constant_opIfEEKS1_EESA_EEEERS1_RKNS_9DenseBaseIT_EE(ptr noundef nonnull align 4 dereferenceable(36) %1112, ptr noundef nonnull align 1 dereferenceable(1) %150)
  call void @llvm.lifetime.end.p0(i64 8, ptr %151) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %150) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %152) #9
  %1114 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 42
  call void @llvm.lifetime.start.p0(i64 4, ptr %153) #9
  store float 1.000000e+01, ptr %153, align 4, !tbaa !98
  call void @_ZN5Eigen9DenseBaseINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEElsERKf(ptr dead_on_unwind writable sret(%"struct.Eigen::CommaInitializer") align 8 %152, ptr noundef nonnull align 1 dereferenceable(1) %1114, ptr noundef nonnull align 4 dereferenceable(4) %153)
  call void @llvm.lifetime.start.p0(i64 4, ptr %154) #9
  store float 0.000000e+00, ptr %154, align 4, !tbaa !98
  %1115 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5Eigen16CommaInitializerINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEEcmERKf(ptr noundef nonnull align 8 dereferenceable(32) %152, ptr noundef nonnull align 4 dereferenceable(4) %154)
          to label %1116 unwind label %1194

1116:                                             ; preds = %1110
  call void @llvm.lifetime.start.p0(i64 4, ptr %155) #9
  store float 0.000000e+00, ptr %155, align 4, !tbaa !98
  %1117 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5Eigen16CommaInitializerINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEEcmERKf(ptr noundef nonnull align 8 dereferenceable(32) %1115, ptr noundef nonnull align 4 dereferenceable(4) %155)
          to label %1118 unwind label %1198

1118:                                             ; preds = %1116
  call void @llvm.lifetime.start.p0(i64 4, ptr %156) #9
  store float 0.000000e+00, ptr %156, align 4, !tbaa !98
  %1119 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5Eigen16CommaInitializerINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEEcmERKf(ptr noundef nonnull align 8 dereferenceable(32) %1117, ptr noundef nonnull align 4 dereferenceable(4) %156)
          to label %1120 unwind label %1202

1120:                                             ; preds = %1118
  call void @llvm.lifetime.start.p0(i64 4, ptr %157) #9
  store float 1.000000e+01, ptr %157, align 4, !tbaa !98
  %1121 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5Eigen16CommaInitializerINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEEcmERKf(ptr noundef nonnull align 8 dereferenceable(32) %1119, ptr noundef nonnull align 4 dereferenceable(4) %157)
          to label %1122 unwind label %1206

1122:                                             ; preds = %1120
  call void @llvm.lifetime.start.p0(i64 4, ptr %158) #9
  store float 0.000000e+00, ptr %158, align 4, !tbaa !98
  %1123 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5Eigen16CommaInitializerINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEEcmERKf(ptr noundef nonnull align 8 dereferenceable(32) %1121, ptr noundef nonnull align 4 dereferenceable(4) %158)
          to label %1124 unwind label %1210

1124:                                             ; preds = %1122
  call void @llvm.lifetime.start.p0(i64 4, ptr %159) #9
  store float 0.000000e+00, ptr %159, align 4, !tbaa !98
  %1125 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5Eigen16CommaInitializerINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEEcmERKf(ptr noundef nonnull align 8 dereferenceable(32) %1123, ptr noundef nonnull align 4 dereferenceable(4) %159)
          to label %1126 unwind label %1214

1126:                                             ; preds = %1124
  call void @llvm.lifetime.start.p0(i64 4, ptr %160) #9
  store float 0.000000e+00, ptr %160, align 4, !tbaa !98
  %1127 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5Eigen16CommaInitializerINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEEcmERKf(ptr noundef nonnull align 8 dereferenceable(32) %1125, ptr noundef nonnull align 4 dereferenceable(4) %160)
          to label %1128 unwind label %1218

1128:                                             ; preds = %1126
  call void @llvm.lifetime.start.p0(i64 4, ptr %161) #9
  store float 1.000000e+01, ptr %161, align 4, !tbaa !98
  %1129 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5Eigen16CommaInitializerINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEEcmERKf(ptr noundef nonnull align 8 dereferenceable(32) %1127, ptr noundef nonnull align 4 dereferenceable(4) %161)
          to label %1130 unwind label %1222

1130:                                             ; preds = %1128
  call void @llvm.lifetime.end.p0(i64 4, ptr %161) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %160) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %159) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %158) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %157) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %156) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %155) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %154) #9
  call void @_ZN5Eigen16CommaInitializerINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %152) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %153) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %152) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %162) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %163) #9
  store double 1.000000e+00, ptr %163, align 8, !tbaa !101
  %1131 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 42
  call void @_ZN5EigenmlIdEEKNS_13CwiseBinaryOpINS_8internal17scalar_product_opINS2_18promote_scalar_argIfT_Xsr5Eigen8internal14has_ReturnTypeINS_20ScalarBinaryOpTraitsIS5_fNS3_IS5_fEEEEEE5valueEE4typeEfEEKNS2_19plain_constant_typeINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEESA_E4typeEKSE_EERKS5_RKNS_10MatrixBaseISE_EE(ptr dead_on_unwind writable sret(%"class.Eigen::CwiseBinaryOp.224") align 8 %162, ptr noundef nonnull align 8 dereferenceable(8) %163, ptr noundef nonnull align 1 dereferenceable(1) %1131)
  %1132 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 44
  %1133 = call noundef nonnull align 4 dereferenceable(36) ptr @_ZN5Eigen6MatrixIfLi3ELi3ELi0ELi3ELi3EEaSINS_13CwiseBinaryOpINS_8internal17scalar_product_opIffEEKNS_14CwiseNullaryOpINS4_18scalar_constant_opIfEEKS1_EESA_EEEERS1_RKNS_9DenseBaseIT_EE(ptr noundef nonnull align 4 dereferenceable(36) %1132, ptr noundef nonnull align 1 dereferenceable(1) %162)
  call void @llvm.lifetime.end.p0(i64 8, ptr %163) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %162) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr %164) #9
  %1134 = load ptr, ptr %22, align 8, !tbaa !5
  %1135 = load ptr, ptr %1134, align 8, !tbaa !102
  %1136 = getelementptr inbounds ptr, ptr %1135, i64 3
  %1137 = load ptr, ptr %1136, align 8
  call void %1137(ptr dead_on_unwind writable sret(%"class.Eigen::Matrix.3") align 16 %164, ptr noundef nonnull align 8 dereferenceable(40) %1134)
  call void @llvm.lifetime.start.p0(i64 16, ptr %165) #9
  %1138 = load ptr, ptr %22, align 8, !tbaa !5
  %1139 = load ptr, ptr %1138, align 8, !tbaa !102
  %1140 = getelementptr inbounds ptr, ptr %1139, i64 4
  %1141 = load ptr, ptr %1140, align 8
  call void %1141(ptr dead_on_unwind writable sret(%"class.Eigen::Matrix.3") align 16 %165, ptr noundef nonnull align 8 dereferenceable(40) %1138)
  call void @llvm.lifetime.start.p0(i64 8, ptr %166) #9
  %1142 = load ptr, ptr %22, align 8, !tbaa !5
  %1143 = load ptr, ptr %1142, align 8, !tbaa !102
  %1144 = getelementptr inbounds ptr, ptr %1143, i64 5
  %1145 = load ptr, ptr %1144, align 8
  %1146 = call noundef ptr %1145(ptr noundef nonnull align 8 dereferenceable(40) %1142)
  store ptr %1146, ptr %166, align 8, !tbaa !5
  %1147 = load ptr, ptr %166, align 8, !tbaa !5
  %1148 = load ptr, ptr %12, align 8, !tbaa !5
  %1149 = load i8, ptr %17, align 1, !tbaa !11, !range !96, !noundef !97
  %1150 = trunc i8 %1149 to i1
  call void @_ZN19ConvexMPCLocomotion17updateMPCIfNeededEPiR23StateEstimatorContainerIfEb(ptr noundef nonnull align 16 dereferenceable(7184) %210, ptr noundef %1147, ptr noundef nonnull align 16 dereferenceable(96) %1148, i1 noundef zeroext %1150)
  call void @llvm.lifetime.start.p0(i64 16, ptr %167) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %168) #9
  store float 0.000000e+00, ptr %168, align 4, !tbaa !98
  call void @llvm.lifetime.start.p0(i64 4, ptr %169) #9
  store float 0.000000e+00, ptr %169, align 4, !tbaa !98
  call void @llvm.lifetime.start.p0(i64 4, ptr %170) #9
  store float 0.000000e+00, ptr %170, align 4, !tbaa !98
  call void @llvm.lifetime.start.p0(i64 4, ptr %171) #9
  store float 0.000000e+00, ptr %171, align 4, !tbaa !98
  call void @_ZN5Eigen6MatrixIfLi4ELi1ELi0ELi4ELi1EEC2ERKfS3_S3_S3_(ptr noundef nonnull align 16 dereferenceable(16) %167, ptr noundef nonnull align 4 dereferenceable(4) %168, ptr noundef nonnull align 4 dereferenceable(4) %169, ptr noundef nonnull align 4 dereferenceable(4) %170, ptr noundef nonnull align 4 dereferenceable(4) %171)
  call void @llvm.lifetime.end.p0(i64 4, ptr %171) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %170) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %169) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %168) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr %172) #9
  store i8 0, ptr %172, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %173) #9
  store i32 0, ptr %173, align 4, !tbaa !9
  br label %1151

1151:                                             ; preds = %1489, %1130
  %1152 = load i32, ptr %173, align 4, !tbaa !9
  %1153 = icmp slt i32 %1152, 4
  br i1 %1153, label %1233, label %1154

1154:                                             ; preds = %1151
  call void @llvm.lifetime.end.p0(i64 4, ptr %173) #9
  br label %1492

1155:                                             ; preds = %1090
  %1156 = landingpad { ptr, i32 }
          cleanup
  %1157 = extractvalue { ptr, i32 } %1156, 0
  store ptr %1157, ptr %19, align 8
  %1158 = extractvalue { ptr, i32 } %1156, 1
  store i32 %1158, ptr %20, align 4
  br label %1193

1159:                                             ; preds = %1096
  %1160 = landingpad { ptr, i32 }
          cleanup
  %1161 = extractvalue { ptr, i32 } %1160, 0
  store ptr %1161, ptr %19, align 8
  %1162 = extractvalue { ptr, i32 } %1160, 1
  store i32 %1162, ptr %20, align 4
  br label %1192

1163:                                             ; preds = %1098
  %1164 = landingpad { ptr, i32 }
          cleanup
  %1165 = extractvalue { ptr, i32 } %1164, 0
  store ptr %1165, ptr %19, align 8
  %1166 = extractvalue { ptr, i32 } %1164, 1
  store i32 %1166, ptr %20, align 4
  br label %1191

1167:                                             ; preds = %1100
  %1168 = landingpad { ptr, i32 }
          cleanup
  %1169 = extractvalue { ptr, i32 } %1168, 0
  store ptr %1169, ptr %19, align 8
  %1170 = extractvalue { ptr, i32 } %1168, 1
  store i32 %1170, ptr %20, align 4
  br label %1190

1171:                                             ; preds = %1102
  %1172 = landingpad { ptr, i32 }
          cleanup
  %1173 = extractvalue { ptr, i32 } %1172, 0
  store ptr %1173, ptr %19, align 8
  %1174 = extractvalue { ptr, i32 } %1172, 1
  store i32 %1174, ptr %20, align 4
  br label %1189

1175:                                             ; preds = %1104
  %1176 = landingpad { ptr, i32 }
          cleanup
  %1177 = extractvalue { ptr, i32 } %1176, 0
  store ptr %1177, ptr %19, align 8
  %1178 = extractvalue { ptr, i32 } %1176, 1
  store i32 %1178, ptr %20, align 4
  br label %1188

1179:                                             ; preds = %1106
  %1180 = landingpad { ptr, i32 }
          cleanup
  %1181 = extractvalue { ptr, i32 } %1180, 0
  store ptr %1181, ptr %19, align 8
  %1182 = extractvalue { ptr, i32 } %1180, 1
  store i32 %1182, ptr %20, align 4
  br label %1187

1183:                                             ; preds = %1108
  %1184 = landingpad { ptr, i32 }
          cleanup
  %1185 = extractvalue { ptr, i32 } %1184, 0
  store ptr %1185, ptr %19, align 8
  %1186 = extractvalue { ptr, i32 } %1184, 1
  store i32 %1186, ptr %20, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %149) #9
  br label %1187

1187:                                             ; preds = %1183, %1179
  call void @llvm.lifetime.end.p0(i64 4, ptr %148) #9
  br label %1188

1188:                                             ; preds = %1187, %1175
  call void @llvm.lifetime.end.p0(i64 4, ptr %147) #9
  br label %1189

1189:                                             ; preds = %1188, %1171
  call void @llvm.lifetime.end.p0(i64 4, ptr %146) #9
  br label %1190

1190:                                             ; preds = %1189, %1167
  call void @llvm.lifetime.end.p0(i64 4, ptr %145) #9
  br label %1191

1191:                                             ; preds = %1190, %1163
  call void @llvm.lifetime.end.p0(i64 4, ptr %144) #9
  br label %1192

1192:                                             ; preds = %1191, %1159
  call void @llvm.lifetime.end.p0(i64 4, ptr %143) #9
  br label %1193

1193:                                             ; preds = %1192, %1155
  call void @llvm.lifetime.end.p0(i64 4, ptr %142) #9
  call void @_ZN5Eigen16CommaInitializerINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %140) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %141) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %140) #9
  br label %1542

1194:                                             ; preds = %1110
  %1195 = landingpad { ptr, i32 }
          cleanup
  %1196 = extractvalue { ptr, i32 } %1195, 0
  store ptr %1196, ptr %19, align 8
  %1197 = extractvalue { ptr, i32 } %1195, 1
  store i32 %1197, ptr %20, align 4
  br label %1232

1198:                                             ; preds = %1116
  %1199 = landingpad { ptr, i32 }
          cleanup
  %1200 = extractvalue { ptr, i32 } %1199, 0
  store ptr %1200, ptr %19, align 8
  %1201 = extractvalue { ptr, i32 } %1199, 1
  store i32 %1201, ptr %20, align 4
  br label %1231

1202:                                             ; preds = %1118
  %1203 = landingpad { ptr, i32 }
          cleanup
  %1204 = extractvalue { ptr, i32 } %1203, 0
  store ptr %1204, ptr %19, align 8
  %1205 = extractvalue { ptr, i32 } %1203, 1
  store i32 %1205, ptr %20, align 4
  br label %1230

1206:                                             ; preds = %1120
  %1207 = landingpad { ptr, i32 }
          cleanup
  %1208 = extractvalue { ptr, i32 } %1207, 0
  store ptr %1208, ptr %19, align 8
  %1209 = extractvalue { ptr, i32 } %1207, 1
  store i32 %1209, ptr %20, align 4
  br label %1229

1210:                                             ; preds = %1122
  %1211 = landingpad { ptr, i32 }
          cleanup
  %1212 = extractvalue { ptr, i32 } %1211, 0
  store ptr %1212, ptr %19, align 8
  %1213 = extractvalue { ptr, i32 } %1211, 1
  store i32 %1213, ptr %20, align 4
  br label %1228

1214:                                             ; preds = %1124
  %1215 = landingpad { ptr, i32 }
          cleanup
  %1216 = extractvalue { ptr, i32 } %1215, 0
  store ptr %1216, ptr %19, align 8
  %1217 = extractvalue { ptr, i32 } %1215, 1
  store i32 %1217, ptr %20, align 4
  br label %1227

1218:                                             ; preds = %1126
  %1219 = landingpad { ptr, i32 }
          cleanup
  %1220 = extractvalue { ptr, i32 } %1219, 0
  store ptr %1220, ptr %19, align 8
  %1221 = extractvalue { ptr, i32 } %1219, 1
  store i32 %1221, ptr %20, align 4
  br label %1226

1222:                                             ; preds = %1128
  %1223 = landingpad { ptr, i32 }
          cleanup
  %1224 = extractvalue { ptr, i32 } %1223, 0
  store ptr %1224, ptr %19, align 8
  %1225 = extractvalue { ptr, i32 } %1223, 1
  store i32 %1225, ptr %20, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %161) #9
  br label %1226

1226:                                             ; preds = %1222, %1218
  call void @llvm.lifetime.end.p0(i64 4, ptr %160) #9
  br label %1227

1227:                                             ; preds = %1226, %1214
  call void @llvm.lifetime.end.p0(i64 4, ptr %159) #9
  br label %1228

1228:                                             ; preds = %1227, %1210
  call void @llvm.lifetime.end.p0(i64 4, ptr %158) #9
  br label %1229

1229:                                             ; preds = %1228, %1206
  call void @llvm.lifetime.end.p0(i64 4, ptr %157) #9
  br label %1230

1230:                                             ; preds = %1229, %1202
  call void @llvm.lifetime.end.p0(i64 4, ptr %156) #9
  br label %1231

1231:                                             ; preds = %1230, %1198
  call void @llvm.lifetime.end.p0(i64 4, ptr %155) #9
  br label %1232

1232:                                             ; preds = %1231, %1194
  call void @llvm.lifetime.end.p0(i64 4, ptr %154) #9
  call void @_ZN5Eigen16CommaInitializerINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %152) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %153) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %152) #9
  br label %1542

1233:                                             ; preds = %1151
  call void @llvm.lifetime.start.p0(i64 4, ptr %174) #9
  %1234 = load i32, ptr %173, align 4, !tbaa !9
  %1235 = sext i32 %1234 to i64
  %1236 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi4ELi1ELi0ELi4ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %164, i64 noundef %1235)
  %1237 = load float, ptr %1236, align 4, !tbaa !98
  store float %1237, ptr %174, align 4, !tbaa !98
  call void @llvm.lifetime.start.p0(i64 4, ptr %175) #9
  %1238 = load i32, ptr %173, align 4, !tbaa !9
  %1239 = sext i32 %1238 to i64
  %1240 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi4ELi1ELi0ELi4ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %165, i64 noundef %1239)
  %1241 = load float, ptr %1240, align 4, !tbaa !98
  store float %1241, ptr %175, align 4, !tbaa !98
  %1242 = load float, ptr %175, align 4, !tbaa !98
  %1243 = fcmp ogt float %1242, 0.000000e+00
  br i1 %1243, label %1244, label %1370

1244:                                             ; preds = %1233
  %1245 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 47
  %1246 = load i32, ptr %173, align 4, !tbaa !9
  %1247 = sext i32 %1246 to i64
  %1248 = getelementptr inbounds [4 x i8], ptr %1245, i64 0, i64 %1247
  %1249 = load i8, ptr %1248, align 1, !tbaa !11, !range !96, !noundef !97
  %1250 = trunc i8 %1249 to i1
  br i1 %1250, label %1251, label %1264

1251:                                             ; preds = %1244
  %1252 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 47
  %1253 = load i32, ptr %173, align 4, !tbaa !9
  %1254 = sext i32 %1253 to i64
  %1255 = getelementptr inbounds [4 x i8], ptr %1252, i64 0, i64 %1254
  store i8 0, ptr %1255, align 1, !tbaa !11
  %1256 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 29
  %1257 = load i32, ptr %173, align 4, !tbaa !9
  %1258 = sext i32 %1257 to i64
  %1259 = getelementptr inbounds [4 x %class.FootSwingTrajectory], ptr %1256, i64 0, i64 %1258
  %1260 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 56
  %1261 = load i32, ptr %173, align 4, !tbaa !9
  %1262 = sext i32 %1261 to i64
  %1263 = getelementptr inbounds [4 x %"class.Eigen::Matrix"], ptr %1260, i64 0, i64 %1262
  call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2ERKS1_(ptr noundef nonnull align 4 dereferenceable(12) %176, ptr noundef nonnull align 4 dereferenceable(12) %1263)
  call void @_ZN19FootSwingTrajectoryIfE18setInitialPositionEN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEE(ptr noundef nonnull align 4 dereferenceable(64) %1259, ptr noundef %176)
  br label %1264

1264:                                             ; preds = %1251, %1244
  %1265 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 29
  %1266 = load i32, ptr %173, align 4, !tbaa !9
  %1267 = sext i32 %1266 to i64
  %1268 = getelementptr inbounds [4 x %class.FootSwingTrajectory], ptr %1265, i64 0, i64 %1267
  %1269 = load float, ptr %175, align 4, !tbaa !98
  %1270 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 28
  %1271 = load i32, ptr %173, align 4, !tbaa !9
  %1272 = sext i32 %1271 to i64
  %1273 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi4ELi1ELi0ELi4ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %1270, i64 noundef %1272)
  %1274 = load float, ptr %1273, align 4, !tbaa !98
  call void @_ZN19FootSwingTrajectoryIfE28computeSwingTrajectoryBezierEff(ptr noundef nonnull align 4 dereferenceable(64) %1268, float noundef %1269, float noundef %1274)
  call void @llvm.lifetime.start.p0(i64 12, ptr %177) #9
  %1275 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 29
  %1276 = load i32, ptr %173, align 4, !tbaa !9
  %1277 = sext i32 %1276 to i64
  %1278 = getelementptr inbounds [4 x %class.FootSwingTrajectory], ptr %1275, i64 0, i64 %1277
  call void @_ZN19FootSwingTrajectoryIfE11getPositionEv(ptr dead_on_unwind writable sret(%"class.Eigen::Matrix") align 4 %177, ptr noundef nonnull align 4 dereferenceable(64) %1278)
  call void @llvm.lifetime.start.p0(i64 12, ptr %178) #9
  %1279 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 29
  %1280 = load i32, ptr %173, align 4, !tbaa !9
  %1281 = sext i32 %1280 to i64
  %1282 = getelementptr inbounds [4 x %class.FootSwingTrajectory], ptr %1279, i64 0, i64 %1281
  call void @_ZN19FootSwingTrajectoryIfE11getVelocityEv(ptr dead_on_unwind writable sret(%"class.Eigen::Matrix") align 4 %178, ptr noundef nonnull align 4 dereferenceable(64) %1282)
  call void @llvm.lifetime.start.p0(i64 12, ptr %179) #9
  call void @llvm.lifetime.start.p0(i64 48, ptr %180) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %181) #9
  %1283 = load ptr, ptr %21, align 8, !tbaa !5
  %1284 = getelementptr inbounds %struct.StateEstimate, ptr %1283, i32 0, i32 6
  call void @llvm.lifetime.start.p0(i64 24, ptr %182) #9
  %1285 = load ptr, ptr %21, align 8, !tbaa !5
  %1286 = getelementptr inbounds %struct.StateEstimate, ptr %1285, i32 0, i32 1
  call void @_ZNK5Eigen10MatrixBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEEEmiIS2_EEKNS_13CwiseBinaryOpINS_8internal20scalar_difference_opIfNS6_6traitsIT_E6ScalarEEEKS2_KS9_EERKNS0_IS9_EE(ptr dead_on_unwind writable sret(%"class.Eigen::CwiseBinaryOp.249") align 8 %182, ptr noundef nonnull align 1 dereferenceable(1) %177, ptr noundef nonnull align 1 dereferenceable(1) %1286)
  call void @_ZNK5Eigen10MatrixBaseINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEEmlINS_13CwiseBinaryOpINS_8internal20scalar_difference_opIffEEKNS1_IfLi3ELi1ELi0ELi3ELi1EEESA_EEEEKNS_7ProductIS2_T_Li0EEERKNS0_ISD_EE(ptr dead_on_unwind writable sret(%"class.Eigen::Product.242") align 8 %181, ptr noundef nonnull align 1 dereferenceable(1) %1284, ptr noundef nonnull align 1 dereferenceable(1) %182)
  call void @llvm.lifetime.start.p0(i64 12, ptr %183) #9
  %1287 = load ptr, ptr %10, align 8, !tbaa !5
  %1288 = load i32, ptr %173, align 4, !tbaa !9
  call void @_ZN9QuadrupedIfE14getHipLocationEi(ptr dead_on_unwind writable sret(%"class.Eigen::Matrix") align 4 %183, ptr noundef nonnull align 16 dereferenceable(1160) %1287, i32 noundef %1288)
  call void @_ZNK5Eigen10MatrixBaseINS_7ProductINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEENS_13CwiseBinaryOpINS_8internal20scalar_difference_opIffEEKNS2_IfLi3ELi1ELi0ELi3ELi1EEES9_EELi0EEEEmiIS8_EEKNS4_INS6_IfNS5_6traitsIT_E6ScalarEEEKSB_KSF_EERKNS0_ISF_EE(ptr dead_on_unwind writable sret(%"class.Eigen::CwiseBinaryOp.236") align 8 %180, ptr noundef nonnull align 1 dereferenceable(1) %181, ptr noundef nonnull align 1 dereferenceable(1) %183)
  call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2INS_13CwiseBinaryOpINS_8internal20scalar_difference_opIffEEKNS_7ProductINS0_IfLi3ELi3ELi0ELi3ELi3EEENS3_IS6_KS1_S9_EELi0EEES9_EEEERKNS_9EigenBaseIT_EE(ptr noundef nonnull align 4 dereferenceable(12) %179, ptr noundef nonnull align 1 dereferenceable(1) %180)
  call void @llvm.lifetime.end.p0(i64 12, ptr %183) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %182) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %181) #9
  call void @llvm.lifetime.end.p0(i64 48, ptr %180) #9
  call void @llvm.lifetime.start.p0(i64 12, ptr %184) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %185) #9
  %1289 = load ptr, ptr %21, align 8, !tbaa !5
  %1290 = getelementptr inbounds %struct.StateEstimate, ptr %1289, i32 0, i32 6
  call void @llvm.lifetime.start.p0(i64 24, ptr %186) #9
  %1291 = load ptr, ptr %21, align 8, !tbaa !5
  %1292 = getelementptr inbounds %struct.StateEstimate, ptr %1291, i32 0, i32 9
  call void @_ZNK5Eigen10MatrixBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEEEmiIS2_EEKNS_13CwiseBinaryOpINS_8internal20scalar_difference_opIfNS6_6traitsIT_E6ScalarEEEKS2_KS9_EERKNS0_IS9_EE(ptr dead_on_unwind writable sret(%"class.Eigen::CwiseBinaryOp.249") align 8 %186, ptr noundef nonnull align 1 dereferenceable(1) %178, ptr noundef nonnull align 1 dereferenceable(1) %1292)
  call void @_ZNK5Eigen10MatrixBaseINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEEmlINS_13CwiseBinaryOpINS_8internal20scalar_difference_opIffEEKNS1_IfLi3ELi1ELi0ELi3ELi1EEESA_EEEEKNS_7ProductIS2_T_Li0EEERKNS0_ISD_EE(ptr dead_on_unwind writable sret(%"class.Eigen::Product.242") align 8 %185, ptr noundef nonnull align 1 dereferenceable(1) %1290, ptr noundef nonnull align 1 dereferenceable(1) %186)
  call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2INS_7ProductINS0_IfLi3ELi3ELi0ELi3ELi3EEENS_13CwiseBinaryOpINS_8internal20scalar_difference_opIffEEKS1_S9_EELi0EEEEERKNS_9EigenBaseIT_EE(ptr noundef nonnull align 4 dereferenceable(12) %184, ptr noundef nonnull align 1 dereferenceable(1) %185)
  call void @llvm.lifetime.end.p0(i64 24, ptr %186) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %185) #9
  %1293 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 6
  %1294 = load i32, ptr %173, align 4, !tbaa !9
  %1295 = sext i32 %1294 to i64
  %1296 = getelementptr inbounds [4 x %"class.Eigen::Matrix"], ptr %1293, i64 0, i64 %1295
  %1297 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEaSERKS1_(ptr noundef nonnull align 4 dereferenceable(12) %1296, ptr noundef nonnull align 4 dereferenceable(12) %177)
  %1298 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 7
  %1299 = load i32, ptr %173, align 4, !tbaa !9
  %1300 = sext i32 %1299 to i64
  %1301 = getelementptr inbounds [4 x %"class.Eigen::Matrix"], ptr %1298, i64 0, i64 %1300
  %1302 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEaSERKS1_(ptr noundef nonnull align 4 dereferenceable(12) %1301, ptr noundef nonnull align 4 dereferenceable(12) %178)
  call void @llvm.lifetime.start.p0(i64 12, ptr %187) #9
  %1303 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 29
  %1304 = load i32, ptr %173, align 4, !tbaa !9
  %1305 = sext i32 %1304 to i64
  %1306 = getelementptr inbounds [4 x %class.FootSwingTrajectory], ptr %1303, i64 0, i64 %1305
  call void @_ZN19FootSwingTrajectoryIfE15getAccelerationEv(ptr dead_on_unwind writable sret(%"class.Eigen::Matrix") align 4 %187, ptr noundef nonnull align 4 dereferenceable(64) %1306)
  %1307 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 8
  %1308 = load i32, ptr %173, align 4, !tbaa !9
  %1309 = sext i32 %1308 to i64
  %1310 = getelementptr inbounds [4 x %"class.Eigen::Matrix"], ptr %1307, i64 0, i64 %1309
  %1311 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEaSEOS1_(ptr noundef nonnull align 4 dereferenceable(12) %1310, ptr noundef nonnull align 4 dereferenceable(12) %187) #9
  call void @llvm.lifetime.end.p0(i64 12, ptr %187) #9
  %1312 = load i8, ptr %172, align 1, !tbaa !11, !range !96, !noundef !97
  %1313 = trunc i8 %1312 to i1
  br i1 %1313, label %1369, label %1314

1314:                                             ; preds = %1264
  %1315 = load ptr, ptr %11, align 8, !tbaa !5
  %1316 = getelementptr inbounds %class.LegController, ptr %1315, i32 0, i32 0
  %1317 = load i32, ptr %173, align 4, !tbaa !9
  %1318 = sext i32 %1317 to i64
  %1319 = getelementptr inbounds [4 x %struct.LegControllerCommand], ptr %1316, i64 0, i64 %1318
  %1320 = getelementptr inbounds %struct.LegControllerCommand, ptr %1319, i32 0, i32 4
  %1321 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEaSERKS1_(ptr noundef nonnull align 4 dereferenceable(12) %1320, ptr noundef nonnull align 4 dereferenceable(12) %179)
  %1322 = load ptr, ptr %11, align 8, !tbaa !5
  %1323 = getelementptr inbounds %class.LegController, ptr %1322, i32 0, i32 0
  %1324 = load i32, ptr %173, align 4, !tbaa !9
  %1325 = sext i32 %1324 to i64
  %1326 = getelementptr inbounds [4 x %struct.LegControllerCommand], ptr %1323, i64 0, i64 %1325
  %1327 = getelementptr inbounds %struct.LegControllerCommand, ptr %1326, i32 0, i32 5
  %1328 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEaSERKS1_(ptr noundef nonnull align 4 dereferenceable(12) %1327, ptr noundef nonnull align 4 dereferenceable(12) %184)
  %1329 = load i32, ptr %173, align 4, !tbaa !9
  %1330 = icmp eq i32 %1329, 1
  br i1 %1330, label %1334, label %1331

1331:                                             ; preds = %1314
  %1332 = load i32, ptr %173, align 4, !tbaa !9
  %1333 = icmp eq i32 %1332, 3
  br i1 %1333, label %1334, label %1351

1334:                                             ; preds = %1331, %1314
  %1335 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 41
  %1336 = load ptr, ptr %11, align 8, !tbaa !5
  %1337 = getelementptr inbounds %class.LegController, ptr %1336, i32 0, i32 0
  %1338 = load i32, ptr %173, align 4, !tbaa !9
  %1339 = sext i32 %1338 to i64
  %1340 = getelementptr inbounds [4 x %struct.LegControllerCommand], ptr %1337, i64 0, i64 %1339
  %1341 = getelementptr inbounds %struct.LegControllerCommand, ptr %1340, i32 0, i32 6
  %1342 = call noundef nonnull align 4 dereferenceable(36) ptr @_ZN5Eigen6MatrixIfLi3ELi3ELi0ELi3ELi3EEaSERKS1_(ptr noundef nonnull align 4 dereferenceable(36) %1341, ptr noundef nonnull align 4 dereferenceable(36) %1335)
  %1343 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 42
  %1344 = load ptr, ptr %11, align 8, !tbaa !5
  %1345 = getelementptr inbounds %class.LegController, ptr %1344, i32 0, i32 0
  %1346 = load i32, ptr %173, align 4, !tbaa !9
  %1347 = sext i32 %1346 to i64
  %1348 = getelementptr inbounds [4 x %struct.LegControllerCommand], ptr %1345, i64 0, i64 %1347
  %1349 = getelementptr inbounds %struct.LegControllerCommand, ptr %1348, i32 0, i32 7
  %1350 = call noundef nonnull align 4 dereferenceable(36) ptr @_ZN5Eigen6MatrixIfLi3ELi3ELi0ELi3ELi3EEaSERKS1_(ptr noundef nonnull align 4 dereferenceable(36) %1349, ptr noundef nonnull align 4 dereferenceable(36) %1343)
  br label %1368

1351:                                             ; preds = %1331
  call void @llvm.lifetime.start.p0(i64 32, ptr %188) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %189) #9
  store i32 1, ptr %189, align 4, !tbaa !9
  %1352 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 41
  call void @_ZN5EigenmlIiEEKNS_13CwiseBinaryOpINS_8internal17scalar_product_opINS2_18promote_scalar_argIfT_Xsr5Eigen8internal14has_ReturnTypeINS_20ScalarBinaryOpTraitsIS5_fNS3_IS5_fEEEEEE5valueEE4typeEfEEKNS2_19plain_constant_typeINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEESA_E4typeEKSE_EERKS5_RKNS_10MatrixBaseISE_EE(ptr dead_on_unwind writable sret(%"class.Eigen::CwiseBinaryOp.224") align 8 %188, ptr noundef nonnull align 4 dereferenceable(4) %189, ptr noundef nonnull align 1 dereferenceable(1) %1352)
  %1353 = load ptr, ptr %11, align 8, !tbaa !5
  %1354 = getelementptr inbounds %class.LegController, ptr %1353, i32 0, i32 0
  %1355 = load i32, ptr %173, align 4, !tbaa !9
  %1356 = sext i32 %1355 to i64
  %1357 = getelementptr inbounds [4 x %struct.LegControllerCommand], ptr %1354, i64 0, i64 %1356
  %1358 = getelementptr inbounds %struct.LegControllerCommand, ptr %1357, i32 0, i32 6
  %1359 = call noundef nonnull align 4 dereferenceable(36) ptr @_ZN5Eigen6MatrixIfLi3ELi3ELi0ELi3ELi3EEaSINS_13CwiseBinaryOpINS_8internal17scalar_product_opIffEEKNS_14CwiseNullaryOpINS4_18scalar_constant_opIfEEKS1_EESA_EEEERS1_RKNS_9DenseBaseIT_EE(ptr noundef nonnull align 4 dereferenceable(36) %1358, ptr noundef nonnull align 1 dereferenceable(1) %188)
  call void @llvm.lifetime.end.p0(i64 4, ptr %189) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %188) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %190) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %191) #9
  store i32 1, ptr %191, align 4, !tbaa !9
  %1360 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 42
  call void @_ZN5EigenmlIiEEKNS_13CwiseBinaryOpINS_8internal17scalar_product_opINS2_18promote_scalar_argIfT_Xsr5Eigen8internal14has_ReturnTypeINS_20ScalarBinaryOpTraitsIS5_fNS3_IS5_fEEEEEE5valueEE4typeEfEEKNS2_19plain_constant_typeINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEESA_E4typeEKSE_EERKS5_RKNS_10MatrixBaseISE_EE(ptr dead_on_unwind writable sret(%"class.Eigen::CwiseBinaryOp.224") align 8 %190, ptr noundef nonnull align 4 dereferenceable(4) %191, ptr noundef nonnull align 1 dereferenceable(1) %1360)
  %1361 = load ptr, ptr %11, align 8, !tbaa !5
  %1362 = getelementptr inbounds %class.LegController, ptr %1361, i32 0, i32 0
  %1363 = load i32, ptr %173, align 4, !tbaa !9
  %1364 = sext i32 %1363 to i64
  %1365 = getelementptr inbounds [4 x %struct.LegControllerCommand], ptr %1362, i64 0, i64 %1364
  %1366 = getelementptr inbounds %struct.LegControllerCommand, ptr %1365, i32 0, i32 7
  %1367 = call noundef nonnull align 4 dereferenceable(36) ptr @_ZN5Eigen6MatrixIfLi3ELi3ELi0ELi3ELi3EEaSINS_13CwiseBinaryOpINS_8internal17scalar_product_opIffEEKNS_14CwiseNullaryOpINS4_18scalar_constant_opIfEEKS1_EESA_EEEERS1_RKNS_9DenseBaseIT_EE(ptr noundef nonnull align 4 dereferenceable(36) %1366, ptr noundef nonnull align 1 dereferenceable(1) %190)
  call void @llvm.lifetime.end.p0(i64 4, ptr %191) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %190) #9
  br label %1368

1368:                                             ; preds = %1351, %1334
  br label %1369

1369:                                             ; preds = %1368, %1264
  call void @llvm.lifetime.end.p0(i64 12, ptr %184) #9
  call void @llvm.lifetime.end.p0(i64 12, ptr %179) #9
  call void @llvm.lifetime.end.p0(i64 12, ptr %178) #9
  call void @llvm.lifetime.end.p0(i64 12, ptr %177) #9
  br label %1488

1370:                                             ; preds = %1233
  %1371 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 47
  %1372 = load i32, ptr %173, align 4, !tbaa !9
  %1373 = sext i32 %1372 to i64
  %1374 = getelementptr inbounds [4 x i8], ptr %1371, i64 0, i64 %1373
  store i8 1, ptr %1374, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 12, ptr %192) #9
  %1375 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 29
  %1376 = load i32, ptr %173, align 4, !tbaa !9
  %1377 = sext i32 %1376 to i64
  %1378 = getelementptr inbounds [4 x %class.FootSwingTrajectory], ptr %1375, i64 0, i64 %1377
  call void @_ZN19FootSwingTrajectoryIfE11getPositionEv(ptr dead_on_unwind writable sret(%"class.Eigen::Matrix") align 4 %192, ptr noundef nonnull align 4 dereferenceable(64) %1378)
  call void @llvm.lifetime.start.p0(i64 12, ptr %193) #9
  %1379 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 29
  %1380 = load i32, ptr %173, align 4, !tbaa !9
  %1381 = sext i32 %1380 to i64
  %1382 = getelementptr inbounds [4 x %class.FootSwingTrajectory], ptr %1379, i64 0, i64 %1381
  call void @_ZN19FootSwingTrajectoryIfE11getVelocityEv(ptr dead_on_unwind writable sret(%"class.Eigen::Matrix") align 4 %193, ptr noundef nonnull align 4 dereferenceable(64) %1382)
  call void @llvm.lifetime.start.p0(i64 12, ptr %194) #9
  call void @llvm.lifetime.start.p0(i64 48, ptr %195) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %196) #9
  %1383 = load ptr, ptr %21, align 8, !tbaa !5
  %1384 = getelementptr inbounds %struct.StateEstimate, ptr %1383, i32 0, i32 6
  call void @llvm.lifetime.start.p0(i64 24, ptr %197) #9
  %1385 = load ptr, ptr %21, align 8, !tbaa !5
  %1386 = getelementptr inbounds %struct.StateEstimate, ptr %1385, i32 0, i32 1
  call void @_ZNK5Eigen10MatrixBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEEEmiIS2_EEKNS_13CwiseBinaryOpINS_8internal20scalar_difference_opIfNS6_6traitsIT_E6ScalarEEEKS2_KS9_EERKNS0_IS9_EE(ptr dead_on_unwind writable sret(%"class.Eigen::CwiseBinaryOp.249") align 8 %197, ptr noundef nonnull align 1 dereferenceable(1) %192, ptr noundef nonnull align 1 dereferenceable(1) %1386)
  call void @_ZNK5Eigen10MatrixBaseINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEEmlINS_13CwiseBinaryOpINS_8internal20scalar_difference_opIffEEKNS1_IfLi3ELi1ELi0ELi3ELi1EEESA_EEEEKNS_7ProductIS2_T_Li0EEERKNS0_ISD_EE(ptr dead_on_unwind writable sret(%"class.Eigen::Product.242") align 8 %196, ptr noundef nonnull align 1 dereferenceable(1) %1384, ptr noundef nonnull align 1 dereferenceable(1) %197)
  call void @llvm.lifetime.start.p0(i64 12, ptr %198) #9
  %1387 = load ptr, ptr %10, align 8, !tbaa !5
  %1388 = load i32, ptr %173, align 4, !tbaa !9
  call void @_ZN9QuadrupedIfE14getHipLocationEi(ptr dead_on_unwind writable sret(%"class.Eigen::Matrix") align 4 %198, ptr noundef nonnull align 16 dereferenceable(1160) %1387, i32 noundef %1388)
  call void @_ZNK5Eigen10MatrixBaseINS_7ProductINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEENS_13CwiseBinaryOpINS_8internal20scalar_difference_opIffEEKNS2_IfLi3ELi1ELi0ELi3ELi1EEES9_EELi0EEEEmiIS8_EEKNS4_INS6_IfNS5_6traitsIT_E6ScalarEEEKSB_KSF_EERKNS0_ISF_EE(ptr dead_on_unwind writable sret(%"class.Eigen::CwiseBinaryOp.236") align 8 %195, ptr noundef nonnull align 1 dereferenceable(1) %196, ptr noundef nonnull align 1 dereferenceable(1) %198)
  call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2INS_13CwiseBinaryOpINS_8internal20scalar_difference_opIffEEKNS_7ProductINS0_IfLi3ELi3ELi0ELi3ELi3EEENS3_IS6_KS1_S9_EELi0EEES9_EEEERKNS_9EigenBaseIT_EE(ptr noundef nonnull align 4 dereferenceable(12) %194, ptr noundef nonnull align 1 dereferenceable(1) %195)
  call void @llvm.lifetime.end.p0(i64 12, ptr %198) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %197) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %196) #9
  call void @llvm.lifetime.end.p0(i64 48, ptr %195) #9
  call void @llvm.lifetime.start.p0(i64 12, ptr %199) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %200) #9
  %1389 = load ptr, ptr %21, align 8, !tbaa !5
  %1390 = getelementptr inbounds %struct.StateEstimate, ptr %1389, i32 0, i32 6
  call void @llvm.lifetime.start.p0(i64 24, ptr %201) #9
  %1391 = load ptr, ptr %21, align 8, !tbaa !5
  %1392 = getelementptr inbounds %struct.StateEstimate, ptr %1391, i32 0, i32 9
  call void @_ZNK5Eigen10MatrixBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEEEmiIS2_EEKNS_13CwiseBinaryOpINS_8internal20scalar_difference_opIfNS6_6traitsIT_E6ScalarEEEKS2_KS9_EERKNS0_IS9_EE(ptr dead_on_unwind writable sret(%"class.Eigen::CwiseBinaryOp.249") align 8 %201, ptr noundef nonnull align 1 dereferenceable(1) %193, ptr noundef nonnull align 1 dereferenceable(1) %1392)
  call void @_ZNK5Eigen10MatrixBaseINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEEmlINS_13CwiseBinaryOpINS_8internal20scalar_difference_opIffEEKNS1_IfLi3ELi1ELi0ELi3ELi1EEESA_EEEEKNS_7ProductIS2_T_Li0EEERKNS0_ISD_EE(ptr dead_on_unwind writable sret(%"class.Eigen::Product.242") align 8 %200, ptr noundef nonnull align 1 dereferenceable(1) %1390, ptr noundef nonnull align 1 dereferenceable(1) %201)
  call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2INS_7ProductINS0_IfLi3ELi3ELi0ELi3ELi3EEENS_13CwiseBinaryOpINS_8internal20scalar_difference_opIffEEKS1_S9_EELi0EEEEERKNS_9EigenBaseIT_EE(ptr noundef nonnull align 4 dereferenceable(12) %199, ptr noundef nonnull align 1 dereferenceable(1) %200)
  call void @llvm.lifetime.end.p0(i64 24, ptr %201) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %200) #9
  %1393 = load i8, ptr %172, align 1, !tbaa !11, !range !96, !noundef !97
  %1394 = trunc i8 %1393 to i1
  br i1 %1394, label %1452, label %1395

1395:                                             ; preds = %1370
  %1396 = load ptr, ptr %11, align 8, !tbaa !5
  %1397 = getelementptr inbounds %class.LegController, ptr %1396, i32 0, i32 0
  %1398 = load i32, ptr %173, align 4, !tbaa !9
  %1399 = sext i32 %1398 to i64
  %1400 = getelementptr inbounds [4 x %struct.LegControllerCommand], ptr %1397, i64 0, i64 %1399
  %1401 = getelementptr inbounds %struct.LegControllerCommand, ptr %1400, i32 0, i32 4
  %1402 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEaSERKS1_(ptr noundef nonnull align 4 dereferenceable(12) %1401, ptr noundef nonnull align 4 dereferenceable(12) %194)
  %1403 = load ptr, ptr %11, align 8, !tbaa !5
  %1404 = getelementptr inbounds %class.LegController, ptr %1403, i32 0, i32 0
  %1405 = load i32, ptr %173, align 4, !tbaa !9
  %1406 = sext i32 %1405 to i64
  %1407 = getelementptr inbounds [4 x %struct.LegControllerCommand], ptr %1404, i64 0, i64 %1406
  %1408 = getelementptr inbounds %struct.LegControllerCommand, ptr %1407, i32 0, i32 5
  %1409 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEaSERKS1_(ptr noundef nonnull align 4 dereferenceable(12) %1408, ptr noundef nonnull align 4 dereferenceable(12) %199)
  %1410 = load i32, ptr %173, align 4, !tbaa !9
  %1411 = icmp eq i32 %1410, 1
  br i1 %1411, label %1415, label %1412

1412:                                             ; preds = %1395
  %1413 = load i32, ptr %173, align 4, !tbaa !9
  %1414 = icmp eq i32 %1413, 3
  br i1 %1414, label %1415, label %1424

1415:                                             ; preds = %1412, %1395
  %1416 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 44
  %1417 = load ptr, ptr %11, align 8, !tbaa !5
  %1418 = getelementptr inbounds %class.LegController, ptr %1417, i32 0, i32 0
  %1419 = load i32, ptr %173, align 4, !tbaa !9
  %1420 = sext i32 %1419 to i64
  %1421 = getelementptr inbounds [4 x %struct.LegControllerCommand], ptr %1418, i64 0, i64 %1420
  %1422 = getelementptr inbounds %struct.LegControllerCommand, ptr %1421, i32 0, i32 7
  %1423 = call noundef nonnull align 4 dereferenceable(36) ptr @_ZN5Eigen6MatrixIfLi3ELi3ELi0ELi3ELi3EEaSERKS1_(ptr noundef nonnull align 4 dereferenceable(36) %1422, ptr noundef nonnull align 4 dereferenceable(36) %1416)
  br label %1433

1424:                                             ; preds = %1412
  call void @llvm.lifetime.start.p0(i64 32, ptr %202) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %203) #9
  store i32 1, ptr %203, align 4, !tbaa !9
  %1425 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 44
  call void @_ZN5EigenmlIiEEKNS_13CwiseBinaryOpINS_8internal17scalar_product_opINS2_18promote_scalar_argIfT_Xsr5Eigen8internal14has_ReturnTypeINS_20ScalarBinaryOpTraitsIS5_fNS3_IS5_fEEEEEE5valueEE4typeEfEEKNS2_19plain_constant_typeINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEESA_E4typeEKSE_EERKS5_RKNS_10MatrixBaseISE_EE(ptr dead_on_unwind writable sret(%"class.Eigen::CwiseBinaryOp.224") align 8 %202, ptr noundef nonnull align 4 dereferenceable(4) %203, ptr noundef nonnull align 1 dereferenceable(1) %1425)
  %1426 = load ptr, ptr %11, align 8, !tbaa !5
  %1427 = getelementptr inbounds %class.LegController, ptr %1426, i32 0, i32 0
  %1428 = load i32, ptr %173, align 4, !tbaa !9
  %1429 = sext i32 %1428 to i64
  %1430 = getelementptr inbounds [4 x %struct.LegControllerCommand], ptr %1427, i64 0, i64 %1429
  %1431 = getelementptr inbounds %struct.LegControllerCommand, ptr %1430, i32 0, i32 7
  %1432 = call noundef nonnull align 4 dereferenceable(36) ptr @_ZN5Eigen6MatrixIfLi3ELi3ELi0ELi3ELi3EEaSINS_13CwiseBinaryOpINS_8internal17scalar_product_opIffEEKNS_14CwiseNullaryOpINS4_18scalar_constant_opIfEEKS1_EESA_EEEERS1_RKNS_9DenseBaseIT_EE(ptr noundef nonnull align 4 dereferenceable(36) %1431, ptr noundef nonnull align 1 dereferenceable(1) %202)
  call void @llvm.lifetime.end.p0(i64 4, ptr %203) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %202) #9
  br label %1433

1433:                                             ; preds = %1424, %1415
  %1434 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 27
  %1435 = load i32, ptr %173, align 4, !tbaa !9
  %1436 = sext i32 %1435 to i64
  %1437 = getelementptr inbounds [4 x %"class.Eigen::Matrix"], ptr %1434, i64 0, i64 %1436
  %1438 = load ptr, ptr %11, align 8, !tbaa !5
  %1439 = getelementptr inbounds %class.LegController, ptr %1438, i32 0, i32 0
  %1440 = load i32, ptr %173, align 4, !tbaa !9
  %1441 = sext i32 %1440 to i64
  %1442 = getelementptr inbounds [4 x %struct.LegControllerCommand], ptr %1439, i64 0, i64 %1441
  %1443 = getelementptr inbounds %struct.LegControllerCommand, ptr %1442, i32 0, i32 1
  %1444 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEaSERKS1_(ptr noundef nonnull align 4 dereferenceable(12) %1443, ptr noundef nonnull align 4 dereferenceable(12) %1437)
  call void @llvm.lifetime.start.p0(i64 16, ptr %204) #9
  call void @llvm.lifetime.start.p0(i64 3, ptr %205) #9
  call void @_ZN5Eigen10MatrixBaseINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEE8IdentityEv(ptr dead_on_unwind writable sret(%"class.Eigen::CwiseNullaryOp.264") align 1 %205)
  call void @llvm.lifetime.start.p0(i64 8, ptr %206) #9
  store double 2.000000e-01, ptr %206, align 8, !tbaa !101
  call void @_ZNK5Eigen10MatrixBaseINS_14CwiseNullaryOpINS_8internal18scalar_identity_opIfEENS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEEEEmlIdEEKNS_13CwiseBinaryOpINS2_17scalar_product_opIfNS2_18promote_scalar_argIfT_Xsr5Eigen8internal14has_ReturnTypeINS_20ScalarBinaryOpTraitsIfSD_NSB_IfSD_EEEEEE5valueEE4typeEEEKS7_KNS2_19plain_constant_typeIS7_SI_E4typeEEERKSD_(ptr dead_on_unwind writable sret(%"class.Eigen::CwiseBinaryOp.257") align 4 %204, ptr noundef nonnull align 1 dereferenceable(1) %205, ptr noundef nonnull align 8 dereferenceable(8) %206)
  %1445 = load ptr, ptr %11, align 8, !tbaa !5
  %1446 = getelementptr inbounds %class.LegController, ptr %1445, i32 0, i32 0
  %1447 = load i32, ptr %173, align 4, !tbaa !9
  %1448 = sext i32 %1447 to i64
  %1449 = getelementptr inbounds [4 x %struct.LegControllerCommand], ptr %1446, i64 0, i64 %1448
  %1450 = getelementptr inbounds %struct.LegControllerCommand, ptr %1449, i32 0, i32 9
  %1451 = call noundef nonnull align 4 dereferenceable(36) ptr @_ZN5Eigen6MatrixIfLi3ELi3ELi0ELi3ELi3EEaSINS_13CwiseBinaryOpINS_8internal17scalar_product_opIffEEKNS_14CwiseNullaryOpINS4_18scalar_identity_opIfEES1_EEKNS7_INS4_18scalar_constant_opIfEEKS1_EEEEEERS1_RKNS_9DenseBaseIT_EE(ptr noundef nonnull align 4 dereferenceable(36) %1450, ptr noundef nonnull align 1 dereferenceable(1) %204)
  call void @llvm.lifetime.end.p0(i64 8, ptr %206) #9
  call void @llvm.lifetime.end.p0(i64 3, ptr %205) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %204) #9
  br label %1483

1452:                                             ; preds = %1370
  %1453 = load ptr, ptr %11, align 8, !tbaa !5
  %1454 = getelementptr inbounds %class.LegController, ptr %1453, i32 0, i32 0
  %1455 = load i32, ptr %173, align 4, !tbaa !9
  %1456 = sext i32 %1455 to i64
  %1457 = getelementptr inbounds [4 x %struct.LegControllerCommand], ptr %1454, i64 0, i64 %1456
  %1458 = getelementptr inbounds %struct.LegControllerCommand, ptr %1457, i32 0, i32 4
  %1459 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEaSERKS1_(ptr noundef nonnull align 4 dereferenceable(12) %1458, ptr noundef nonnull align 4 dereferenceable(12) %194)
  %1460 = load ptr, ptr %11, align 8, !tbaa !5
  %1461 = getelementptr inbounds %class.LegController, ptr %1460, i32 0, i32 0
  %1462 = load i32, ptr %173, align 4, !tbaa !9
  %1463 = sext i32 %1462 to i64
  %1464 = getelementptr inbounds [4 x %struct.LegControllerCommand], ptr %1461, i64 0, i64 %1463
  %1465 = getelementptr inbounds %struct.LegControllerCommand, ptr %1464, i32 0, i32 5
  %1466 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEaSERKS1_(ptr noundef nonnull align 4 dereferenceable(12) %1465, ptr noundef nonnull align 4 dereferenceable(12) %199)
  call void @llvm.lifetime.start.p0(i64 32, ptr %207) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %208) #9
  store double 0.000000e+00, ptr %208, align 8, !tbaa !101
  %1467 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 43
  call void @_ZN5EigenmlIdEEKNS_13CwiseBinaryOpINS_8internal17scalar_product_opINS2_18promote_scalar_argIfT_Xsr5Eigen8internal14has_ReturnTypeINS_20ScalarBinaryOpTraitsIS5_fNS3_IS5_fEEEEEE5valueEE4typeEfEEKNS2_19plain_constant_typeINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEESA_E4typeEKSE_EERKS5_RKNS_10MatrixBaseISE_EE(ptr dead_on_unwind writable sret(%"class.Eigen::CwiseBinaryOp.224") align 8 %207, ptr noundef nonnull align 8 dereferenceable(8) %208, ptr noundef nonnull align 1 dereferenceable(1) %1467)
  %1468 = load ptr, ptr %11, align 8, !tbaa !5
  %1469 = getelementptr inbounds %class.LegController, ptr %1468, i32 0, i32 0
  %1470 = load i32, ptr %173, align 4, !tbaa !9
  %1471 = sext i32 %1470 to i64
  %1472 = getelementptr inbounds [4 x %struct.LegControllerCommand], ptr %1469, i64 0, i64 %1471
  %1473 = getelementptr inbounds %struct.LegControllerCommand, ptr %1472, i32 0, i32 6
  %1474 = call noundef nonnull align 4 dereferenceable(36) ptr @_ZN5Eigen6MatrixIfLi3ELi3ELi0ELi3ELi3EEaSINS_13CwiseBinaryOpINS_8internal17scalar_product_opIffEEKNS_14CwiseNullaryOpINS4_18scalar_constant_opIfEEKS1_EESA_EEEERS1_RKNS_9DenseBaseIT_EE(ptr noundef nonnull align 4 dereferenceable(36) %1473, ptr noundef nonnull align 1 dereferenceable(1) %207)
  call void @llvm.lifetime.end.p0(i64 8, ptr %208) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %207) #9
  %1475 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 44
  %1476 = load ptr, ptr %11, align 8, !tbaa !5
  %1477 = getelementptr inbounds %class.LegController, ptr %1476, i32 0, i32 0
  %1478 = load i32, ptr %173, align 4, !tbaa !9
  %1479 = sext i32 %1478 to i64
  %1480 = getelementptr inbounds [4 x %struct.LegControllerCommand], ptr %1477, i64 0, i64 %1479
  %1481 = getelementptr inbounds %struct.LegControllerCommand, ptr %1480, i32 0, i32 7
  %1482 = call noundef nonnull align 4 dereferenceable(36) ptr @_ZN5Eigen6MatrixIfLi3ELi3ELi0ELi3ELi3EEaSERKS1_(ptr noundef nonnull align 4 dereferenceable(36) %1481, ptr noundef nonnull align 4 dereferenceable(36) %1475)
  br label %1483

1483:                                             ; preds = %1452, %1433
  %1484 = load float, ptr %174, align 4, !tbaa !98
  %1485 = load i32, ptr %173, align 4, !tbaa !9
  %1486 = sext i32 %1485 to i64
  %1487 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi4ELi1ELi0ELi4ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %167, i64 noundef %1486)
  store float %1484, ptr %1487, align 4, !tbaa !98
  call void @llvm.lifetime.end.p0(i64 12, ptr %199) #9
  call void @llvm.lifetime.end.p0(i64 12, ptr %194) #9
  call void @llvm.lifetime.end.p0(i64 12, ptr %193) #9
  call void @llvm.lifetime.end.p0(i64 12, ptr %192) #9
  br label %1488

1488:                                             ; preds = %1483, %1369
  call void @llvm.lifetime.end.p0(i64 4, ptr %175) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %174) #9
  br label %1489

1489:                                             ; preds = %1488
  %1490 = load i32, ptr %173, align 4, !tbaa !9
  %1491 = add nsw i32 %1490, 1
  store i32 %1491, ptr %173, align 4, !tbaa !9
  br label %1151, !llvm.loop !117

1492:                                             ; preds = %1154
  %1493 = load ptr, ptr %12, align 8, !tbaa !5
  call void @_ZN23StateEstimatorContainerIfE15setContactPhaseERN5Eigen6MatrixIfLi4ELi1ELi0ELi4ELi1EEE(ptr noundef nonnull align 16 dereferenceable(96) %1493, ptr noundef nonnull align 16 dereferenceable(16) %167)
  %1494 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 52
  %1495 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %1494, i64 noundef 0)
  %1496 = load float, ptr %1495, align 4, !tbaa !98
  %1497 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 1
  %1498 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %1497, i64 noundef 0)
  store float %1496, ptr %1498, align 4, !tbaa !98
  %1499 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 52
  %1500 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %1499, i64 noundef 1)
  %1501 = load float, ptr %1500, align 4, !tbaa !98
  %1502 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 1
  %1503 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %1502, i64 noundef 1)
  store float %1501, ptr %1503, align 4, !tbaa !98
  %1504 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 18
  %1505 = load float, ptr %1504, align 4, !tbaa !118
  %1506 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 1
  %1507 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %1506, i64 noundef 2)
  store float %1505, ptr %1507, align 4, !tbaa !98
  %1508 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %95, i64 noundef 0)
  %1509 = load float, ptr %1508, align 4, !tbaa !98
  %1510 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 2
  %1511 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %1510, i64 noundef 0)
  store float %1509, ptr %1511, align 4, !tbaa !98
  %1512 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %95, i64 noundef 1)
  %1513 = load float, ptr %1512, align 4, !tbaa !98
  %1514 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 2
  %1515 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %1514, i64 noundef 1)
  store float %1513, ptr %1515, align 4, !tbaa !98
  %1516 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 2
  %1517 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %1516, i64 noundef 2)
  store float 0.000000e+00, ptr %1517, align 4, !tbaa !98
  %1518 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 3
  %1519 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZN5Eigen9DenseBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEEE7setZeroEv(ptr noundef nonnull align 1 dereferenceable(1) %1518)
  %1520 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 4
  %1521 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %1520, i64 noundef 0)
  store float 0.000000e+00, ptr %1521, align 4, !tbaa !98
  %1522 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 4
  %1523 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %1522, i64 noundef 1)
  store float 0.000000e+00, ptr %1523, align 4, !tbaa !98
  %1524 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 12
  %1525 = load float, ptr %1524, align 4, !tbaa !119
  %1526 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 4
  %1527 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %1526, i64 noundef 2)
  store float %1525, ptr %1527, align 4, !tbaa !98
  %1528 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 5
  %1529 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %1528, i64 noundef 0)
  store float 0.000000e+00, ptr %1529, align 4, !tbaa !98
  %1530 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 5
  %1531 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %1530, i64 noundef 1)
  store float 0.000000e+00, ptr %1531, align 4, !tbaa !98
  %1532 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 11
  %1533 = load float, ptr %1532, align 16, !tbaa !104
  %1534 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 5
  %1535 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %1534, i64 noundef 2)
  store float %1533, ptr %1535, align 4, !tbaa !98
  call void @llvm.lifetime.start.p0(i64 16, ptr %209) #9
  %1536 = load ptr, ptr %22, align 8, !tbaa !5
  %1537 = load ptr, ptr %1536, align 8, !tbaa !102
  %1538 = getelementptr inbounds ptr, ptr %1537, i64 3
  %1539 = load ptr, ptr %1538, align 8
  call void %1539(ptr dead_on_unwind writable sret(%"class.Eigen::Matrix.3") align 16 %209, ptr noundef nonnull align 8 dereferenceable(40) %1536)
  %1540 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %210, i32 0, i32 10
  %1541 = call noundef nonnull align 16 dereferenceable(16) ptr @_ZN5Eigen6MatrixIfLi4ELi1ELi0ELi4ELi1EEaSEOS1_(ptr noundef nonnull align 16 dereferenceable(16) %1540, ptr noundef nonnull align 16 dereferenceable(16) %209) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %209) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %172) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %167) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %166) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %165) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %164) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %116) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %115) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %114) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %113) #9
  call void @llvm.lifetime.end.p0(i64 12, ptr %105) #9
  call void @llvm.lifetime.end.p0(i64 12, ptr %98) #9
  call void @llvm.lifetime.end.p0(i64 12, ptr %95) #9
  call void @llvm.lifetime.end.p0(i64 12, ptr %93) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %17) #9
  ret void

1542:                                             ; preds = %1232, %1193
  call void @llvm.lifetime.end.p0(i64 4, ptr %116) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %115) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %114) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %113) #9
  call void @llvm.lifetime.end.p0(i64 12, ptr %105) #9
  call void @llvm.lifetime.end.p0(i64 12, ptr %98) #9
  call void @llvm.lifetime.end.p0(i64 12, ptr %95) #9
  call void @llvm.lifetime.end.p0(i64 12, ptr %93) #9
  br label %1543

1543:                                             ; preds = %1542, %666
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #9
  br label %1544

1544:                                             ; preds = %1543, %222
  call void @llvm.lifetime.end.p0(i64 1, ptr %17) #9
  br label %1545

1545:                                             ; preds = %1544
  %1546 = load ptr, ptr %19, align 8
  %1547 = load i32, ptr %20, align 4
  %1548 = insertvalue { ptr, i32 } poison, ptr %1546, 0
  %1549 = insertvalue { ptr, i32 } %1548, i32 %1547, 1
  resume { ptr, i32 } %1549
}

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

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

; Function Attrs: nounwind
declare double @sqrt(double noundef) #6

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare double @llvm.fmuladd.f64(double, double, double) #4

; Function Attrs: inlinehint mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) #0

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

; Function Attrs: inlinehint mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_(ptr noundef nonnull align 8 dereferenceable(8)) #0

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2ERKfS3_S3_(ptr noundef nonnull align 4 dereferenceable(12), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4)) unnamed_addr #0 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2ERKS1_(ptr noundef nonnull align 4 dereferenceable(12), ptr noundef nonnull align 4 dereferenceable(12)) unnamed_addr #0 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local ptr @_ZNK5Eigen9DenseBaseINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEE9transposeEv(ptr noundef nonnull align 1 dereferenceable(1)) #0 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local { ptr, ptr } @_ZNK5Eigen10MatrixBaseINS_9TransposeIKNS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEEEEmlINS2_IfLi3ELi1ELi0ELi3ELi1EEEEEKNS_7ProductIS5_T_Li0EEERKNS0_ISA_EE(ptr noundef nonnull align 1 dereferenceable(1), ptr noundef nonnull align 1 dereferenceable(1)) #0 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2INS_7ProductINS_9TransposeIKNS0_IfLi3ELi3ELi0ELi3ELi3EEEEES1_Li0EEEEERKNS_9EigenBaseIT_EE(ptr noundef nonnull align 4 dereferenceable(12), ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #0 align 2

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare double @llvm.fabs.f64(double) #4

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare float @llvm.maxnum.f32(float, float) #4

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare float @llvm.minnum.f32(float, float) #4

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZNK5Eigen10MatrixBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEEEplINS_7ProductINS_9TransposeIKNS1_IfLi3ELi3ELi0ELi3ELi3EEEEENS_13CwiseBinaryOpINS_8internal13scalar_sum_opIffEEKS2_SE_EELi0EEEEEKNSA_INSC_IfNSB_6traitsIT_E6ScalarEEESE_KSI_EERKNS0_ISI_EE(ptr dead_on_unwind noalias writable sret(%"class.Eigen::CwiseBinaryOp") align 8, ptr noundef nonnull align 1 dereferenceable(1), ptr noundef nonnull align 1 dereferenceable(1)) #0 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZNK5Eigen10MatrixBaseINS_9TransposeIKNS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEEEEmlINS_13CwiseBinaryOpINS_8internal13scalar_sum_opIffEEKNS2_IfLi3ELi1ELi0ELi3ELi1EEESD_EEEEKNS_7ProductIS5_T_Li0EEERKNS0_ISG_EE(ptr dead_on_unwind noalias writable sret(%"class.Eigen::Product.154") align 8, ptr noundef nonnull align 1 dereferenceable(1), ptr noundef nonnull align 1 dereferenceable(1)) #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN9QuadrupedIfE14getHipLocationEi(ptr dead_on_unwind noalias writable sret(%"class.Eigen::Matrix") align 4, ptr noundef nonnull align 16 dereferenceable(1160), i32 noundef) #3 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZNK5Eigen10MatrixBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEEEplIS2_EEKNS_13CwiseBinaryOpINS_8internal13scalar_sum_opIfNS6_6traitsIT_E6ScalarEEEKS2_KS9_EERKNS0_IS9_EE(ptr dead_on_unwind noalias writable sret(%"class.Eigen::CwiseBinaryOp.161") align 8, ptr noundef nonnull align 1 dereferenceable(1), ptr noundef nonnull align 1 dereferenceable(1)) #0 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 4 dereferenceable(12) ptr @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEaSINS_13CwiseBinaryOpINS_8internal13scalar_sum_opIffEEKS1_KNS_7ProductINS_9TransposeIKNS0_IfLi3ELi3ELi0ELi3ELi3EEEEENS3_IS6_S7_S7_EELi0EEEEEEERS1_RKNS_9DenseBaseIT_EE(ptr noundef nonnull align 4 dereferenceable(12), ptr noundef nonnull align 1 dereferenceable(1)) #0 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5EigenmlIfEEKNS_13CwiseBinaryOpINS_8internal17scalar_product_opINS2_18promote_scalar_argIfT_Xsr5Eigen8internal14has_ReturnTypeINS_20ScalarBinaryOpTraitsIS5_fNS3_IS5_fEEEEEE5valueEE4typeEfEEKNS2_19plain_constant_typeINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEESA_E4typeEKSE_EERKS5_RKNS_10MatrixBaseISE_EE(ptr dead_on_unwind noalias writable sret(%"class.Eigen::CwiseBinaryOp.178") align 8, ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 1 dereferenceable(1)) #0

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 4 dereferenceable(12) ptr @_ZN5Eigen10MatrixBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEEEpLINS_13CwiseBinaryOpINS_8internal17scalar_product_opIffEEKNS_14CwiseNullaryOpINS6_18scalar_constant_opIfEEKS2_EESC_EEEERS2_RKNS0_IT_EE(ptr noundef nonnull align 1 dereferenceable(1), ptr noundef nonnull align 1 dereferenceable(1)) #0 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN19FootSwingTrajectoryIfE9setHeightEf(ptr noundef nonnull align 4 dereferenceable(64), float noundef) #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN19FootSwingTrajectoryIfE18setInitialPositionEN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEE(ptr noundef nonnull align 4 dereferenceable(64), ptr noundef) #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN19FootSwingTrajectoryIfE16setFinalPositionEN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEE(ptr noundef nonnull align 4 dereferenceable(64), ptr noundef) #3 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi4ELi1ELi0ELi4ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1), i64 noundef) #0 align 2

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite)
declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #7

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef float @_ZSt4fabsf(float noundef) #5

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2INS_13CwiseBinaryOpINS_8internal13scalar_sum_opIffEEKS1_S7_EEEERKNS_9EigenBaseIT_EE(ptr noundef nonnull align 4 dereferenceable(12), ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN3ori18coordinateRotationIfEEN5Eigen6MatrixIT_Li3ELi3ELi0ELi3ELi3EEENS_14CoordinateAxisES3_(ptr dead_on_unwind noalias writable sret(%"class.Eigen::Matrix.29") align 4, i32 noundef, float noundef) #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local { ptr, ptr } @_ZNK5Eigen10MatrixBaseINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEEmlINS1_IfLi3ELi1ELi0ELi3ELi1EEEEEKNS_7ProductIS2_T_Li0EEERKNS0_IS7_EE(ptr noundef nonnull align 1 dereferenceable(1), ptr noundef nonnull align 1 dereferenceable(1)) #0 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2INS_7ProductINS0_IfLi3ELi3ELi0ELi3ELi3EEES1_Li0EEEEERKNS_9EigenBaseIT_EE(ptr noundef nonnull align 4 dereferenceable(12), ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #0 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZNK5Eigen10MatrixBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEEEplINS_7ProductINS_9TransposeIKNS1_IfLi3ELi3ELi0ELi3ELi3EEEEENS_13CwiseBinaryOpINS_8internal13scalar_sum_opIffEEKS2_KNSA_INSB_17scalar_product_opIffEESE_KNS_14CwiseNullaryOpINSB_18scalar_constant_opIfEESE_EEEEEELi0EEEEEKNSA_INSC_IfNSB_6traitsIT_E6ScalarEEESE_KSR_EERKNS0_ISR_EE(ptr dead_on_unwind noalias writable sret(%"class.Eigen::CwiseBinaryOp.196") align 8, ptr noundef nonnull align 1 dereferenceable(1), ptr noundef nonnull align 1 dereferenceable(1)) #0 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZNK5Eigen10MatrixBaseINS_9TransposeIKNS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEEEEmlINS_13CwiseBinaryOpINS_8internal13scalar_sum_opIffEEKNS2_IfLi3ELi1ELi0ELi3ELi1EEEKNS8_INS9_17scalar_product_opIffEESD_KNS_14CwiseNullaryOpINS9_18scalar_constant_opIfEESD_EEEEEEEEKNS_7ProductIS5_T_Li0EEERKNS0_ISP_EE(ptr dead_on_unwind noalias writable sret(%"class.Eigen::Product.202") align 8, ptr noundef nonnull align 1 dereferenceable(1), ptr noundef nonnull align 1 dereferenceable(1)) #0 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZNK5Eigen10MatrixBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEEEplINS_13CwiseBinaryOpINS_8internal17scalar_product_opIffEEKS2_KNS_14CwiseNullaryOpINS6_18scalar_constant_opIfEES9_EEEEEEKNS5_INS6_13scalar_sum_opIfNS6_6traitsIT_E6ScalarEEES9_KSI_EERKNS0_ISI_EE(ptr dead_on_unwind noalias writable sret(%"class.Eigen::CwiseBinaryOp.209") align 8, ptr noundef nonnull align 1 dereferenceable(1), ptr noundef nonnull align 1 dereferenceable(1)) #0 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZNK5Eigen10MatrixBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEEEmlIfEEKNS_13CwiseBinaryOpINS_8internal17scalar_product_opIfNS6_18promote_scalar_argIfT_Xsr5Eigen8internal14has_ReturnTypeINS_20ScalarBinaryOpTraitsIfS9_NS7_IfS9_EEEEEE5valueEE4typeEEEKS2_KNS6_19plain_constant_typeIS2_SE_E4typeEEERKS9_(ptr dead_on_unwind noalias writable sret(%"class.Eigen::CwiseBinaryOp.215") align 8, ptr noundef nonnull align 1 dereferenceable(1), ptr noundef nonnull align 4 dereferenceable(4)) #0 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2INS_13CwiseBinaryOpINS_8internal13scalar_sum_opIffEEKS1_KNS_7ProductINS_9TransposeIKNS0_IfLi3ELi3ELi0ELi3ELi3EEEEENS3_IS6_S7_KNS3_INS4_17scalar_product_opIffEES7_KNS_14CwiseNullaryOpINS4_18scalar_constant_opIfEES7_EEEEEELi0EEEEEEERKNS_9EigenBaseIT_EE(ptr noundef nonnull align 4 dereferenceable(12), ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #0 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5Eigen9DenseBaseINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEElsERKf(ptr dead_on_unwind noalias writable sret(%"struct.Eigen::CommaInitializer") align 8, ptr noundef nonnull align 1 dereferenceable(1), ptr noundef nonnull align 4 dereferenceable(4)) #0 align 2

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5EigenmlIdEEKNS_13CwiseBinaryOpINS_8internal17scalar_product_opINS2_18promote_scalar_argIfT_Xsr5Eigen8internal14has_ReturnTypeINS_20ScalarBinaryOpTraitsIS5_fNS3_IS5_fEEEEEE5valueEE4typeEfEEKNS2_19plain_constant_typeINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEESA_E4typeEKSE_EERKS5_RKNS_10MatrixBaseISE_EE(ptr dead_on_unwind noalias writable sret(%"class.Eigen::CwiseBinaryOp.224") align 8, ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(1)) #0

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 4 dereferenceable(36) ptr @_ZN5Eigen6MatrixIfLi3ELi3ELi0ELi3ELi3EEaSINS_13CwiseBinaryOpINS_8internal17scalar_product_opIffEEKNS_14CwiseNullaryOpINS4_18scalar_constant_opIfEEKS1_EESA_EEEERS1_RKNS_9DenseBaseIT_EE(ptr noundef nonnull align 4 dereferenceable(36), ptr noundef nonnull align 1 dereferenceable(1)) #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN19ConvexMPCLocomotion17updateMPCIfNeededEPiR23StateEstimatorContainerIfEb(ptr noundef nonnull align 16 dereferenceable(7184), ptr noundef, ptr noundef nonnull align 16 dereferenceable(96), i1 noundef zeroext) #3 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5Eigen6MatrixIfLi4ELi1ELi0ELi4ELi1EEC2ERKfS3_S3_S3_(ptr noundef nonnull align 16 dereferenceable(16), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4)) unnamed_addr #0 align 2

declare void @_ZN19FootSwingTrajectoryIfE28computeSwingTrajectoryBezierEff(ptr noundef nonnull align 4 dereferenceable(64), float noundef, float noundef) #8

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN19FootSwingTrajectoryIfE11getPositionEv(ptr dead_on_unwind noalias writable sret(%"class.Eigen::Matrix") align 4, ptr noundef nonnull align 4 dereferenceable(64)) #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN19FootSwingTrajectoryIfE11getVelocityEv(ptr dead_on_unwind noalias writable sret(%"class.Eigen::Matrix") align 4, ptr noundef nonnull align 4 dereferenceable(64)) #3 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZNK5Eigen10MatrixBaseINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEEmlINS_13CwiseBinaryOpINS_8internal20scalar_difference_opIffEEKNS1_IfLi3ELi1ELi0ELi3ELi1EEESA_EEEEKNS_7ProductIS2_T_Li0EEERKNS0_ISD_EE(ptr dead_on_unwind noalias writable sret(%"class.Eigen::Product.242") align 8, ptr noundef nonnull align 1 dereferenceable(1), ptr noundef nonnull align 1 dereferenceable(1)) #0 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZNK5Eigen10MatrixBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEEEmiIS2_EEKNS_13CwiseBinaryOpINS_8internal20scalar_difference_opIfNS6_6traitsIT_E6ScalarEEEKS2_KS9_EERKNS0_IS9_EE(ptr dead_on_unwind noalias writable sret(%"class.Eigen::CwiseBinaryOp.249") align 8, ptr noundef nonnull align 1 dereferenceable(1), ptr noundef nonnull align 1 dereferenceable(1)) #0 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZNK5Eigen10MatrixBaseINS_7ProductINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEENS_13CwiseBinaryOpINS_8internal20scalar_difference_opIffEEKNS2_IfLi3ELi1ELi0ELi3ELi1EEES9_EELi0EEEEmiIS8_EEKNS4_INS6_IfNS5_6traitsIT_E6ScalarEEEKSB_KSF_EERKNS0_ISF_EE(ptr dead_on_unwind noalias writable sret(%"class.Eigen::CwiseBinaryOp.236") align 8, ptr noundef nonnull align 1 dereferenceable(1), ptr noundef nonnull align 1 dereferenceable(1)) #0 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2INS_13CwiseBinaryOpINS_8internal20scalar_difference_opIffEEKNS_7ProductINS0_IfLi3ELi3ELi0ELi3ELi3EEENS3_IS6_KS1_S9_EELi0EEES9_EEEERKNS_9EigenBaseIT_EE(ptr noundef nonnull align 4 dereferenceable(12), ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #0 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2INS_7ProductINS0_IfLi3ELi3ELi0ELi3ELi3EEENS_13CwiseBinaryOpINS_8internal20scalar_difference_opIffEEKS1_S9_EELi0EEEEERKNS_9EigenBaseIT_EE(ptr noundef nonnull align 4 dereferenceable(12), ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #0 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 4 dereferenceable(12) ptr @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEaSERKS1_(ptr noundef nonnull align 4 dereferenceable(12), ptr noundef nonnull align 4 dereferenceable(12)) #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN19FootSwingTrajectoryIfE15getAccelerationEv(ptr dead_on_unwind noalias writable sret(%"class.Eigen::Matrix") align 4, ptr noundef nonnull align 4 dereferenceable(64)) #3 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef nonnull align 4 dereferenceable(12) ptr @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEaSEOS1_(ptr noundef nonnull align 4 dereferenceable(12), ptr noundef nonnull align 4 dereferenceable(12)) #5 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 4 dereferenceable(36) ptr @_ZN5Eigen6MatrixIfLi3ELi3ELi0ELi3ELi3EEaSERKS1_(ptr noundef nonnull align 4 dereferenceable(36), ptr noundef nonnull align 4 dereferenceable(36)) #0 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5EigenmlIiEEKNS_13CwiseBinaryOpINS_8internal17scalar_product_opINS2_18promote_scalar_argIfT_Xsr5Eigen8internal14has_ReturnTypeINS_20ScalarBinaryOpTraitsIS5_fNS3_IS5_fEEEEEE5valueEE4typeEfEEKNS2_19plain_constant_typeINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEESA_E4typeEKSE_EERKS5_RKNS_10MatrixBaseISE_EE(ptr dead_on_unwind noalias writable sret(%"class.Eigen::CwiseBinaryOp.224") align 8, ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 1 dereferenceable(1)) #0

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5Eigen10MatrixBaseINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEE8IdentityEv(ptr dead_on_unwind noalias writable sret(%"class.Eigen::CwiseNullaryOp.264") align 1) #0 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZNK5Eigen10MatrixBaseINS_14CwiseNullaryOpINS_8internal18scalar_identity_opIfEENS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEEEEmlIdEEKNS_13CwiseBinaryOpINS2_17scalar_product_opIfNS2_18promote_scalar_argIfT_Xsr5Eigen8internal14has_ReturnTypeINS_20ScalarBinaryOpTraitsIfSD_NSB_IfSD_EEEEEE5valueEE4typeEEEKS7_KNS2_19plain_constant_typeIS7_SI_E4typeEEERKSD_(ptr dead_on_unwind noalias writable sret(%"class.Eigen::CwiseBinaryOp.257") align 4, ptr noundef nonnull align 1 dereferenceable(1), ptr noundef nonnull align 8 dereferenceable(8)) #0 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 4 dereferenceable(36) ptr @_ZN5Eigen6MatrixIfLi3ELi3ELi0ELi3ELi3EEaSINS_13CwiseBinaryOpINS_8internal17scalar_product_opIffEEKNS_14CwiseNullaryOpINS4_18scalar_identity_opIfEES1_EEKNS7_INS4_18scalar_constant_opIfEEKS1_EEEEEERS1_RKNS_9DenseBaseIT_EE(ptr noundef nonnull align 4 dereferenceable(36), ptr noundef nonnull align 1 dereferenceable(1)) #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN23StateEstimatorContainerIfE15setContactPhaseERN5Eigen6MatrixIfLi4ELi1ELi0ELi4ELi1EEE(ptr noundef nonnull align 16 dereferenceable(96), ptr noundef nonnull align 16 dereferenceable(16)) #3 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef nonnull align 16 dereferenceable(16) ptr @_ZN5Eigen6MatrixIfLi4ELi1ELi0ELi4ELi1EEaSEOS1_(ptr noundef nonnull align 16 dereferenceable(16), ptr noundef nonnull align 16 dereferenceable(16)) #5 align 2

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

attributes #0 = { inlinehint mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #2 = { mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #5 = { inlinehint mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #7 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #8 = { "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 #9 = { 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 = !{!"int", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"bool", !7, i64 0}
!13 = !{!14, !10, i64 2296}
!14 = !{!"_ZTS19ConvexMPCLocomotion", !12, i64 0, !15, i64 4, !15, i64 16, !15, i64 28, !15, i64 40, !15, i64 52, !7, i64 64, !7, i64 112, !7, i64 160, !7, i64 208, !19, i64 256, !23, i64 272, !23, i64 276, !23, i64 280, !23, i64 284, !23, i64 288, !23, i64 292, !23, i64 296, !23, i64 300, !23, i64 304, !23, i64 308, !10, i64 312, !10, i64 316, !10, i64 320, !23, i64 324, !23, i64 328, !10, i64 332, !7, i64 336, !19, i64 384, !7, i64 400, !24, i64 656, !24, i64 784, !24, i64 912, !24, i64 1040, !24, i64 1168, !24, i64 1296, !24, i64 1424, !24, i64 1552, !24, i64 1680, !24, i64 1808, !24, i64 1936, !35, i64 2064, !35, i64 2100, !35, i64 2136, !35, i64 2172, !35, i64 2208, !12, i64 2244, !7, i64 2245, !7, i64 2252, !7, i64 2268, !10, i64 2292, !10, i64 2296, !15, i64 2300, !15, i64 2312, !15, i64 2324, !23, i64 2336, !7, i64 2340, !39, i64 2400, !7, i64 3280, !23, i64 6160, !40, i64 6164, !41, i64 6184, !45, i64 6208}
!15 = !{!"_ZTSN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEE", !16, i64 0}
!16 = !{!"_ZTSN5Eigen15PlainObjectBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEEEE", !17, i64 0}
!17 = !{!"_ZTSN5Eigen12DenseStorageIfLi3ELi3ELi1ELi0EEE", !18, i64 0}
!18 = !{!"_ZTSN5Eigen8internal11plain_arrayIfLi3ELi0ELi0EEE", !7, i64 0}
!19 = !{!"_ZTSN5Eigen6MatrixIfLi4ELi1ELi0ELi4ELi1EEE", !20, i64 0}
!20 = !{!"_ZTSN5Eigen15PlainObjectBaseINS_6MatrixIfLi4ELi1ELi0ELi4ELi1EEEEE", !21, i64 0}
!21 = !{!"_ZTSN5Eigen12DenseStorageIfLi4ELi4ELi1ELi0EEE", !22, i64 0}
!22 = !{!"_ZTSN5Eigen8internal11plain_arrayIfLi4ELi0ELi16EEE", !7, i64 0}
!23 = !{!"float", !7, i64 0}
!24 = !{!"_ZTS18OffsetDurationGait", !25, i64 0, !6, i64 40, !29, i64 48, !29, i64 64, !33, i64 80, !33, i64 96, !10, i64 112, !10, i64 116, !23, i64 120}
!25 = !{!"_ZTS4Gait", !26, i64 8}
!26 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !27, i64 0, !28, i64 8, !7, i64 16}
!27 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !6, i64 0}
!28 = !{!"long", !7, i64 0}
!29 = !{!"_ZTSN5Eigen5ArrayIiLi4ELi1ELi0ELi4ELi1EEE", !30, i64 0}
!30 = !{!"_ZTSN5Eigen15PlainObjectBaseINS_5ArrayIiLi4ELi1ELi0ELi4ELi1EEEEE", !31, i64 0}
!31 = !{!"_ZTSN5Eigen12DenseStorageIiLi4ELi4ELi1ELi0EEE", !32, i64 0}
!32 = !{!"_ZTSN5Eigen8internal11plain_arrayIiLi4ELi0ELi16EEE", !7, i64 0}
!33 = !{!"_ZTSN5Eigen5ArrayIfLi4ELi1ELi0ELi4ELi1EEE", !34, i64 0}
!34 = !{!"_ZTSN5Eigen15PlainObjectBaseINS_5ArrayIfLi4ELi1ELi0ELi4ELi1EEEEE", !21, i64 0}
!35 = !{!"_ZTSN5Eigen6MatrixIfLi3ELi3ELi0ELi3ELi3EEE", !36, i64 0}
!36 = !{!"_ZTSN5Eigen15PlainObjectBaseINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEEE", !37, i64 0}
!37 = !{!"_ZTSN5Eigen12DenseStorageIfLi9ELi3ELi3ELi0EEE", !38, i64 0}
!38 = !{!"_ZTSN5Eigen8internal11plain_arrayIfLi9ELi0ELi0EEE", !7, i64 0}
!39 = !{!"_ZTS11CMPC_ResultIfE", !7, i64 0, !19, i64 864}
!40 = !{!"_ZTS9CMPC_Jump", !12, i64 0, !12, i64 1, !12, i64 2, !10, i64 4, !10, i64 8, !10, i64 12}
!41 = !{!"_ZTSSt6vectorIN5Eigen6MatrixIdLi12ELi1ELi0ELi12ELi1EEENS0_17aligned_allocatorIS2_EEE", !42, i64 0}
!42 = !{!"_ZTSSt12_Vector_baseIN5Eigen6MatrixIdLi12ELi1ELi0ELi12ELi1EEENS0_17aligned_allocatorIS2_EEE", !43, i64 0}
!43 = !{!"_ZTSNSt12_Vector_baseIN5Eigen6MatrixIdLi12ELi1ELi0ELi12ELi1EEENS0_17aligned_allocatorIS2_EEE12_Vector_implE", !44, i64 0}
!44 = !{!"_ZTSNSt12_Vector_baseIN5Eigen6MatrixIdLi12ELi1ELi0ELi12ELi1EEENS0_17aligned_allocatorIS2_EEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!45 = !{!"_ZTS10SparseCMPC", !46, i64 0, !50, i64 80, !54, i64 176, !54, i64 184, !54, i64 192, !54, i64 200, !55, i64 208, !55, i64 232, !55, i64 256, !55, i64 280, !59, i64 304, !50, i64 336, !50, i64 432, !50, i64 528, !63, i64 624, !41, i64 648, !67, i64 672, !71, i64 696, !75, i64 720, !79, i64 744, !83, i64 768, !83, i64 792, !87, i64 816, !87, i64 840, !67, i64 864, !67, i64 888, !67, i64 912, !91, i64 936, !10, i64 952, !10, i64 956, !10, i64 960}
!46 = !{!"_ZTSN5Eigen6MatrixIdLi3ELi3ELi0ELi3ELi3EEE", !47, i64 0}
!47 = !{!"_ZTSN5Eigen15PlainObjectBaseINS_6MatrixIdLi3ELi3ELi0ELi3ELi3EEEEE", !48, i64 0}
!48 = !{!"_ZTSN5Eigen12DenseStorageIdLi9ELi3ELi3ELi0EEE", !49, i64 0}
!49 = !{!"_ZTSN5Eigen8internal11plain_arrayIdLi9ELi0ELi0EEE", !7, i64 0}
!50 = !{!"_ZTSN5Eigen6MatrixIdLi12ELi1ELi0ELi12ELi1EEE", !51, i64 0}
!51 = !{!"_ZTSN5Eigen15PlainObjectBaseINS_6MatrixIdLi12ELi1ELi0ELi12ELi1EEEEE", !52, i64 0}
!52 = !{!"_ZTSN5Eigen12DenseStorageIdLi12ELi12ELi1ELi0EEE", !53, i64 0}
!53 = !{!"_ZTSN5Eigen8internal11plain_arrayIdLi12ELi0ELi16EEE", !7, i64 0}
!54 = !{!"double", !7, i64 0}
!55 = !{!"_ZTSN5Eigen6MatrixIdLi3ELi1ELi0ELi3ELi1EEE", !56, i64 0}
!56 = !{!"_ZTSN5Eigen15PlainObjectBaseINS_6MatrixIdLi3ELi1ELi0ELi3ELi1EEEEE", !57, i64 0}
!57 = !{!"_ZTSN5Eigen12DenseStorageIdLi3ELi3ELi1ELi0EEE", !58, i64 0}
!58 = !{!"_ZTSN5Eigen8internal11plain_arrayIdLi3ELi0ELi0EEE", !7, i64 0}
!59 = !{!"_ZTSN5Eigen6MatrixIdLi4ELi1ELi0ELi4ELi1EEE", !60, i64 0}
!60 = !{!"_ZTSN5Eigen15PlainObjectBaseINS_6MatrixIdLi4ELi1ELi0ELi4ELi1EEEEE", !61, i64 0}
!61 = !{!"_ZTSN5Eigen12DenseStorageIdLi4ELi4ELi1ELi0EEE", !62, i64 0}
!62 = !{!"_ZTSN5Eigen8internal11plain_arrayIdLi4ELi0ELi16EEE", !7, i64 0}
!63 = !{!"_ZTSSt6vectorI12ContactStateSaIS0_EE", !64, i64 0}
!64 = !{!"_ZTSSt12_Vector_baseI12ContactStateSaIS0_EE", !65, i64 0}
!65 = !{!"_ZTSNSt12_Vector_baseI12ContactStateSaIS0_EE12_Vector_implE", !66, i64 0}
!66 = !{!"_ZTSNSt12_Vector_baseI12ContactStateSaIS0_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!67 = !{!"_ZTSSt6vectorIdSaIdEE", !68, i64 0}
!68 = !{!"_ZTSSt12_Vector_baseIdSaIdEE", !69, i64 0}
!69 = !{!"_ZTSNSt12_Vector_baseIdSaIdEE12_Vector_implE", !70, i64 0}
!70 = !{!"_ZTSNSt12_Vector_baseIdSaIdEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!71 = !{!"_ZTSSt6vectorIN5Eigen6MatrixIdLi12ELi12ELi0ELi12ELi12EEENS0_17aligned_allocatorIS2_EEE", !72, i64 0}
!72 = !{!"_ZTSSt12_Vector_baseIN5Eigen6MatrixIdLi12ELi12ELi0ELi12ELi12EEENS0_17aligned_allocatorIS2_EEE", !73, i64 0}
!73 = !{!"_ZTSNSt12_Vector_baseIN5Eigen6MatrixIdLi12ELi12ELi0ELi12ELi12EEENS0_17aligned_allocatorIS2_EEE12_Vector_implE", !74, i64 0}
!74 = !{!"_ZTSNSt12_Vector_baseIN5Eigen6MatrixIdLi12ELi12ELi0ELi12ELi12EEENS0_17aligned_allocatorIS2_EEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!75 = !{!"_ZTSSt6vectorI8BblockIDSaIS0_EE", !76, i64 0}
!76 = !{!"_ZTSSt12_Vector_baseI8BblockIDSaIS0_EE", !77, i64 0}
!77 = !{!"_ZTSNSt12_Vector_baseI8BblockIDSaIS0_EE12_Vector_implE", !78, i64 0}
!78 = !{!"_ZTSNSt12_Vector_baseI8BblockIDSaIS0_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!79 = !{!"_ZTSSt6vectorIN5Eigen6MatrixIdLi12ELi3ELi0ELi12ELi3EEENS0_17aligned_allocatorIS2_EEE", !80, i64 0}
!80 = !{!"_ZTSSt12_Vector_baseIN5Eigen6MatrixIdLi12ELi3ELi0ELi12ELi3EEENS0_17aligned_allocatorIS2_EEE", !81, i64 0}
!81 = !{!"_ZTSNSt12_Vector_baseIN5Eigen6MatrixIdLi12ELi3ELi0ELi12ELi3EEENS0_17aligned_allocatorIS2_EEE12_Vector_implE", !82, i64 0}
!82 = !{!"_ZTSNSt12_Vector_baseIN5Eigen6MatrixIdLi12ELi3ELi0ELi12ELi3EEENS0_17aligned_allocatorIS2_EEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!83 = !{!"_ZTSSt6vectorIjSaIjEE", !84, i64 0}
!84 = !{!"_ZTSSt12_Vector_baseIjSaIjEE", !85, i64 0}
!85 = !{!"_ZTSNSt12_Vector_baseIjSaIjEE12_Vector_implE", !86, i64 0}
!86 = !{!"_ZTSNSt12_Vector_baseIjSaIjEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!87 = !{!"_ZTSSt6vectorI12SparseTripleIdESaIS1_EE", !88, i64 0}
!88 = !{!"_ZTSSt12_Vector_baseI12SparseTripleIdESaIS1_EE", !89, i64 0}
!89 = !{!"_ZTSNSt12_Vector_baseI12SparseTripleIdESaIS1_EE12_Vector_implE", !90, i64 0}
!90 = !{!"_ZTSNSt12_Vector_baseI12SparseTripleIdESaIS1_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!91 = !{!"_ZTSN5Eigen6MatrixIfLin1ELi1ELi0ELin1ELi1EEE", !92, i64 0}
!92 = !{!"_ZTSN5Eigen15PlainObjectBaseINS_6MatrixIfLin1ELi1ELi0ELin1ELi1EEEEE", !93, i64 0}
!93 = !{!"_ZTSN5Eigen12DenseStorageIfLin1ELin1ELi1ELi0EEE", !6, i64 0, !28, i64 8}
!94 = !{!14, !10, i64 2292}
!95 = !{!14, !12, i64 2244}
!96 = !{i8 0, i8 2}
!97 = !{}
!98 = !{!23, !23, i64 0}
!99 = !{!14, !23, i64 292}
!100 = !{!14, !23, i64 296}
!101 = !{!54, !54, i64 0}
!102 = !{!103, !103, i64 0}
!103 = !{!"vtable pointer", !8, i64 0}
!104 = !{!14, !23, i64 272}
!105 = !{!14, !10, i64 332}
!106 = !{!14, !10, i64 316}
!107 = !{!14, !10, i64 312}
!108 = !{!14, !23, i64 324}
!109 = !{!14, !23, i64 288}
!110 = !{!14, !23, i64 284}
!111 = distinct !{!111, !112}
!112 = !{!"llvm.loop.mustprogress"}
!113 = distinct !{!113, !112}
!114 = !{!14, !23, i64 328}
!115 = distinct !{!115, !112}
!116 = distinct !{!116, !112}
!117 = distinct !{!117, !112}
!118 = !{!14, !23, i64 300}
!119 = !{!14, !23, i64 276}


; Optimized IR (opt -passes='default<O3>'):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

%"class.std::basic_ostream" = type { ptr, %"class.std::basic_ios" }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%"class.std::locale" = type { ptr }
%"class.std::vector.87" = type { %"struct.std::_Vector_base.88" }
%"struct.std::_Vector_base.88" = type { %"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl" }
%"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl" = type { %"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl_data" }
%"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.Eigen::Matrix.128" = type { %"class.Eigen::PlainObjectBase.129" }
%"class.Eigen::PlainObjectBase.129" = type { %"class.Eigen::DenseStorage.19" }
%"class.Eigen::DenseStorage.19" = type { %"struct.Eigen::internal::plain_array.20" }
%"struct.Eigen::internal::plain_array.20" = type { [4 x i32] }
%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::allocator" = type { i8 }
%"class.Eigen::Matrix" = type { %"class.Eigen::PlainObjectBase" }
%"class.Eigen::PlainObjectBase" = type { %"class.Eigen::DenseStorage" }
%"class.Eigen::DenseStorage" = type { %"struct.Eigen::internal::plain_array" }
%"struct.Eigen::internal::plain_array" = type { [3 x float] }
%"class.Eigen::Product" = type { %"class.Eigen::Transpose", ptr }
%"class.Eigen::Transpose" = type { ptr }
%"class.Eigen::CwiseBinaryOp" = type <{ ptr, %"class.Eigen::Product.154", [8 x i8] }>
%"class.Eigen::Product.154" = type { %"class.Eigen::Transpose", %"class.Eigen::CwiseBinaryOp.161" }
%"class.Eigen::CwiseBinaryOp.161" = type <{ ptr, ptr, [8 x i8] }>
%"class.Eigen::CwiseBinaryOp.178" = type <{ [4 x i8], %"class.Eigen::CwiseNullaryOp", [4 x i8], ptr, [8 x i8] }>
%"class.Eigen::CwiseNullaryOp" = type { [4 x i8], %"struct.Eigen::internal::scalar_constant_op" }
%"struct.Eigen::internal::scalar_constant_op" = type { float }
%"class.Eigen::Product.189" = type { ptr, ptr }
%"class.Eigen::Matrix.29" = type { %"class.Eigen::PlainObjectBase.30" }
%"class.Eigen::PlainObjectBase.30" = type { %"class.Eigen::DenseStorage.37" }
%"class.Eigen::DenseStorage.37" = type { %"struct.Eigen::internal::plain_array.38" }
%"struct.Eigen::internal::plain_array.38" = type { [9 x float] }
%"class.Eigen::CwiseBinaryOp.196" = type <{ ptr, %"class.Eigen::Product.202", [8 x i8] }>
%"class.Eigen::Product.202" = type { %"class.Eigen::Transpose", %"class.Eigen::CwiseBinaryOp.209" }
%"class.Eigen::CwiseBinaryOp.209" = type <{ ptr, %"class.Eigen::CwiseBinaryOp.215", [8 x i8] }>
%"class.Eigen::CwiseBinaryOp.215" = type <{ ptr, %"class.Eigen::CwiseNullaryOp", [8 x i8] }>
%"struct.Eigen::CommaInitializer" = type { ptr, i64, i64, i64 }
%"class.Eigen::CwiseBinaryOp.224" = type <{ [4 x i8], %"class.Eigen::CwiseNullaryOp.230", [4 x i8], ptr, [8 x i8] }>
%"class.Eigen::CwiseNullaryOp.230" = type { [4 x i8], %"struct.Eigen::internal::scalar_constant_op" }
%"class.Eigen::Matrix.3" = type { %"class.Eigen::PlainObjectBase.4" }
%"class.Eigen::PlainObjectBase.4" = type { %"class.Eigen::DenseStorage.11" }
%"class.Eigen::DenseStorage.11" = type { %"struct.Eigen::internal::plain_array.12" }
%"struct.Eigen::internal::plain_array.12" = type { [4 x float] }
%"class.Eigen::CwiseBinaryOp.236" = type <{ %"class.Eigen::Product.242", ptr, [8 x i8] }>
%"class.Eigen::Product.242" = type { ptr, %"class.Eigen::CwiseBinaryOp.249" }
%"class.Eigen::CwiseBinaryOp.249" = type <{ ptr, ptr, [8 x i8] }>
%"class.Eigen::CwiseBinaryOp.257" = type <{ [4 x i8], %"class.Eigen::CwiseNullaryOp.230", [4 x i8] }>
%"class.Eigen::CwiseNullaryOp.264" = type { [3 x i8] }
%class.FootSwingTrajectory = type { %"class.Eigen::Matrix", %"class.Eigen::Matrix", %"class.Eigen::Matrix", %"class.Eigen::Matrix", %"class.Eigen::Matrix", float }
%struct.LegControllerCommand = type { %"class.Eigen::Matrix", %"class.Eigen::Matrix", %"class.Eigen::Matrix", %"class.Eigen::Matrix", %"class.Eigen::Matrix", %"class.Eigen::Matrix", %"class.Eigen::Matrix.29", %"class.Eigen::Matrix.29", %"class.Eigen::Matrix.29", %"class.Eigen::Matrix.29" }

@.str.8 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [17 x i8], align 1
@_ZSt4cout = external global %"class.std::basic_ostream", align 8
@.str.17 = external hidden unnamed_addr constant [18 x i8], align 1
@__const._ZN19ConvexMPCLocomotion3runIfEEvR9QuadrupedIT_ER13LegControllerIS2_ER23StateEstimatorContainerIfER19DesiredStateCommandIS2_ESt6vectorIdSaIdEEii.side_sign = external hidden unnamed_addr constant [4 x float], align 16
@__const._ZN19ConvexMPCLocomotion3runIfEEvR9QuadrupedIT_ER13LegControllerIS2_ER23StateEstimatorContainerIfER19DesiredStateCommandIS2_ESt6vectorIdSaIdEEii.interleave_y = external hidden unnamed_addr constant [4 x float], align 16

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2Ev(ptr noundef nonnull align 4 dereferenceable(12)) unnamed_addr #0 align 2

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEC2ERKiS3_S3_S3_(ptr noundef nonnull align 16 dereferenceable(16), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4)) unnamed_addr #0 align 2

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

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

declare i32 @__gxx_personality_v0(...)

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1), i64 noundef) local_unnamed_addr #0 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 4 dereferenceable(12) ptr @_ZN5Eigen9DenseBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEEE7setZeroEv(ptr noundef nonnull align 1 dereferenceable(1)) local_unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN19ConvexMPCLocomotion13_SetupCommandER23StateEstimatorContainerIfESt6vectorIdSaIdEE(ptr noundef nonnull align 16 dereferenceable(7184), ptr noundef nonnull align 16 dereferenceable(96), ptr noundef) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare float @llvm.fmuladd.f32(float, float, float) #4

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 16 dereferenceable(172) ptr @_ZN23StateEstimatorContainerIfE9getResultEv(ptr noundef nonnull align 16 dereferenceable(96)) local_unnamed_addr #2 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 4 dereferenceable(4) ptr @_ZNK5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi0EEixEl(ptr noundef nonnull align 1 dereferenceable(1), i64 noundef) local_unnamed_addr #0 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef float @_ZSt3absf(float noundef) local_unnamed_addr #5

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN19ConvexMPCLocomotion3runIfEEvR9QuadrupedIT_ER13LegControllerIS2_ER23StateEstimatorContainerIfER19DesiredStateCommandIS2_ESt6vectorIdSaIdEEii(ptr noundef nonnull align 16 dereferenceable(7184) %0, ptr noundef nonnull align 16 dereferenceable(1160) %1, ptr noundef nonnull align 8 dereferenceable(1408) %2, ptr noundef nonnull align 16 dereferenceable(96) %3, ptr nocapture noundef nonnull readnone align 1 %4, ptr noundef nonnull %5, i32 noundef %6, i32 noundef %7) local_unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 {
  %9 = alloca %"class.std::vector.87", align 8
  %10 = alloca i32, align 4
  %11 = alloca %"class.Eigen::Matrix.128", align 16
  %12 = alloca i32, align 4
  %13 = alloca i32, align 4
  %14 = alloca i32, align 4
  %15 = alloca i32, align 4
  %16 = alloca %"class.Eigen::Matrix.128", align 16
  %17 = alloca %"class.std::__cxx11::basic_string", align 8
  %18 = alloca %"class.std::allocator", align 1
  %19 = alloca %"class.Eigen::Matrix.128", align 16
  %20 = alloca i32, align 4
  %21 = alloca i32, align 4
  %22 = alloca i32, align 4
  %23 = alloca i32, align 4
  %24 = alloca %"class.Eigen::Matrix.128", align 16
  %25 = alloca i32, align 4
  %26 = alloca i32, align 4
  %27 = alloca i32, align 4
  %28 = alloca i32, align 4
  %29 = alloca %"class.std::__cxx11::basic_string", align 8
  %30 = alloca %"class.std::allocator", align 1
  %31 = alloca %"class.Eigen::Matrix.128", align 16
  %32 = alloca i32, align 4
  %33 = alloca i32, align 4
  %34 = alloca i32, align 4
  %35 = alloca i32, align 4
  %36 = alloca %"class.Eigen::Matrix.128", align 16
  %37 = alloca i32, align 4
  %38 = alloca i32, align 4
  %39 = alloca i32, align 4
  %40 = alloca i32, align 4
  %41 = alloca %"class.std::__cxx11::basic_string", align 8
  %42 = alloca %"class.std::allocator", align 1
  %43 = alloca %"class.Eigen::Matrix.128", align 16
  %44 = alloca i32, align 4
  %45 = alloca i32, align 4
  %46 = alloca i32, align 4
  %47 = alloca i32, align 4
  %48 = alloca %"class.Eigen::Matrix.128", align 16
  %49 = alloca i32, align 4
  %50 = alloca i32, align 4
  %51 = alloca i32, align 4
  %52 = alloca i32, align 4
  %53 = alloca %"class.std::__cxx11::basic_string", align 8
  %54 = alloca %"class.std::allocator", align 1
  %55 = alloca %"class.Eigen::Matrix.128", align 16
  %56 = alloca i32, align 4
  %57 = alloca i32, align 4
  %58 = alloca i32, align 4
  %59 = alloca i32, align 4
  %60 = alloca %"class.Eigen::Matrix.128", align 16
  %61 = alloca i32, align 4
  %62 = alloca i32, align 4
  %63 = alloca i32, align 4
  %64 = alloca i32, align 4
  %65 = alloca %"class.std::__cxx11::basic_string", align 8
  %66 = alloca %"class.std::allocator", align 1
  %67 = alloca %"class.Eigen::Matrix.128", align 16
  %68 = alloca i32, align 4
  %69 = alloca i32, align 4
  %70 = alloca i32, align 4
  %71 = alloca i32, align 4
  %72 = alloca %"class.Eigen::Matrix.128", align 16
  %73 = alloca i32, align 4
  %74 = alloca i32, align 4
  %75 = alloca i32, align 4
  %76 = alloca i32, align 4
  %77 = alloca %"class.std::__cxx11::basic_string", align 8
  %78 = alloca %"class.std::allocator", align 1
  %79 = alloca %"class.Eigen::Matrix", align 4
  %80 = alloca float, align 4
  %81 = alloca %"class.Eigen::Matrix", align 4
  %82 = alloca %"class.Eigen::Product", align 8
  %83 = alloca %"class.Eigen::Transpose", align 8
  %84 = alloca %"class.Eigen::Matrix", align 4
  %85 = alloca %"class.Eigen::CwiseBinaryOp", align 8
  %86 = alloca %"class.Eigen::Product.154", align 8
  %87 = alloca %"class.Eigen::Transpose", align 8
  %88 = alloca %"class.Eigen::CwiseBinaryOp.161", align 8
  %89 = alloca %"class.Eigen::Matrix", align 4
  %90 = alloca %"class.Eigen::Matrix", align 4
  %91 = alloca %"class.Eigen::CwiseBinaryOp.178", align 8
  %92 = alloca %"class.Eigen::Matrix", align 4
  %93 = alloca float, align 4
  %94 = alloca %"class.Eigen::Matrix", align 4
  %95 = alloca %"class.Eigen::Matrix", align 4
  %96 = alloca %"class.Eigen::Matrix", align 4
  %97 = alloca float, align 4
  %98 = alloca float, align 4
  %99 = alloca float, align 4
  %100 = alloca %"class.Eigen::Matrix", align 4
  %101 = alloca %"class.Eigen::CwiseBinaryOp.161", align 8
  %102 = alloca %"class.Eigen::Matrix", align 4
  %103 = alloca %"class.Eigen::Matrix", align 4
  %104 = alloca %"class.Eigen::Product.189", align 8
  %105 = alloca %"class.Eigen::Matrix.29", align 4
  %106 = alloca %"class.Eigen::Matrix", align 4
  %107 = alloca %"class.Eigen::Matrix", align 4
  %108 = alloca %"class.Eigen::CwiseBinaryOp.196", align 8
  %109 = alloca %"class.Eigen::Product.202", align 8
  %110 = alloca %"class.Eigen::Transpose", align 8
  %111 = alloca %"class.Eigen::CwiseBinaryOp.209", align 8
  %112 = alloca %"class.Eigen::CwiseBinaryOp.215", align 8
  %113 = alloca %"class.Eigen::Matrix", align 4
  %114 = alloca %"struct.Eigen::CommaInitializer", align 8
  %115 = alloca float, align 4
  %116 = alloca float, align 4
  %117 = alloca float, align 4
  %118 = alloca float, align 4
  %119 = alloca float, align 4
  %120 = alloca float, align 4
  %121 = alloca float, align 4
  %122 = alloca float, align 4
  %123 = alloca float, align 4
  %124 = alloca %"class.Eigen::CwiseBinaryOp.224", align 8
  %125 = alloca double, align 8
  %126 = alloca %"struct.Eigen::CommaInitializer", align 8
  %127 = alloca float, align 4
  %128 = alloca float, align 4
  %129 = alloca float, align 4
  %130 = alloca float, align 4
  %131 = alloca float, align 4
  %132 = alloca float, align 4
  %133 = alloca float, align 4
  %134 = alloca float, align 4
  %135 = alloca float, align 4
  %136 = alloca %"class.Eigen::CwiseBinaryOp.224", align 8
  %137 = alloca double, align 8
  %138 = alloca %"class.Eigen::Matrix.3", align 16
  %139 = alloca %"class.Eigen::Matrix.3", align 16
  %140 = alloca %"class.Eigen::Matrix.3", align 16
  %141 = alloca float, align 4
  %142 = alloca float, align 4
  %143 = alloca float, align 4
  %144 = alloca float, align 4
  %145 = alloca %"class.Eigen::Matrix", align 4
  %146 = alloca %"class.Eigen::Matrix", align 4
  %147 = alloca %"class.Eigen::Matrix", align 4
  %148 = alloca %"class.Eigen::Matrix", align 4
  %149 = alloca %"class.Eigen::CwiseBinaryOp.236", align 8
  %150 = alloca %"class.Eigen::Product.242", align 8
  %151 = alloca %"class.Eigen::CwiseBinaryOp.249", align 8
  %152 = alloca %"class.Eigen::Matrix", align 4
  %153 = alloca %"class.Eigen::Matrix", align 4
  %154 = alloca %"class.Eigen::Product.242", align 8
  %155 = alloca %"class.Eigen::CwiseBinaryOp.249", align 8
  %156 = alloca %"class.Eigen::Matrix", align 4
  %157 = alloca %"class.Eigen::CwiseBinaryOp.224", align 8
  %158 = alloca i32, align 4
  %159 = alloca %"class.Eigen::CwiseBinaryOp.224", align 8
  %160 = alloca i32, align 4
  %161 = alloca %"class.Eigen::Matrix", align 4
  %162 = alloca %"class.Eigen::Matrix", align 4
  %163 = alloca %"class.Eigen::Matrix", align 4
  %164 = alloca %"class.Eigen::CwiseBinaryOp.236", align 8
  %165 = alloca %"class.Eigen::Product.242", align 8
  %166 = alloca %"class.Eigen::CwiseBinaryOp.249", align 8
  %167 = alloca %"class.Eigen::Matrix", align 4
  %168 = alloca %"class.Eigen::Matrix", align 4
  %169 = alloca %"class.Eigen::Product.242", align 8
  %170 = alloca %"class.Eigen::CwiseBinaryOp.249", align 8
  %171 = alloca %"class.Eigen::CwiseBinaryOp.224", align 8
  %172 = alloca i32, align 4
  %173 = alloca %"class.Eigen::CwiseBinaryOp.257", align 4
  %174 = alloca %"class.Eigen::CwiseNullaryOp.264", align 1
  %175 = alloca double, align 8
  %176 = alloca %"class.Eigen::Matrix.3", align 16
  call void @_ZNSt6vectorIdSaIdEEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %9, ptr noundef nonnull align 8 dereferenceable(24) %5)
  invoke void @_ZN19ConvexMPCLocomotion13_SetupCommandER23StateEstimatorContainerIfESt6vectorIdSaIdEE(ptr noundef nonnull align 16 dereferenceable(7184) %0, ptr noundef nonnull align 16 dereferenceable(96) %3, ptr noundef nonnull %9)
          to label %177 unwind label %186

177:                                              ; preds = %8
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %9) #9
  %178 = getelementptr inbounds i8, ptr %0, i64 2296
  %179 = icmp sgt i32 %6, 19
  %180 = add nsw i32 %6, -20
  %spec.select = select i1 %179, i32 %180, i32 %6
  store i32 %spec.select, ptr %178, align 8, !tbaa !5
  %181 = call noundef nonnull align 16 dereferenceable(172) ptr @_ZN23StateEstimatorContainerIfE9getResultEv(ptr noundef nonnull align 16 dereferenceable(96) %3)
  %182 = load i32, ptr %178, align 8, !tbaa !5
  %183 = icmp ne i32 %182, 4
  %184 = getelementptr inbounds i8, ptr %0, i64 2292
  %185 = load i32, ptr %184, align 4
  %.not = icmp eq i32 %185, 4
  %or.cond279 = select i1 %183, i1 true, i1 %.not
  br i1 %or.cond279, label %188, label %192

186:                                              ; preds = %8
  %187 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %9) #9
  br label %890

188:                                              ; preds = %177
  %189 = getelementptr inbounds i8, ptr %0, i64 2244
  %190 = load i8, ptr %189, align 4, !tbaa !91, !range !92, !noundef !93
  %191 = trunc nuw i8 %190 to i1
  br i1 %191, label %192, label %211

192:                                              ; preds = %177, %188
  %193 = getelementptr inbounds i8, ptr %181, i64 16
  %194 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi0EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %193, i64 noundef 0)
  %195 = load float, ptr %194, align 4, !tbaa !94
  %196 = getelementptr inbounds i8, ptr %0, i64 2268
  store float %195, ptr %196, align 4, !tbaa !94
  %197 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi0EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %193, i64 noundef 1)
  %198 = load float, ptr %197, align 4, !tbaa !94
  %199 = getelementptr inbounds i8, ptr %0, i64 2272
  store float %198, ptr %199, align 16, !tbaa !94
  %200 = getelementptr inbounds i8, ptr %0, i64 2276
  store <2 x float> <float 0x3FCAE147A0000000, float 0.000000e+00>, ptr %200, align 4, !tbaa !94
  %201 = getelementptr inbounds i8, ptr %0, i64 2284
  store float 0.000000e+00, ptr %201, align 4, !tbaa !94
  %202 = getelementptr inbounds i8, ptr %181, i64 112
  %203 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi0EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %202, i64 noundef 2)
  %204 = load float, ptr %203, align 4, !tbaa !94
  %205 = getelementptr inbounds i8, ptr %0, i64 2288
  store float %204, ptr %205, align 16, !tbaa !94
  %206 = load float, ptr %196, align 4, !tbaa !94
  %207 = getelementptr inbounds i8, ptr %0, i64 2300
  %208 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %207, i64 noundef 0)
  store float %206, ptr %208, align 4, !tbaa !94
  %209 = load float, ptr %199, align 16, !tbaa !94
  %210 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %207, i64 noundef 1)
  store float %209, ptr %210, align 4, !tbaa !94
  br label %211

211:                                              ; preds = %192, %188
  switch i32 %7, label %402 [
    i32 0, label %212
    i32 1, label %222
  ]

212:                                              ; preds = %211
  %213 = load i32, ptr %178, align 8, !tbaa !5
  switch i32 %213, label %.fold.split [
    i32 1, label %405
    i32 2, label %214
    i32 4, label %215
    i32 5, label %216
    i32 7, label %217
    i32 8, label %218
    i32 9, label %219
    i32 10, label %220
    i32 11, label %221
  ]

214:                                              ; preds = %212
  br label %405

215:                                              ; preds = %212
  br label %405

216:                                              ; preds = %212
  br label %405

217:                                              ; preds = %212
  br label %405

218:                                              ; preds = %212
  br label %405

219:                                              ; preds = %212
  br label %405

220:                                              ; preds = %212
  br label %405

221:                                              ; preds = %212
  br label %405

222:                                              ; preds = %211
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %10) #9
  store i32 10, ptr %10, align 4, !tbaa !95
  %223 = getelementptr inbounds i8, ptr %0, i64 292
  %224 = load float, ptr %223, align 4, !tbaa !96
  %225 = fmul float %224, %224
  %226 = fpext float %225 to double
  %sqrt = call double @llvm.sqrt.f64(double %226)
  %227 = getelementptr inbounds i8, ptr %0, i64 296
  %228 = load float, ptr %227, align 8, !tbaa !97
  %229 = fmul float %228, %228
  %230 = fpext float %229 to double
  %231 = fadd double %sqrt, %230
  %.ptr250 = getelementptr inbounds i8, ptr %0, i64 1936
  store i32 9, ptr %178, align 8, !tbaa !5
  %232 = load ptr, ptr %.ptr250, align 16, !tbaa !98
  %233 = getelementptr inbounds i8, ptr %232, i64 72
  %234 = load ptr, ptr %233, align 8
  %235 = call noundef float %234(ptr noundef nonnull align 8 dereferenceable(40) %.ptr250)
  %236 = fcmp oeq float %235, 0.000000e+00
  br i1 %236, label %237, label %398

237:                                              ; preds = %222
  %238 = fcmp olt double %231, 2.000000e-03
  br i1 %238, label %239, label %286

239:                                              ; preds = %237
  %240 = getelementptr inbounds i8, ptr %0, i64 272
  %241 = load float, ptr %240, align 16, !tbaa !100
  %242 = call noundef float @_ZSt3absf(float noundef %241)
  %243 = fpext float %242 to double
  %244 = fcmp olt double %243, 1.000000e-02
  br i1 %244, label %245, label %264

245:                                              ; preds = %239
  store i32 4, ptr %178, align 8, !tbaa !5
  %246 = load ptr, ptr %.ptr250, align 16, !tbaa !98
  %247 = getelementptr inbounds i8, ptr %246, i64 80
  %248 = load ptr, ptr %247, align 8
  %249 = call noundef i32 %248(ptr noundef nonnull align 8 dereferenceable(40) %.ptr250)
  %250 = load i32, ptr %10, align 4, !tbaa !95
  %.not245 = icmp eq i32 %249, %250
  br i1 %.not245, label %253, label %251

251:                                              ; preds = %245
  %252 = getelementptr inbounds i8, ptr %0, i64 332
  store i32 0, ptr %252, align 4, !tbaa !101
  br label %253

253:                                              ; preds = %251, %245
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %12) #9
  store i32 0, ptr %12, align 4, !tbaa !95
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %13) #9
  store i32 0, ptr %13, align 4, !tbaa !95
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %14) #9
  store i32 0, ptr %14, align 4, !tbaa !95
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %15) #9
  store i32 0, ptr %15, align 4, !tbaa !95
  call void @_ZN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEC2ERKiS3_S3_S3_(ptr noundef nonnull align 16 dereferenceable(16) %11, ptr noundef nonnull align 4 dereferenceable(4) %12, ptr noundef nonnull align 4 dereferenceable(4) %13, ptr noundef nonnull align 4 dereferenceable(4) %14, ptr noundef nonnull align 4 dereferenceable(4) %15)
  call void @_ZN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEC2ERKiS3_S3_S3_(ptr noundef nonnull align 16 dereferenceable(16) %16, ptr noundef nonnull align 4 dereferenceable(4) %10, ptr noundef nonnull align 4 dereferenceable(4) %10, ptr noundef nonnull align 4 dereferenceable(4) %10, ptr noundef nonnull align 4 dereferenceable(4) %10)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %17) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %18) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull @.str.8, ptr noundef nonnull align 1 dereferenceable(1) %18)
          to label %254 unwind label %259

254:                                              ; preds = %253
  %255 = load ptr, ptr %.ptr250, align 16, !tbaa !98
  %256 = getelementptr inbounds i8, ptr %255, i64 16
  %257 = load ptr, ptr %256, align 8
  invoke void %257(ptr noundef nonnull align 8 dereferenceable(40) %.ptr250, i32 noundef %250, ptr noundef nonnull %11, ptr noundef nonnull %16, ptr noundef nonnull align 8 dereferenceable(32) %17)
          to label %258 unwind label %261

258:                                              ; preds = %254
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %18) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %15) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %14) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %13) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %12) #9
  br label %398

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

261:                                              ; preds = %254
  %262 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #9
  br label %263

263:                                              ; preds = %261, %259
  %.pn246 = phi { ptr, i32 } [ %262, %261 ], [ %260, %259 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %18) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %15) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %14) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %13) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %12) #9
  br label %401

264:                                              ; preds = %239
  store i32 10, ptr %10, align 4, !tbaa !95
  %265 = load ptr, ptr %.ptr250, align 16, !tbaa !98
  %266 = getelementptr inbounds i8, ptr %265, i64 80
  %267 = load ptr, ptr %266, align 8
  %268 = call noundef i32 %267(ptr noundef nonnull align 8 dereferenceable(40) %.ptr250)
  %269 = load i32, ptr %10, align 4, !tbaa !95
  %.not242 = icmp eq i32 %268, %269
  br i1 %.not242, label %272, label %270

270:                                              ; preds = %264
  %271 = getelementptr inbounds i8, ptr %0, i64 332
  store i32 0, ptr %271, align 4, !tbaa !101
  br label %272

272:                                              ; preds = %270, %264
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %20) #9
  store i32 0, ptr %20, align 4, !tbaa !95
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %21) #9
  %273 = sdiv i32 %269, 2
  store i32 %273, ptr %21, align 4, !tbaa !95
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %22) #9
  store i32 %273, ptr %22, align 4, !tbaa !95
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %23) #9
  store i32 0, ptr %23, align 4, !tbaa !95
  call void @_ZN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEC2ERKiS3_S3_S3_(ptr noundef nonnull align 16 dereferenceable(16) %19, ptr noundef nonnull align 4 dereferenceable(4) %20, ptr noundef nonnull align 4 dereferenceable(4) %21, ptr noundef nonnull align 4 dereferenceable(4) %22, ptr noundef nonnull align 4 dereferenceable(4) %23)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %25) #9
  %274 = load i32, ptr %10, align 4, !tbaa !95
  %275 = sdiv i32 %274, 2
  store i32 %275, ptr %25, align 4, !tbaa !95
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %26) #9
  store i32 %275, ptr %26, align 4, !tbaa !95
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %27) #9
  store i32 %275, ptr %27, align 4, !tbaa !95
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %28) #9
  store i32 %275, ptr %28, align 4, !tbaa !95
  call void @_ZN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEC2ERKiS3_S3_S3_(ptr noundef nonnull align 16 dereferenceable(16) %24, ptr noundef nonnull align 4 dereferenceable(4) %25, ptr noundef nonnull align 4 dereferenceable(4) %26, ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull align 4 dereferenceable(4) %28)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %29) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %30) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %30) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %29, ptr noundef nonnull @.str.15, ptr noundef nonnull align 1 dereferenceable(1) %30)
          to label %276 unwind label %281

276:                                              ; preds = %272
  %277 = load ptr, ptr %.ptr250, align 16, !tbaa !98
  %278 = getelementptr inbounds i8, ptr %277, i64 16
  %279 = load ptr, ptr %278, align 8
  invoke void %279(ptr noundef nonnull align 8 dereferenceable(40) %.ptr250, i32 noundef %269, ptr noundef nonnull %19, ptr noundef nonnull %24, ptr noundef nonnull align 8 dereferenceable(32) %29)
          to label %280 unwind label %283

280:                                              ; preds = %276
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %30) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %30) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %29) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %28) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %27) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %26) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %25) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %23) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %22) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %21) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %20) #9
  br label %398

281:                                              ; preds = %272
  %282 = landingpad { ptr, i32 }
          cleanup
  br label %285

283:                                              ; preds = %276
  %284 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #9
  br label %285

285:                                              ; preds = %283, %281
  %.pn243 = phi { ptr, i32 } [ %284, %283 ], [ %282, %281 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %30) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %30) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %29) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %28) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %27) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %26) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %25) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %23) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %22) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %21) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %20) #9
  br label %401

286:                                              ; preds = %237
  %287 = fcmp ugt double %231, 2.000000e-01
  br i1 %287, label %314, label %288

288:                                              ; preds = %286
  store i32 16, ptr %10, align 4, !tbaa !95
  %289 = load ptr, ptr %.ptr250, align 16, !tbaa !98
  %290 = getelementptr inbounds i8, ptr %289, i64 80
  %291 = load ptr, ptr %290, align 8
  %292 = call noundef i32 %291(ptr noundef nonnull align 8 dereferenceable(40) %.ptr250)
  %293 = load i32, ptr %10, align 4, !tbaa !95
  %.not239 = icmp eq i32 %292, %293
  br i1 %.not239, label %296, label %294

294:                                              ; preds = %288
  %295 = getelementptr inbounds i8, ptr %0, i64 332
  store i32 0, ptr %295, align 4, !tbaa !101
  br label %296

296:                                              ; preds = %294, %288
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %32) #9
  store i32 0, ptr %32, align 4, !tbaa !95
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %33) #9
  %297 = sdiv i32 %293, 2
  store i32 %297, ptr %33, align 4, !tbaa !95
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %34) #9
  %298 = sdiv i32 %293, 4
  store i32 %298, ptr %34, align 4, !tbaa !95
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %35) #9
  %299 = mul nsw i32 %293, 3
  %300 = sdiv i32 %299, 4
  store i32 %300, ptr %35, align 4, !tbaa !95
  call void @_ZN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEC2ERKiS3_S3_S3_(ptr noundef nonnull align 16 dereferenceable(16) %31, ptr noundef nonnull align 4 dereferenceable(4) %32, ptr noundef nonnull align 4 dereferenceable(4) %33, ptr noundef nonnull align 4 dereferenceable(4) %34, ptr noundef nonnull align 4 dereferenceable(4) %35)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %37) #9
  %301 = load i32, ptr %10, align 4, !tbaa !95
  %302 = mul nsw i32 %301, 3
  %303 = sdiv i32 %302, 4
  store i32 %303, ptr %37, align 4, !tbaa !95
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %38) #9
  store i32 %303, ptr %38, align 4, !tbaa !95
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %39) #9
  store i32 %303, ptr %39, align 4, !tbaa !95
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %40) #9
  store i32 %303, ptr %40, align 4, !tbaa !95
  call void @_ZN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEC2ERKiS3_S3_S3_(ptr noundef nonnull align 16 dereferenceable(16) %36, ptr noundef nonnull align 4 dereferenceable(4) %37, ptr noundef nonnull align 4 dereferenceable(4) %38, ptr noundef nonnull align 4 dereferenceable(4) %39, ptr noundef nonnull align 4 dereferenceable(4) %40)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %41) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %42) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %42) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %41, ptr noundef nonnull @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %42)
          to label %304 unwind label %309

304:                                              ; preds = %296
  %305 = load ptr, ptr %.ptr250, align 16, !tbaa !98
  %306 = getelementptr inbounds i8, ptr %305, i64 16
  %307 = load ptr, ptr %306, align 8
  invoke void %307(ptr noundef nonnull align 8 dereferenceable(40) %.ptr250, i32 noundef %293, ptr noundef nonnull %31, ptr noundef nonnull %36, ptr noundef nonnull align 8 dereferenceable(32) %41)
          to label %308 unwind label %311

308:                                              ; preds = %304
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %42) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %42) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %41) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %40) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %39) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %38) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %37) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %35) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %34) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %33) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %32) #9
  br label %398

309:                                              ; preds = %296
  %310 = landingpad { ptr, i32 }
          cleanup
  br label %313

311:                                              ; preds = %304
  %312 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #9
  br label %313

313:                                              ; preds = %311, %309
  %.pn240 = phi { ptr, i32 } [ %312, %311 ], [ %310, %309 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %42) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %42) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %41) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %40) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %39) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %38) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %37) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %35) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %34) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %33) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %32) #9
  br label %401

314:                                              ; preds = %286
  %315 = fcmp ogt double %231, 2.000000e-01
  %316 = fcmp ole double %231, 4.000000e-01
  %or.cond = and i1 %315, %316
  br i1 %or.cond, label %317, label %349

317:                                              ; preds = %314
  store i32 16, ptr %10, align 4, !tbaa !95
  %318 = load ptr, ptr %.ptr250, align 16, !tbaa !98
  %319 = getelementptr inbounds i8, ptr %318, i64 80
  %320 = load ptr, ptr %319, align 8
  %321 = call noundef i32 %320(ptr noundef nonnull align 8 dereferenceable(40) %.ptr250)
  %322 = load i32, ptr %10, align 4, !tbaa !95
  %.not236 = icmp eq i32 %321, %322
  br i1 %.not236, label %325, label %323

323:                                              ; preds = %317
  %324 = getelementptr inbounds i8, ptr %0, i64 332
  store i32 0, ptr %324, align 4, !tbaa !101
  br label %325

325:                                              ; preds = %323, %317
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %44) #9
  store i32 0, ptr %44, align 4, !tbaa !95
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %45) #9
  %326 = sdiv i32 %322, 2
  store i32 %326, ptr %45, align 4, !tbaa !95
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %46) #9
  %327 = sitofp i32 %322 to double
  %328 = fmul double %231, 1.250000e+00
  %329 = fmul double %328, %327
  %330 = fptosi double %329 to i32
  store i32 %330, ptr %46, align 4, !tbaa !95
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %47) #9
  %331 = call double @llvm.fmuladd.f64(double %231, double 1.250000e+00, double 5.000000e-01)
  %332 = fmul double %331, %327
  %333 = fptosi double %332 to i32
  store i32 %333, ptr %47, align 4, !tbaa !95
  call void @_ZN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEC2ERKiS3_S3_S3_(ptr noundef nonnull align 16 dereferenceable(16) %43, ptr noundef nonnull align 4 dereferenceable(4) %44, ptr noundef nonnull align 4 dereferenceable(4) %45, ptr noundef nonnull align 4 dereferenceable(4) %46, ptr noundef nonnull align 4 dereferenceable(4) %47)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %49) #9
  %334 = load i32, ptr %10, align 4, !tbaa !95
  %335 = sitofp i32 %334 to double
  %336 = call double @llvm.fmuladd.f64(double %231, double -1.250000e+00, double 1.000000e+00)
  %337 = fmul double %336, %335
  %338 = fptosi double %337 to i32
  store i32 %338, ptr %49, align 4, !tbaa !95
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %50) #9
  store i32 %338, ptr %50, align 4, !tbaa !95
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %51) #9
  store i32 %338, ptr %51, align 4, !tbaa !95
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %52) #9
  store i32 %338, ptr %52, align 4, !tbaa !95
  call void @_ZN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEC2ERKiS3_S3_S3_(ptr noundef nonnull align 16 dereferenceable(16) %48, ptr noundef nonnull align 4 dereferenceable(4) %49, ptr noundef nonnull align 4 dereferenceable(4) %50, ptr noundef nonnull align 4 dereferenceable(4) %51, ptr noundef nonnull align 4 dereferenceable(4) %52)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %53) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %54) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %54) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %53, ptr noundef nonnull @.str.16, ptr noundef nonnull align 1 dereferenceable(1) %54)
          to label %339 unwind label %344

339:                                              ; preds = %325
  %340 = load ptr, ptr %.ptr250, align 16, !tbaa !98
  %341 = getelementptr inbounds i8, ptr %340, i64 16
  %342 = load ptr, ptr %341, align 8
  invoke void %342(ptr noundef nonnull align 8 dereferenceable(40) %.ptr250, i32 noundef %322, ptr noundef nonnull %43, ptr noundef nonnull %48, ptr noundef nonnull align 8 dereferenceable(32) %53)
          to label %343 unwind label %346

343:                                              ; preds = %339
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %54) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %54) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %53) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %52) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %51) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %50) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %49) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %47) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %46) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %45) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %44) #9
  br label %398

344:                                              ; preds = %325
  %345 = landingpad { ptr, i32 }
          cleanup
  br label %348

346:                                              ; preds = %339
  %347 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #9
  br label %348

348:                                              ; preds = %346, %344
  %.pn237 = phi { ptr, i32 } [ %347, %346 ], [ %345, %344 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %54) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %54) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %53) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %52) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %51) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %50) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %49) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %47) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %46) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %45) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %44) #9
  br label %401

349:                                              ; preds = %314
  %350 = fcmp ogt double %231, 4.000000e-01
  %351 = fcmp ole double %231, 1.400000e+00
  %or.cond3 = and i1 %350, %351
  br i1 %or.cond3, label %352, label %374

352:                                              ; preds = %349
  store i32 14, ptr %10, align 4, !tbaa !95
  %353 = load ptr, ptr %.ptr250, align 16, !tbaa !98
  %354 = getelementptr inbounds i8, ptr %353, i64 80
  %355 = load ptr, ptr %354, align 8
  %356 = call noundef i32 %355(ptr noundef nonnull align 8 dereferenceable(40) %.ptr250)
  %357 = load i32, ptr %10, align 4, !tbaa !95
  %.not233 = icmp eq i32 %356, %357
  br i1 %.not233, label %360, label %358

358:                                              ; preds = %352
  %359 = getelementptr inbounds i8, ptr %0, i64 332
  store i32 0, ptr %359, align 4, !tbaa !101
  br label %360

360:                                              ; preds = %358, %352
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %56) #9
  store i32 0, ptr %56, align 4, !tbaa !95
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %57) #9
  %361 = sdiv i32 %357, 2
  store i32 %361, ptr %57, align 4, !tbaa !95
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %58) #9
  store i32 %361, ptr %58, align 4, !tbaa !95
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %59) #9
  store i32 0, ptr %59, align 4, !tbaa !95
  call void @_ZN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEC2ERKiS3_S3_S3_(ptr noundef nonnull align 16 dereferenceable(16) %55, ptr noundef nonnull align 4 dereferenceable(4) %56, ptr noundef nonnull align 4 dereferenceable(4) %57, ptr noundef nonnull align 4 dereferenceable(4) %58, ptr noundef nonnull align 4 dereferenceable(4) %59)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %61) #9
  %362 = load i32, ptr %10, align 4, !tbaa !95
  %363 = sdiv i32 %362, 2
  store i32 %363, ptr %61, align 4, !tbaa !95
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %62) #9
  store i32 %363, ptr %62, align 4, !tbaa !95
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %63) #9
  store i32 %363, ptr %63, align 4, !tbaa !95
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %64) #9
  store i32 %363, ptr %64, align 4, !tbaa !95
  call void @_ZN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEC2ERKiS3_S3_S3_(ptr noundef nonnull align 16 dereferenceable(16) %60, ptr noundef nonnull align 4 dereferenceable(4) %61, ptr noundef nonnull align 4 dereferenceable(4) %62, ptr noundef nonnull align 4 dereferenceable(4) %63, ptr noundef nonnull align 4 dereferenceable(4) %64)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %65) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %66) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %66) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %65, ptr noundef nonnull @.str.15, ptr noundef nonnull align 1 dereferenceable(1) %66)
          to label %364 unwind label %369

364:                                              ; preds = %360
  %365 = load ptr, ptr %.ptr250, align 16, !tbaa !98
  %366 = getelementptr inbounds i8, ptr %365, i64 16
  %367 = load ptr, ptr %366, align 8
  invoke void %367(ptr noundef nonnull align 8 dereferenceable(40) %.ptr250, i32 noundef %357, ptr noundef nonnull %55, ptr noundef nonnull %60, ptr noundef nonnull align 8 dereferenceable(32) %65)
          to label %368 unwind label %371

368:                                              ; preds = %364
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %65) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %66) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %66) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %65) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %64) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %63) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %62) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %61) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %59) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %58) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %57) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %56) #9
  br label %398

369:                                              ; preds = %360
  %370 = landingpad { ptr, i32 }
          cleanup
  br label %373

371:                                              ; preds = %364
  %372 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %65) #9
  br label %373

373:                                              ; preds = %371, %369
  %.pn234 = phi { ptr, i32 } [ %372, %371 ], [ %370, %369 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %66) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %66) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %65) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %64) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %63) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %62) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %61) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %59) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %58) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %57) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %56) #9
  br label %401

374:                                              ; preds = %349
  %375 = call double @llvm.fmuladd.f64(double %231, double -2.000000e+01, double 4.200000e+01)
  %376 = fptosi double %375 to i32
  %spec.store.select = call i32 @llvm.smax.i32(i32 %376, i32 10)
  store i32 %spec.store.select, ptr %10, align 4
  %377 = load ptr, ptr %.ptr250, align 16, !tbaa !98
  %378 = getelementptr inbounds i8, ptr %377, i64 80
  %379 = load ptr, ptr %378, align 8
  %380 = call noundef i32 %379(ptr noundef nonnull align 8 dereferenceable(40) %.ptr250)
  %381 = load i32, ptr %10, align 4, !tbaa !95
  %.not231 = icmp eq i32 %380, %381
  br i1 %.not231, label %384, label %382

382:                                              ; preds = %374
  %383 = getelementptr inbounds i8, ptr %0, i64 332
  store i32 0, ptr %383, align 4, !tbaa !101
  br label %384

384:                                              ; preds = %382, %374
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %68) #9
  store i32 0, ptr %68, align 4, !tbaa !95
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %69) #9
  %385 = sdiv i32 %381, 2
  store i32 %385, ptr %69, align 4, !tbaa !95
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %70) #9
  store i32 %385, ptr %70, align 4, !tbaa !95
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %71) #9
  store i32 0, ptr %71, align 4, !tbaa !95
  call void @_ZN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEC2ERKiS3_S3_S3_(ptr noundef nonnull align 16 dereferenceable(16) %67, ptr noundef nonnull align 4 dereferenceable(4) %68, ptr noundef nonnull align 4 dereferenceable(4) %69, ptr noundef nonnull align 4 dereferenceable(4) %70, ptr noundef nonnull align 4 dereferenceable(4) %71)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %73) #9
  %386 = load i32, ptr %10, align 4, !tbaa !95
  %387 = sdiv i32 %386, 2
  store i32 %387, ptr %73, align 4, !tbaa !95
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %74) #9
  store i32 %387, ptr %74, align 4, !tbaa !95
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %75) #9
  store i32 %387, ptr %75, align 4, !tbaa !95
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %76) #9
  store i32 %387, ptr %76, align 4, !tbaa !95
  call void @_ZN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEC2ERKiS3_S3_S3_(ptr noundef nonnull align 16 dereferenceable(16) %72, ptr noundef nonnull align 4 dereferenceable(4) %73, ptr noundef nonnull align 4 dereferenceable(4) %74, ptr noundef nonnull align 4 dereferenceable(4) %75, ptr noundef nonnull align 4 dereferenceable(4) %76)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %77) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %78) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %78) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %77, ptr noundef nonnull @.str.15, ptr noundef nonnull align 1 dereferenceable(1) %78)
          to label %388 unwind label %393

388:                                              ; preds = %384
  %389 = load ptr, ptr %.ptr250, align 16, !tbaa !98
  %390 = getelementptr inbounds i8, ptr %389, i64 16
  %391 = load ptr, ptr %390, align 8
  invoke void %391(ptr noundef nonnull align 8 dereferenceable(40) %.ptr250, i32 noundef %381, ptr noundef nonnull %67, ptr noundef nonnull %72, ptr noundef nonnull align 8 dereferenceable(32) %77)
          to label %392 unwind label %395

392:                                              ; preds = %388
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %78) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %78) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %77) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %76) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %75) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %74) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %73) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %71) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %70) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %69) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %68) #9
  br label %398

393:                                              ; preds = %384
  %394 = landingpad { ptr, i32 }
          cleanup
  br label %397

395:                                              ; preds = %388
  %396 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #9
  br label %397

397:                                              ; preds = %395, %393
  %.pn = phi { ptr, i32 } [ %396, %395 ], [ %394, %393 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %78) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %78) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %77) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %76) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %75) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %74) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %73) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %71) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %70) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %69) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %68) #9
  br label %401

398:                                              ; preds = %280, %258, %343, %392, %368, %308, %222
  %399 = load i32, ptr %10, align 4, !tbaa !95
  %400 = getelementptr inbounds i8, ptr %0, i64 316
  store i32 %399, ptr %400, align 4, !tbaa !102
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %10) #9
  br label %405

401:                                              ; preds = %397, %373, %348, %313, %285, %263
  %.pn246.pn = phi { ptr, i32 } [ %.pn246, %263 ], [ %.pn243, %285 ], [ %.pn240, %313 ], [ %.pn237, %348 ], [ %.pn234, %373 ], [ %.pn, %397 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %10) #9
  br label %890

402:                                              ; preds = %211
  %403 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.17)
  %404 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %403, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  br label %405

.fold.split:                                      ; preds = %212
  br label %405

405:                                              ; preds = %212, %.fold.split, %398, %402, %215, %217, %219, %221, %220, %218, %216, %214
  %.not249 = phi i1 [ false, %214 ], [ true, %215 ], [ false, %216 ], [ false, %217 ], [ false, %218 ], [ false, %219 ], [ false, %220 ], [ false, %221 ], [ false, %398 ], [ false, %402 ], [ false, %212 ], [ false, %.fold.split ]
  %.0221.idx = phi i64 [ 912, %214 ], [ 1296, %215 ], [ 1424, %216 ], [ 1168, %217 ], [ 1808, %218 ], [ 656, %219 ], [ 1552, %220 ], [ 1680, %221 ], [ 1936, %398 ], [ 656, %402 ], [ 784, %212 ], [ 656, %.fold.split ]
  %.0221.ptr = getelementptr inbounds i8, ptr %0, i64 %.0221.idx
  %406 = load i32, ptr %178, align 8, !tbaa !5
  store i32 %406, ptr %184, align 4, !tbaa !103
  %407 = getelementptr inbounds i8, ptr %0, i64 312
  %408 = load i32, ptr %407, align 8, !tbaa !104
  %409 = getelementptr inbounds i8, ptr %0, i64 332
  %410 = load i32, ptr %409, align 4, !tbaa !101
  %411 = load ptr, ptr %.0221.ptr, align 16, !tbaa !98
  %412 = getelementptr inbounds i8, ptr %411, i64 48
  %413 = load ptr, ptr %412, align 8
  call void %413(ptr noundef nonnull align 8 dereferenceable(40) %.0221.ptr, i32 noundef %408, i32 noundef %410)
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %79) #9
  %414 = getelementptr inbounds i8, ptr %0, i64 292
  %415 = getelementptr inbounds i8, ptr %0, i64 296
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %80) #9
  store float 0.000000e+00, ptr %80, align 4, !tbaa !94
  call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2ERKfS3_S3_(ptr noundef nonnull align 4 dereferenceable(12) %79, ptr noundef nonnull align 4 dereferenceable(4) %414, ptr noundef nonnull align 4 dereferenceable(4) %415, ptr noundef nonnull align 4 dereferenceable(4) %80)
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %80) #9
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %81) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %82) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %83) #9
  br i1 %179, label %416, label %417

416:                                              ; preds = %405
  call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2ERKS1_(ptr noundef nonnull align 4 dereferenceable(12) %81, ptr noundef nonnull align 4 dereferenceable(12) %79)
  br label %424

417:                                              ; preds = %405
  %418 = getelementptr inbounds i8, ptr %181, i64 76
  %419 = call ptr @_ZNK5Eigen9DenseBaseINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEE9transposeEv(ptr noundef nonnull align 1 dereferenceable(1) %418)
  store ptr %419, ptr %83, align 8
  %420 = call { ptr, ptr } @_ZNK5Eigen10MatrixBaseINS_9TransposeIKNS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEEEEmlINS2_IfLi3ELi1ELi0ELi3ELi1EEEEEKNS_7ProductIS5_T_Li0EEERKNS0_ISA_EE(ptr noundef nonnull align 1 dereferenceable(1) %83, ptr noundef nonnull align 1 dereferenceable(1) %79)
  %421 = extractvalue { ptr, ptr } %420, 0
  store ptr %421, ptr %82, align 8
  %422 = getelementptr inbounds i8, ptr %82, i64 8
  %423 = extractvalue { ptr, ptr } %420, 1
  store ptr %423, ptr %422, align 8
  call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2INS_7ProductINS_9TransposeIKNS0_IfLi3ELi3ELi0ELi3ELi3EEEEES1_Li0EEEEERKNS_9EigenBaseIT_EE(ptr noundef nonnull align 4 dereferenceable(12) %81, ptr noundef nonnull align 1 dereferenceable(1) %82)
  br label %424

424:                                              ; preds = %417, %416
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %83) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %82) #9
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %84) #9
  %425 = getelementptr inbounds i8, ptr %181, i64 136
  call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2ERKS1_(ptr noundef nonnull align 4 dereferenceable(12) %84, ptr noundef nonnull align 4 dereferenceable(12) %425)
  %426 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %84, i64 noundef 0)
  %427 = load float, ptr %426, align 4, !tbaa !94
  %428 = call float @llvm.fabs.f32(float %427)
  %429 = fpext float %428 to double
  %430 = fcmp ogt double %429, 2.000000e-01
  br i1 %430, label %431, label %448

431:                                              ; preds = %424
  %432 = getelementptr inbounds i8, ptr %0, i64 324
  %433 = load float, ptr %432, align 4, !tbaa !105
  %434 = getelementptr inbounds i8, ptr %0, i64 288
  %435 = load float, ptr %434, align 16, !tbaa !106
  %436 = getelementptr inbounds i8, ptr %181, i64 112
  %437 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi0EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %436, i64 noundef 1)
  %438 = load float, ptr %437, align 4, !tbaa !94
  %439 = fsub float %435, %438
  %440 = fmul float %433, %439
  %441 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %84, i64 noundef 0)
  %442 = load float, ptr %441, align 4, !tbaa !94
  %443 = fdiv float %440, %442
  %444 = getelementptr inbounds i8, ptr %0, i64 2312
  %445 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %444, i64 noundef 1)
  %446 = load float, ptr %445, align 4, !tbaa !94
  %447 = fadd float %443, %446
  store float %447, ptr %445, align 4, !tbaa !94
  br label %448

448:                                              ; preds = %431, %424
  %449 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %84, i64 noundef 1)
  %450 = load float, ptr %449, align 4, !tbaa !94
  %451 = call float @llvm.fabs.f32(float %450)
  %452 = fpext float %451 to double
  %453 = fcmp ogt double %452, 1.000000e-01
  br i1 %453, label %454, label %471

454:                                              ; preds = %448
  %455 = getelementptr inbounds i8, ptr %0, i64 324
  %456 = load float, ptr %455, align 4, !tbaa !105
  %457 = getelementptr inbounds i8, ptr %0, i64 284
  %458 = load float, ptr %457, align 4, !tbaa !107
  %459 = getelementptr inbounds i8, ptr %181, i64 112
  %460 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi0EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %459, i64 noundef 0)
  %461 = load float, ptr %460, align 4, !tbaa !94
  %462 = fsub float %458, %461
  %463 = fmul float %456, %462
  %464 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %84, i64 noundef 1)
  %465 = load float, ptr %464, align 4, !tbaa !94
  %466 = fdiv float %463, %465
  %467 = getelementptr inbounds i8, ptr %0, i64 2312
  %468 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %467, i64 noundef 0)
  %469 = load float, ptr %468, align 4, !tbaa !94
  %470 = fadd float %466, %469
  store float %470, ptr %468, align 4, !tbaa !94
  br label %471

471:                                              ; preds = %454, %448
  %472 = getelementptr inbounds i8, ptr %0, i64 2312
  %473 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %472, i64 noundef 0)
  %474 = load float, ptr %473, align 4, !tbaa !94
  %475 = call float @llvm.maxnum.f32(float %474, float -2.500000e-01)
  %476 = call float @llvm.minnum.f32(float %475, float 2.500000e-01)
  %477 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %472, i64 noundef 0)
  store float %476, ptr %477, align 4, !tbaa !94
  %478 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %472, i64 noundef 1)
  %479 = load float, ptr %478, align 4, !tbaa !94
  %480 = call float @llvm.maxnum.f32(float %479, float -2.500000e-01)
  %481 = call float @llvm.minnum.f32(float %480, float 2.500000e-01)
  %482 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %472, i64 noundef 1)
  store float %481, ptr %482, align 4, !tbaa !94
  %483 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %84, i64 noundef 0)
  %484 = load float, ptr %483, align 4, !tbaa !94
  %485 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %472, i64 noundef 1)
  %486 = load float, ptr %485, align 4, !tbaa !94
  %487 = fmul float %484, %486
  %488 = getelementptr inbounds i8, ptr %0, i64 2324
  %489 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %488, i64 noundef 1)
  store float %487, ptr %489, align 4, !tbaa !94
  %490 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %84, i64 noundef 1)
  %491 = load float, ptr %490, align 4, !tbaa !94
  %492 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %472, i64 noundef 0)
  %493 = load float, ptr %492, align 4, !tbaa !94
  %494 = fmul float %491, %493
  %495 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %488, i64 noundef 0)
  store float %494, ptr %495, align 4, !tbaa !94
  %496 = getelementptr inbounds i8, ptr %181, i64 16
  %497 = getelementptr inbounds i8, ptr %181, i64 76
  %498 = getelementptr inbounds i8, ptr %0, i64 2340
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %85) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %86) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %87) #9
  %499 = call ptr @_ZNK5Eigen9DenseBaseINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEE9transposeEv(ptr noundef nonnull align 1 dereferenceable(1) %497)
  store ptr %499, ptr %87, align 8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %88) #9
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %89) #9
  call void @_ZN9QuadrupedIfE14getHipLocationEi(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::Matrix") align 4 %89, ptr noundef nonnull align 16 dereferenceable(1160) %1, i32 noundef 0)
  %500 = getelementptr inbounds i8, ptr %2, i64 888
  call void @_ZNK5Eigen10MatrixBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEEEplIS2_EEKNS_13CwiseBinaryOpINS_8internal13scalar_sum_opIfNS6_6traitsIT_E6ScalarEEEKS2_KS9_EERKNS0_IS9_EE(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::CwiseBinaryOp.161") align 8 %88, ptr noundef nonnull align 1 dereferenceable(1) %89, ptr noundef nonnull align 1 dereferenceable(1) %500)
  call void @_ZNK5Eigen10MatrixBaseINS_9TransposeIKNS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEEEEmlINS_13CwiseBinaryOpINS_8internal13scalar_sum_opIffEEKNS2_IfLi3ELi1ELi0ELi3ELi1EEESD_EEEEKNS_7ProductIS5_T_Li0EEERKNS0_ISG_EE(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::Product.154") align 8 %86, ptr noundef nonnull align 1 dereferenceable(1) %87, ptr noundef nonnull align 1 dereferenceable(1) %88)
  call void @_ZNK5Eigen10MatrixBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEEEplINS_7ProductINS_9TransposeIKNS1_IfLi3ELi3ELi0ELi3ELi3EEEEENS_13CwiseBinaryOpINS_8internal13scalar_sum_opIffEEKS2_SE_EELi0EEEEEKNSA_INSC_IfNSB_6traitsIT_E6ScalarEEESE_KSI_EERKNS0_ISI_EE(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::CwiseBinaryOp") align 8 %85, ptr noundef nonnull align 1 dereferenceable(1) %496, ptr noundef nonnull align 1 dereferenceable(1) %86)
  %501 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEaSINS_13CwiseBinaryOpINS_8internal13scalar_sum_opIffEEKS1_KNS_7ProductINS_9TransposeIKNS0_IfLi3ELi3ELi0ELi3ELi3EEEEENS3_IS6_S7_S7_EELi0EEEEEEERS1_RKNS_9DenseBaseIT_EE(ptr noundef nonnull align 4 dereferenceable(12) %498, ptr noundef nonnull align 1 dereferenceable(1) %85)
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %89) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %88) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %87) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %86) #9
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %85) #9
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %85) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %86) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %87) #9
  %502 = call ptr @_ZNK5Eigen9DenseBaseINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEE9transposeEv(ptr noundef nonnull align 1 dereferenceable(1) %497)
  store ptr %502, ptr %87, align 8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %88) #9
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %89) #9
  call void @_ZN9QuadrupedIfE14getHipLocationEi(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::Matrix") align 4 %89, ptr noundef nonnull align 16 dereferenceable(1160) %1, i32 noundef 1)
  %503 = getelementptr inbounds i8, ptr %2, i64 992
  call void @_ZNK5Eigen10MatrixBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEEEplIS2_EEKNS_13CwiseBinaryOpINS_8internal13scalar_sum_opIfNS6_6traitsIT_E6ScalarEEEKS2_KS9_EERKNS0_IS9_EE(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::CwiseBinaryOp.161") align 8 %88, ptr noundef nonnull align 1 dereferenceable(1) %89, ptr noundef nonnull align 1 dereferenceable(1) %503)
  call void @_ZNK5Eigen10MatrixBaseINS_9TransposeIKNS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEEEEmlINS_13CwiseBinaryOpINS_8internal13scalar_sum_opIffEEKNS2_IfLi3ELi1ELi0ELi3ELi1EEESD_EEEEKNS_7ProductIS5_T_Li0EEERKNS0_ISG_EE(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::Product.154") align 8 %86, ptr noundef nonnull align 1 dereferenceable(1) %87, ptr noundef nonnull align 1 dereferenceable(1) %88)
  call void @_ZNK5Eigen10MatrixBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEEEplINS_7ProductINS_9TransposeIKNS1_IfLi3ELi3ELi0ELi3ELi3EEEEENS_13CwiseBinaryOpINS_8internal13scalar_sum_opIffEEKS2_SE_EELi0EEEEEKNSA_INSC_IfNSB_6traitsIT_E6ScalarEEESE_KSI_EERKNS0_ISI_EE(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::CwiseBinaryOp") align 8 %85, ptr noundef nonnull align 1 dereferenceable(1) %496, ptr noundef nonnull align 1 dereferenceable(1) %86)
  %504 = getelementptr inbounds i8, ptr %0, i64 2352
  %505 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEaSINS_13CwiseBinaryOpINS_8internal13scalar_sum_opIffEEKS1_KNS_7ProductINS_9TransposeIKNS0_IfLi3ELi3ELi0ELi3ELi3EEEEENS3_IS6_S7_S7_EELi0EEEEEEERS1_RKNS_9DenseBaseIT_EE(ptr noundef nonnull align 4 dereferenceable(12) %504, ptr noundef nonnull align 1 dereferenceable(1) %85)
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %89) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %88) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %87) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %86) #9
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %85) #9
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %85) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %86) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %87) #9
  %506 = call ptr @_ZNK5Eigen9DenseBaseINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEE9transposeEv(ptr noundef nonnull align 1 dereferenceable(1) %497)
  store ptr %506, ptr %87, align 8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %88) #9
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %89) #9
  call void @_ZN9QuadrupedIfE14getHipLocationEi(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::Matrix") align 4 %89, ptr noundef nonnull align 16 dereferenceable(1160) %1, i32 noundef 2)
  %507 = getelementptr inbounds i8, ptr %2, i64 1096
  call void @_ZNK5Eigen10MatrixBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEEEplIS2_EEKNS_13CwiseBinaryOpINS_8internal13scalar_sum_opIfNS6_6traitsIT_E6ScalarEEEKS2_KS9_EERKNS0_IS9_EE(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::CwiseBinaryOp.161") align 8 %88, ptr noundef nonnull align 1 dereferenceable(1) %89, ptr noundef nonnull align 1 dereferenceable(1) %507)
  call void @_ZNK5Eigen10MatrixBaseINS_9TransposeIKNS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEEEEmlINS_13CwiseBinaryOpINS_8internal13scalar_sum_opIffEEKNS2_IfLi3ELi1ELi0ELi3ELi1EEESD_EEEEKNS_7ProductIS5_T_Li0EEERKNS0_ISG_EE(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::Product.154") align 8 %86, ptr noundef nonnull align 1 dereferenceable(1) %87, ptr noundef nonnull align 1 dereferenceable(1) %88)
  call void @_ZNK5Eigen10MatrixBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEEEplINS_7ProductINS_9TransposeIKNS1_IfLi3ELi3ELi0ELi3ELi3EEEEENS_13CwiseBinaryOpINS_8internal13scalar_sum_opIffEEKS2_SE_EELi0EEEEEKNSA_INSC_IfNSB_6traitsIT_E6ScalarEEESE_KSI_EERKNS0_ISI_EE(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::CwiseBinaryOp") align 8 %85, ptr noundef nonnull align 1 dereferenceable(1) %496, ptr noundef nonnull align 1 dereferenceable(1) %86)
  %508 = getelementptr inbounds i8, ptr %0, i64 2364
  %509 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEaSINS_13CwiseBinaryOpINS_8internal13scalar_sum_opIffEEKS1_KNS_7ProductINS_9TransposeIKNS0_IfLi3ELi3ELi0ELi3ELi3EEEEENS3_IS6_S7_S7_EELi0EEEEEEERS1_RKNS_9DenseBaseIT_EE(ptr noundef nonnull align 4 dereferenceable(12) %508, ptr noundef nonnull align 1 dereferenceable(1) %85)
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %89) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %88) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %87) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %86) #9
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %85) #9
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %85) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %86) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %87) #9
  %510 = call ptr @_ZNK5Eigen9DenseBaseINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEE9transposeEv(ptr noundef nonnull align 1 dereferenceable(1) %497)
  store ptr %510, ptr %87, align 8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %88) #9
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %89) #9
  call void @_ZN9QuadrupedIfE14getHipLocationEi(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::Matrix") align 4 %89, ptr noundef nonnull align 16 dereferenceable(1160) %1, i32 noundef 3)
  %511 = getelementptr inbounds i8, ptr %2, i64 1200
  call void @_ZNK5Eigen10MatrixBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEEEplIS2_EEKNS_13CwiseBinaryOpINS_8internal13scalar_sum_opIfNS6_6traitsIT_E6ScalarEEEKS2_KS9_EERKNS0_IS9_EE(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::CwiseBinaryOp.161") align 8 %88, ptr noundef nonnull align 1 dereferenceable(1) %89, ptr noundef nonnull align 1 dereferenceable(1) %511)
  call void @_ZNK5Eigen10MatrixBaseINS_9TransposeIKNS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEEEEmlINS_13CwiseBinaryOpINS_8internal13scalar_sum_opIffEEKNS2_IfLi3ELi1ELi0ELi3ELi1EEESD_EEEEKNS_7ProductIS5_T_Li0EEERKNS0_ISG_EE(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::Product.154") align 8 %86, ptr noundef nonnull align 1 dereferenceable(1) %87, ptr noundef nonnull align 1 dereferenceable(1) %88)
  call void @_ZNK5Eigen10MatrixBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEEEplINS_7ProductINS_9TransposeIKNS1_IfLi3ELi3ELi0ELi3ELi3EEEEENS_13CwiseBinaryOpINS_8internal13scalar_sum_opIffEEKS2_SE_EELi0EEEEEKNSA_INSC_IfNSB_6traitsIT_E6ScalarEEESE_KSI_EERKNS0_ISI_EE(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::CwiseBinaryOp") align 8 %85, ptr noundef nonnull align 1 dereferenceable(1) %496, ptr noundef nonnull align 1 dereferenceable(1) %86)
  %512 = getelementptr inbounds i8, ptr %0, i64 2376
  %513 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEaSINS_13CwiseBinaryOpINS_8internal13scalar_sum_opIffEEKS1_KNS_7ProductINS_9TransposeIKNS0_IfLi3ELi3ELi0ELi3ELi3EEEEENS3_IS6_S7_S7_EELi0EEEEEEERS1_RKNS_9DenseBaseIT_EE(ptr noundef nonnull align 4 dereferenceable(12) %512, ptr noundef nonnull align 1 dereferenceable(1) %85)
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %89) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %88) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %87) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %86) #9
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %85) #9
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %90) #9
  call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2Ev(ptr noundef nonnull align 4 dereferenceable(12) %90)
  br i1 %.not249, label %520, label %514

514:                                              ; preds = %471
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %91) #9
  %515 = getelementptr inbounds i8, ptr %0, i64 324
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %92) #9
  %516 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %81, i64 noundef 0)
  %517 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %81, i64 noundef 1)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %93) #9
  store float 0.000000e+00, ptr %93, align 4, !tbaa !94
  call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2ERKfS3_S3_(ptr noundef nonnull align 4 dereferenceable(12) %92, ptr noundef nonnull align 4 dereferenceable(4) %516, ptr noundef nonnull align 4 dereferenceable(4) %517, ptr noundef nonnull align 4 dereferenceable(4) %93)
  call void @_ZN5EigenmlIfEEKNS_13CwiseBinaryOpINS_8internal17scalar_product_opINS2_18promote_scalar_argIfT_Xsr5Eigen8internal14has_ReturnTypeINS_20ScalarBinaryOpTraitsIS5_fNS3_IS5_fEEEEEE5valueEE4typeEfEEKNS2_19plain_constant_typeINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEESA_E4typeEKSE_EERKS5_RKNS_10MatrixBaseISE_EE(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::CwiseBinaryOp.178") align 8 %91, ptr noundef nonnull align 4 dereferenceable(4) %515, ptr noundef nonnull align 1 dereferenceable(1) %92)
  %518 = getelementptr inbounds i8, ptr %0, i64 2300
  %519 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZN5Eigen10MatrixBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEEEpLINS_13CwiseBinaryOpINS_8internal17scalar_product_opIffEEKNS_14CwiseNullaryOpINS6_18scalar_constant_opIfEEKS2_EESC_EEEERS2_RKNS0_IT_EE(ptr noundef nonnull align 1 dereferenceable(1) %518, ptr noundef nonnull align 1 dereferenceable(1) %91)
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %93) #9
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %92) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %91) #9
  br label %520

520:                                              ; preds = %514, %471
  %521 = getelementptr inbounds i8, ptr %0, i64 2244
  %522 = load i8, ptr %521, align 4, !tbaa !91, !range !92, !noundef !93
  %523 = trunc nuw i8 %522 to i1
  br i1 %523, label %524, label %540

524:                                              ; preds = %520
  %525 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi0EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %496, i64 noundef 0)
  %526 = load float, ptr %525, align 4, !tbaa !94
  %527 = getelementptr inbounds i8, ptr %0, i64 2300
  %528 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %527, i64 noundef 0)
  store float %526, ptr %528, align 4, !tbaa !94
  %529 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi0EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %496, i64 noundef 1)
  %530 = load float, ptr %529, align 4, !tbaa !94
  %531 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %527, i64 noundef 1)
  store float %530, ptr %531, align 4, !tbaa !94
  %532 = getelementptr inbounds i8, ptr %181, i64 112
  %533 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi0EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %532, i64 noundef 2)
  %534 = load float, ptr %533, align 4, !tbaa !94
  %535 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %527, i64 noundef 2)
  store float %534, ptr %535, align 4, !tbaa !94
  %536 = getelementptr inbounds i8, ptr %0, i64 400
  call void @_ZN19FootSwingTrajectoryIfE9setHeightEf(ptr noundef nonnull align 4 dereferenceable(64) %536, float noundef 0x3FAEB851E0000000)
  call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2ERKS1_(ptr noundef nonnull align 4 dereferenceable(12) %94, ptr noundef nonnull align 4 dereferenceable(12) %498)
  call void @_ZN19FootSwingTrajectoryIfE18setInitialPositionEN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEE(ptr noundef nonnull align 4 dereferenceable(64) %536, ptr noundef nonnull %94)
  call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2ERKS1_(ptr noundef nonnull align 4 dereferenceable(12) %95, ptr noundef nonnull align 4 dereferenceable(12) %498)
  call void @_ZN19FootSwingTrajectoryIfE16setFinalPositionEN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEE(ptr noundef nonnull align 4 dereferenceable(64) %536, ptr noundef nonnull %95)
  %537 = getelementptr inbounds i8, ptr %0, i64 464
  call void @_ZN19FootSwingTrajectoryIfE9setHeightEf(ptr noundef nonnull align 4 dereferenceable(64) %537, float noundef 0x3FAEB851E0000000)
  call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2ERKS1_(ptr noundef nonnull align 4 dereferenceable(12) %94, ptr noundef nonnull align 4 dereferenceable(12) %504)
  call void @_ZN19FootSwingTrajectoryIfE18setInitialPositionEN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEE(ptr noundef nonnull align 4 dereferenceable(64) %537, ptr noundef nonnull %94)
  call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2ERKS1_(ptr noundef nonnull align 4 dereferenceable(12) %95, ptr noundef nonnull align 4 dereferenceable(12) %504)
  call void @_ZN19FootSwingTrajectoryIfE16setFinalPositionEN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEE(ptr noundef nonnull align 4 dereferenceable(64) %537, ptr noundef nonnull %95)
  %538 = getelementptr inbounds i8, ptr %0, i64 528
  call void @_ZN19FootSwingTrajectoryIfE9setHeightEf(ptr noundef nonnull align 4 dereferenceable(64) %538, float noundef 0x3FAEB851E0000000)
  call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2ERKS1_(ptr noundef nonnull align 4 dereferenceable(12) %94, ptr noundef nonnull align 4 dereferenceable(12) %508)
  call void @_ZN19FootSwingTrajectoryIfE18setInitialPositionEN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEE(ptr noundef nonnull align 4 dereferenceable(64) %538, ptr noundef nonnull %94)
  call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2ERKS1_(ptr noundef nonnull align 4 dereferenceable(12) %95, ptr noundef nonnull align 4 dereferenceable(12) %508)
  call void @_ZN19FootSwingTrajectoryIfE16setFinalPositionEN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEE(ptr noundef nonnull align 4 dereferenceable(64) %538, ptr noundef nonnull %95)
  %539 = getelementptr inbounds i8, ptr %0, i64 592
  call void @_ZN19FootSwingTrajectoryIfE9setHeightEf(ptr noundef nonnull align 4 dereferenceable(64) %539, float noundef 0x3FAEB851E0000000)
  call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2ERKS1_(ptr noundef nonnull align 4 dereferenceable(12) %94, ptr noundef nonnull align 4 dereferenceable(12) %512)
  call void @_ZN19FootSwingTrajectoryIfE18setInitialPositionEN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEE(ptr noundef nonnull align 4 dereferenceable(64) %539, ptr noundef nonnull %94)
  call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2ERKS1_(ptr noundef nonnull align 4 dereferenceable(12) %95, ptr noundef nonnull align 4 dereferenceable(12) %512)
  call void @_ZN19FootSwingTrajectoryIfE16setFinalPositionEN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEE(ptr noundef nonnull align 4 dereferenceable(64) %539, ptr noundef nonnull %95)
  store i8 0, ptr %521, align 4, !tbaa !91
  br label %540

540:                                              ; preds = %524, %520
  %541 = getelementptr inbounds i8, ptr %0, i64 328
  %542 = getelementptr inbounds i8, ptr %0, i64 384
  %543 = load float, ptr %541, align 8, !tbaa !108
  %544 = load ptr, ptr %.0221.ptr, align 16, !tbaa !98
  %545 = getelementptr inbounds i8, ptr %544, i64 64
  %546 = load ptr, ptr %545, align 8
  %547 = call noundef float %546(ptr noundef nonnull align 8 dereferenceable(40) %.0221.ptr, float noundef %543, i32 noundef 0)
  %548 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi4ELi1ELi0ELi4ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %542, i64 noundef 0)
  store float %547, ptr %548, align 4, !tbaa !94
  %549 = load float, ptr %541, align 8, !tbaa !108
  %550 = load ptr, ptr %.0221.ptr, align 16, !tbaa !98
  %551 = getelementptr inbounds i8, ptr %550, i64 64
  %552 = load ptr, ptr %551, align 8
  %553 = call noundef float %552(ptr noundef nonnull align 8 dereferenceable(40) %.0221.ptr, float noundef %549, i32 noundef 1)
  %554 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi4ELi1ELi0ELi4ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %542, i64 noundef 1)
  store float %553, ptr %554, align 4, !tbaa !94
  %555 = load float, ptr %541, align 8, !tbaa !108
  %556 = load ptr, ptr %.0221.ptr, align 16, !tbaa !98
  %557 = getelementptr inbounds i8, ptr %556, i64 64
  %558 = load ptr, ptr %557, align 8
  %559 = call noundef float %558(ptr noundef nonnull align 8 dereferenceable(40) %.0221.ptr, float noundef %555, i32 noundef 2)
  %560 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi4ELi1ELi0ELi4ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %542, i64 noundef 2)
  store float %559, ptr %560, align 4, !tbaa !94
  %561 = load float, ptr %541, align 8, !tbaa !108
  %562 = load ptr, ptr %.0221.ptr, align 16, !tbaa !98
  %563 = getelementptr inbounds i8, ptr %562, i64 64
  %564 = load ptr, ptr %563, align 8
  %565 = call noundef float %564(ptr noundef nonnull align 8 dereferenceable(40) %.0221.ptr, float noundef %561, i32 noundef 3)
  %566 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi4ELi1ELi0ELi4ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %542, i64 noundef 3)
  store float %565, ptr %566, align 4, !tbaa !94
  %567 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %79, i64 noundef 0)
  %568 = load float, ptr %567, align 4, !tbaa !94
  %569 = call noundef float @_ZSt4fabsf(float noundef %568)
  %570 = getelementptr inbounds i8, ptr %0, i64 2245
  %571 = getelementptr inbounds i8, ptr %0, i64 324
  %572 = getelementptr inbounds i8, ptr %0, i64 2252
  %573 = getelementptr inbounds i8, ptr %0, i64 400
  %574 = getelementptr inbounds i8, ptr %0, i64 272
  %575 = getelementptr inbounds i8, ptr %104, i64 8
  br label %581

576:                                              ; preds = %594
  %577 = load i32, ptr %409, align 4, !tbaa !101
  %578 = add nsw i32 %577, 1
  store i32 %578, ptr %409, align 4, !tbaa !101
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %114) #9
  %579 = getelementptr inbounds i8, ptr %0, i64 2064
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %115) #9
  store float 7.000000e+02, ptr %115, align 4, !tbaa !94
  call void @_ZN5Eigen9DenseBaseINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEElsERKf(ptr dead_on_unwind nonnull writable sret(%"struct.Eigen::CommaInitializer") align 8 %114, ptr noundef nonnull align 1 dereferenceable(1) %579, ptr noundef nonnull align 4 dereferenceable(4) %115)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %116) #9
  store float 0.000000e+00, ptr %116, align 4, !tbaa !94
  %580 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5Eigen16CommaInitializerINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEEcmERKf(ptr noundef nonnull align 8 dereferenceable(32) %114, ptr noundef nonnull align 4 dereferenceable(4) %116)
          to label %691 unwind label %779

581:                                              ; preds = %540, %594
  %indvars.iv = phi i64 [ 0, %540 ], [ %indvars.iv.next, %594 ]
  %582 = getelementptr inbounds [4 x i8], ptr %570, i64 0, i64 %indvars.iv
  %583 = load i8, ptr %582, align 1, !tbaa !109, !range !92, !noundef !93
  %584 = trunc nuw i8 %583 to i1
  br i1 %584, label %585, label %589

585:                                              ; preds = %581
  %586 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi4ELi1ELi0ELi4ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %542, i64 noundef %indvars.iv)
  %587 = load float, ptr %586, align 4, !tbaa !94
  %588 = getelementptr inbounds [4 x float], ptr %572, i64 0, i64 %indvars.iv
  store float %587, ptr %588, align 4, !tbaa !94
  br label %594

589:                                              ; preds = %581
  %590 = load float, ptr %571, align 4, !tbaa !105
  %591 = getelementptr inbounds [4 x float], ptr %572, i64 0, i64 %indvars.iv
  %592 = load float, ptr %591, align 4, !tbaa !94
  %593 = fsub float %592, %590
  store float %593, ptr %591, align 4, !tbaa !94
  br label %594

594:                                              ; preds = %589, %585
  %595 = getelementptr inbounds [4 x %class.FootSwingTrajectory], ptr %573, i64 0, i64 %indvars.iv
  call void @_ZN19FootSwingTrajectoryIfE9setHeightEf(ptr noundef nonnull align 4 dereferenceable(64) %595, float noundef 0x3FAEB851E0000000)
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %96) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %97) #9
  store float 0.000000e+00, ptr %97, align 4, !tbaa !94
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %98) #9
  %596 = getelementptr inbounds [4 x float], ptr @__const._ZN19ConvexMPCLocomotion3runIfEEvR9QuadrupedIT_ER13LegControllerIS2_ER23StateEstimatorContainerIfER19DesiredStateCommandIS2_ESt6vectorIdSaIdEEii.side_sign, i64 0, i64 %indvars.iv
  %597 = load float, ptr %596, align 4, !tbaa !94
  %598 = fpext float %597 to double
  %599 = fmul double %598, 6.500000e-02
  %600 = fptrunc double %599 to float
  store float %600, ptr %98, align 4, !tbaa !94
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %99) #9
  store float 0.000000e+00, ptr %99, align 4, !tbaa !94
  call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2ERKfS3_S3_(ptr noundef nonnull align 4 dereferenceable(12) %96, ptr noundef nonnull align 4 dereferenceable(4) %97, ptr noundef nonnull align 4 dereferenceable(4) %98, ptr noundef nonnull align 4 dereferenceable(4) %99)
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %99) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %98) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %97) #9
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %100) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %101) #9
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %102) #9
  %601 = trunc nuw nsw i64 %indvars.iv to i32
  call void @_ZN9QuadrupedIfE14getHipLocationEi(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::Matrix") align 4 %102, ptr noundef nonnull align 16 dereferenceable(1160) %1, i32 noundef %601)
  call void @_ZNK5Eigen10MatrixBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEEEplIS2_EEKNS_13CwiseBinaryOpINS_8internal13scalar_sum_opIfNS6_6traitsIT_E6ScalarEEEKS2_KS9_EERKNS0_IS9_EE(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::CwiseBinaryOp.161") align 8 %101, ptr noundef nonnull align 1 dereferenceable(1) %102, ptr noundef nonnull align 1 dereferenceable(1) %96)
  call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2INS_13CwiseBinaryOpINS_8internal13scalar_sum_opIffEEKS1_S7_EEEERKNS_9EigenBaseIT_EE(ptr noundef nonnull align 4 dereferenceable(12) %100, ptr noundef nonnull align 1 dereferenceable(1) %101)
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %102) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %101) #9
  %602 = getelementptr inbounds [4 x float], ptr @__const._ZN19ConvexMPCLocomotion3runIfEEvR9QuadrupedIT_ER13LegControllerIS2_ER23StateEstimatorContainerIfER19DesiredStateCommandIS2_ESt6vectorIdSaIdEEii.interleave_y, i64 0, i64 %indvars.iv
  %603 = load float, ptr %602, align 4, !tbaa !94
  %604 = fmul float %569, %603
  %605 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %100, i64 noundef 1)
  %606 = load float, ptr %605, align 4, !tbaa !94
  %607 = call float @llvm.fmuladd.f32(float %604, float 0xBFC99999A0000000, float %606)
  store float %607, ptr %605, align 4, !tbaa !94
  %608 = load float, ptr %541, align 8, !tbaa !108
  %609 = load ptr, ptr %.0221.ptr, align 16, !tbaa !98
  %610 = getelementptr inbounds i8, ptr %609, i64 56
  %611 = load ptr, ptr %610, align 8
  %612 = call noundef float %611(ptr noundef nonnull align 8 dereferenceable(40) %.0221.ptr, float noundef %608, i32 noundef %601)
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %103) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %104) #9
  call void @llvm.lifetime.start.p0(i64 36, ptr nonnull %105) #9
  %613 = load float, ptr %574, align 16, !tbaa !100
  %614 = fneg float %613
  %615 = fmul float %612, %614
  %616 = fmul float %615, 5.000000e-01
  call void @_ZN3ori18coordinateRotationIfEEN5Eigen6MatrixIT_Li3ELi3ELi0ELi3ELi3EEENS_14CoordinateAxisES3_(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::Matrix.29") align 4 %105, i32 noundef 2, float noundef %616)
  %617 = call { ptr, ptr } @_ZNK5Eigen10MatrixBaseINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEEmlINS1_IfLi3ELi1ELi0ELi3ELi1EEEEEKNS_7ProductIS2_T_Li0EEERKNS0_IS7_EE(ptr noundef nonnull align 1 dereferenceable(1) %105, ptr noundef nonnull align 1 dereferenceable(1) %100)
  %618 = extractvalue { ptr, ptr } %617, 0
  store ptr %618, ptr %104, align 8
  %619 = extractvalue { ptr, ptr } %617, 1
  store ptr %619, ptr %575, align 8
  call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2INS_7ProductINS0_IfLi3ELi3ELi0ELi3ELi3EEES1_Li0EEEEERKNS_9EigenBaseIT_EE(ptr noundef nonnull align 4 dereferenceable(12) %103, ptr noundef nonnull align 1 dereferenceable(1) %104)
  call void @llvm.lifetime.end.p0(i64 36, ptr nonnull %105) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %104) #9
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %106) #9
  call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2Ev(ptr noundef nonnull align 4 dereferenceable(12) %106)
  %620 = load float, ptr %414, align 4, !tbaa !96
  %621 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %106, i64 noundef 0)
  store float %620, ptr %621, align 4, !tbaa !94
  %622 = load float, ptr %415, align 8, !tbaa !97
  %623 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %106, i64 noundef 1)
  store float %622, ptr %623, align 4, !tbaa !94
  %624 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %106, i64 noundef 2)
  store float 0.000000e+00, ptr %624, align 4, !tbaa !94
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %107) #9
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %108) #9
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %109) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %110) #9
  %625 = call ptr @_ZNK5Eigen9DenseBaseINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEE9transposeEv(ptr noundef nonnull align 1 dereferenceable(1) %497)
  store ptr %625, ptr %110, align 8
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %111) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %112) #9
  %626 = getelementptr inbounds [4 x float], ptr %572, i64 0, i64 %indvars.iv
  call void @_ZNK5Eigen10MatrixBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEEEmlIfEEKNS_13CwiseBinaryOpINS_8internal17scalar_product_opIfNS6_18promote_scalar_argIfT_Xsr5Eigen8internal14has_ReturnTypeINS_20ScalarBinaryOpTraitsIfS9_NS7_IfS9_EEEEEE5valueEE4typeEEEKS2_KNS6_19plain_constant_typeIS2_SE_E4typeEEERKS9_(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::CwiseBinaryOp.215") align 8 %112, ptr noundef nonnull align 1 dereferenceable(1) %106, ptr noundef nonnull align 4 dereferenceable(4) %626)
  call void @_ZNK5Eigen10MatrixBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEEEplINS_13CwiseBinaryOpINS_8internal17scalar_product_opIffEEKS2_KNS_14CwiseNullaryOpINS6_18scalar_constant_opIfEES9_EEEEEEKNS5_INS6_13scalar_sum_opIfNS6_6traitsIT_E6ScalarEEES9_KSI_EERKNS0_ISI_EE(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::CwiseBinaryOp.209") align 8 %111, ptr noundef nonnull align 1 dereferenceable(1) %103, ptr noundef nonnull align 1 dereferenceable(1) %112)
  call void @_ZNK5Eigen10MatrixBaseINS_9TransposeIKNS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEEEEmlINS_13CwiseBinaryOpINS_8internal13scalar_sum_opIffEEKNS2_IfLi3ELi1ELi0ELi3ELi1EEEKNS8_INS9_17scalar_product_opIffEESD_KNS_14CwiseNullaryOpINS9_18scalar_constant_opIfEESD_EEEEEEEEKNS_7ProductIS5_T_Li0EEERKNS0_ISP_EE(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::Product.202") align 8 %109, ptr noundef nonnull align 1 dereferenceable(1) %110, ptr noundef nonnull align 1 dereferenceable(1) %111)
  call void @_ZNK5Eigen10MatrixBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEEEplINS_7ProductINS_9TransposeIKNS1_IfLi3ELi3ELi0ELi3ELi3EEEEENS_13CwiseBinaryOpINS_8internal13scalar_sum_opIffEEKS2_KNSA_INSB_17scalar_product_opIffEESE_KNS_14CwiseNullaryOpINSB_18scalar_constant_opIfEESE_EEEEEELi0EEEEEKNSA_INSC_IfNSB_6traitsIT_E6ScalarEEESE_KSR_EERKNS0_ISR_EE(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::CwiseBinaryOp.196") align 8 %108, ptr noundef nonnull align 1 dereferenceable(1) %496, ptr noundef nonnull align 1 dereferenceable(1) %109)
  call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2INS_13CwiseBinaryOpINS_8internal13scalar_sum_opIffEEKS1_KNS_7ProductINS_9TransposeIKNS0_IfLi3ELi3ELi0ELi3ELi3EEEEENS3_IS6_S7_KNS3_INS4_17scalar_product_opIffEES7_KNS_14CwiseNullaryOpINS4_18scalar_constant_opIfEES7_EEEEEELi0EEEEEEERKNS_9EigenBaseIT_EE(ptr noundef nonnull align 4 dereferenceable(12) %107, ptr noundef nonnull align 1 dereferenceable(1) %108)
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %112) #9
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %111) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %110) #9
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %109) #9
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %108) #9
  %627 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi0EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %425, i64 noundef 0)
  %628 = load float, ptr %627, align 4, !tbaa !94
  %629 = fpext float %628 to double
  %630 = fmul double %629, 5.000000e-01
  %631 = fpext float %612 to double
  %632 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi0EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %425, i64 noundef 0)
  %633 = load float, ptr %632, align 4, !tbaa !94
  %634 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %81, i64 noundef 0)
  %635 = load float, ptr %634, align 4, !tbaa !94
  %636 = fsub float %633, %635
  %637 = fmul float %636, 0x3F9EB851E0000000
  %638 = fpext float %637 to double
  %639 = call double @llvm.fmuladd.f64(double %630, double %631, double %638)
  %640 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi0EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %496, i64 noundef 2)
  %641 = load float, ptr %640, align 4, !tbaa !94
  %642 = fdiv float %641, 0x40239EB860000000
  %643 = fpext float %642 to double
  %644 = call double @sqrt(double noundef %643) #9
  %645 = fmul double %644, 5.000000e-01
  %646 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi0EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %425, i64 noundef 1)
  %647 = load float, ptr %646, align 4, !tbaa !94
  %648 = load float, ptr %574, align 16, !tbaa !100
  %649 = fmul float %647, %648
  %650 = fpext float %649 to double
  %651 = call double @llvm.fmuladd.f64(double %645, double %650, double %639)
  %652 = fptrunc double %651 to float
  %653 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi0EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %425, i64 noundef 1)
  %654 = load float, ptr %653, align 4, !tbaa !94
  %655 = fpext float %654 to double
  %656 = fmul double %655, 5.000000e-01
  %657 = fmul double %656, %631
  %658 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi0EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %425, i64 noundef 1)
  %659 = load float, ptr %658, align 4, !tbaa !94
  %660 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %81, i64 noundef 1)
  %661 = load float, ptr %660, align 4, !tbaa !94
  %662 = fsub float %659, %661
  %663 = fmul float %662, 0x3F9EB851E0000000
  %664 = fpext float %663 to double
  %665 = fadd double %657, %664
  %666 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi0EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %496, i64 noundef 2)
  %667 = load float, ptr %666, align 4, !tbaa !94
  %668 = fdiv float %667, 0x40239EB860000000
  %669 = fpext float %668 to double
  %670 = call double @sqrt(double noundef %669) #9
  %671 = fmul double %670, 5.000000e-01
  %672 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi0EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %425, i64 noundef 0)
  %673 = load float, ptr %672, align 4, !tbaa !94
  %674 = fneg float %673
  %675 = load float, ptr %574, align 16, !tbaa !100
  %676 = fmul float %675, %674
  %677 = fpext float %676 to double
  %678 = call double @llvm.fmuladd.f64(double %671, double %677, double %665)
  %679 = fptrunc double %678 to float
  %680 = call float @llvm.maxnum.f32(float %652, float 0xBFD3333340000000)
  %681 = call float @llvm.minnum.f32(float %680, float 0x3FD3333340000000)
  %682 = call float @llvm.maxnum.f32(float %679, float 0xBFD3333340000000)
  %683 = call float @llvm.minnum.f32(float %682, float 0x3FD3333340000000)
  %684 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %107, i64 noundef 0)
  %685 = load float, ptr %684, align 4, !tbaa !94
  %686 = fadd float %681, %685
  store float %686, ptr %684, align 4, !tbaa !94
  %687 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %107, i64 noundef 1)
  %688 = load float, ptr %687, align 4, !tbaa !94
  %689 = fadd float %688, %683
  store float %689, ptr %687, align 4, !tbaa !94
  %690 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %107, i64 noundef 2)
  store float 0.000000e+00, ptr %690, align 4, !tbaa !94
  call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2ERKS1_(ptr noundef nonnull align 4 dereferenceable(12) %113, ptr noundef nonnull align 4 dereferenceable(12) %107)
  call void @_ZN19FootSwingTrajectoryIfE16setFinalPositionEN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEE(ptr noundef nonnull align 4 dereferenceable(64) %595, ptr noundef nonnull %113)
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %107) #9
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %106) #9
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %103) #9
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %100) #9
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %96) #9
  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
  %exitcond.not = icmp eq i64 %indvars.iv.next, 4
  br i1 %exitcond.not, label %576, label %581, !llvm.loop !110

691:                                              ; preds = %576
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %117) #9
  store float 0.000000e+00, ptr %117, align 4, !tbaa !94
  %692 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5Eigen16CommaInitializerINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEEcmERKf(ptr noundef nonnull align 8 dereferenceable(32) %580, ptr noundef nonnull align 4 dereferenceable(4) %117)
          to label %693 unwind label %781

693:                                              ; preds = %691
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %118) #9
  store float 0.000000e+00, ptr %118, align 4, !tbaa !94
  %694 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5Eigen16CommaInitializerINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEEcmERKf(ptr noundef nonnull align 8 dereferenceable(32) %692, ptr noundef nonnull align 4 dereferenceable(4) %118)
          to label %695 unwind label %783

695:                                              ; preds = %693
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %119) #9
  store float 7.000000e+02, ptr %119, align 4, !tbaa !94
  %696 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5Eigen16CommaInitializerINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEEcmERKf(ptr noundef nonnull align 8 dereferenceable(32) %694, ptr noundef nonnull align 4 dereferenceable(4) %119)
          to label %697 unwind label %785

697:                                              ; preds = %695
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %120) #9
  store float 0.000000e+00, ptr %120, align 4, !tbaa !94
  %698 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5Eigen16CommaInitializerINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEEcmERKf(ptr noundef nonnull align 8 dereferenceable(32) %696, ptr noundef nonnull align 4 dereferenceable(4) %120)
          to label %699 unwind label %787

699:                                              ; preds = %697
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %121) #9
  store float 0.000000e+00, ptr %121, align 4, !tbaa !94
  %700 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5Eigen16CommaInitializerINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEEcmERKf(ptr noundef nonnull align 8 dereferenceable(32) %698, ptr noundef nonnull align 4 dereferenceable(4) %121)
          to label %701 unwind label %789

701:                                              ; preds = %699
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %122) #9
  store float 0.000000e+00, ptr %122, align 4, !tbaa !94
  %702 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5Eigen16CommaInitializerINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEEcmERKf(ptr noundef nonnull align 8 dereferenceable(32) %700, ptr noundef nonnull align 4 dereferenceable(4) %122)
          to label %703 unwind label %791

703:                                              ; preds = %701
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %123) #9
  store float 2.000000e+02, ptr %123, align 4, !tbaa !94
  %704 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5Eigen16CommaInitializerINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEEcmERKf(ptr noundef nonnull align 8 dereferenceable(32) %702, ptr noundef nonnull align 4 dereferenceable(4) %123)
          to label %705 unwind label %793

705:                                              ; preds = %703
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %123) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %122) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %121) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %120) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %119) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %118) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %117) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %116) #9
  call void @_ZN5Eigen16CommaInitializerINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %114) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %115) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %114) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %124) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %125) #9
  store double 0.000000e+00, ptr %125, align 8, !tbaa !112
  call void @_ZN5EigenmlIdEEKNS_13CwiseBinaryOpINS_8internal17scalar_product_opINS2_18promote_scalar_argIfT_Xsr5Eigen8internal14has_ReturnTypeINS_20ScalarBinaryOpTraitsIS5_fNS3_IS5_fEEEEEE5valueEE4typeEfEEKNS2_19plain_constant_typeINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEESA_E4typeEKSE_EERKS5_RKNS_10MatrixBaseISE_EE(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::CwiseBinaryOp.224") align 8 %124, ptr noundef nonnull align 8 dereferenceable(8) %125, ptr noundef nonnull align 1 dereferenceable(1) %579)
  %706 = getelementptr inbounds i8, ptr %0, i64 2136
  %707 = call noundef nonnull align 4 dereferenceable(36) ptr @_ZN5Eigen6MatrixIfLi3ELi3ELi0ELi3ELi3EEaSINS_13CwiseBinaryOpINS_8internal17scalar_product_opIffEEKNS_14CwiseNullaryOpINS4_18scalar_constant_opIfEEKS1_EESA_EEEERS1_RKNS_9DenseBaseIT_EE(ptr noundef nonnull align 4 dereferenceable(36) %706, ptr noundef nonnull align 1 dereferenceable(1) %124)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %125) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %124) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %126) #9
  %708 = getelementptr inbounds i8, ptr %0, i64 2100
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %127) #9
  store float 1.000000e+01, ptr %127, align 4, !tbaa !94
  call void @_ZN5Eigen9DenseBaseINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEElsERKf(ptr dead_on_unwind nonnull writable sret(%"struct.Eigen::CommaInitializer") align 8 %126, ptr noundef nonnull align 1 dereferenceable(1) %708, ptr noundef nonnull align 4 dereferenceable(4) %127)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %128) #9
  store float 0.000000e+00, ptr %128, align 4, !tbaa !94
  %709 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5Eigen16CommaInitializerINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEEcmERKf(ptr noundef nonnull align 8 dereferenceable(32) %126, ptr noundef nonnull align 4 dereferenceable(4) %128)
          to label %710 unwind label %802

710:                                              ; preds = %705
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %129) #9
  store float 0.000000e+00, ptr %129, align 4, !tbaa !94
  %711 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5Eigen16CommaInitializerINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEEcmERKf(ptr noundef nonnull align 8 dereferenceable(32) %709, ptr noundef nonnull align 4 dereferenceable(4) %129)
          to label %712 unwind label %804

712:                                              ; preds = %710
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %130) #9
  store float 0.000000e+00, ptr %130, align 4, !tbaa !94
  %713 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5Eigen16CommaInitializerINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEEcmERKf(ptr noundef nonnull align 8 dereferenceable(32) %711, ptr noundef nonnull align 4 dereferenceable(4) %130)
          to label %714 unwind label %806

714:                                              ; preds = %712
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %131) #9
  store float 1.000000e+01, ptr %131, align 4, !tbaa !94
  %715 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5Eigen16CommaInitializerINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEEcmERKf(ptr noundef nonnull align 8 dereferenceable(32) %713, ptr noundef nonnull align 4 dereferenceable(4) %131)
          to label %716 unwind label %808

716:                                              ; preds = %714
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %132) #9
  store float 0.000000e+00, ptr %132, align 4, !tbaa !94
  %717 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5Eigen16CommaInitializerINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEEcmERKf(ptr noundef nonnull align 8 dereferenceable(32) %715, ptr noundef nonnull align 4 dereferenceable(4) %132)
          to label %718 unwind label %810

718:                                              ; preds = %716
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %133) #9
  store float 0.000000e+00, ptr %133, align 4, !tbaa !94
  %719 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5Eigen16CommaInitializerINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEEcmERKf(ptr noundef nonnull align 8 dereferenceable(32) %717, ptr noundef nonnull align 4 dereferenceable(4) %133)
          to label %720 unwind label %812

720:                                              ; preds = %718
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %134) #9
  store float 0.000000e+00, ptr %134, align 4, !tbaa !94
  %721 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5Eigen16CommaInitializerINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEEcmERKf(ptr noundef nonnull align 8 dereferenceable(32) %719, ptr noundef nonnull align 4 dereferenceable(4) %134)
          to label %722 unwind label %814

722:                                              ; preds = %720
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %135) #9
  store float 1.000000e+01, ptr %135, align 4, !tbaa !94
  %723 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5Eigen16CommaInitializerINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEEcmERKf(ptr noundef nonnull align 8 dereferenceable(32) %721, ptr noundef nonnull align 4 dereferenceable(4) %135)
          to label %724 unwind label %816

724:                                              ; preds = %722
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %135) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %134) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %133) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %132) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %131) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %130) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %129) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %128) #9
  call void @_ZN5Eigen16CommaInitializerINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %126) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %127) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %126) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %136) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %137) #9
  store double 1.000000e+00, ptr %137, align 8, !tbaa !112
  call void @_ZN5EigenmlIdEEKNS_13CwiseBinaryOpINS_8internal17scalar_product_opINS2_18promote_scalar_argIfT_Xsr5Eigen8internal14has_ReturnTypeINS_20ScalarBinaryOpTraitsIS5_fNS3_IS5_fEEEEEE5valueEE4typeEfEEKNS2_19plain_constant_typeINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEESA_E4typeEKSE_EERKS5_RKNS_10MatrixBaseISE_EE(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::CwiseBinaryOp.224") align 8 %136, ptr noundef nonnull align 8 dereferenceable(8) %137, ptr noundef nonnull align 1 dereferenceable(1) %708)
  %725 = getelementptr inbounds i8, ptr %0, i64 2172
  %726 = call noundef nonnull align 4 dereferenceable(36) ptr @_ZN5Eigen6MatrixIfLi3ELi3ELi0ELi3ELi3EEaSINS_13CwiseBinaryOpINS_8internal17scalar_product_opIffEEKNS_14CwiseNullaryOpINS4_18scalar_constant_opIfEEKS1_EESA_EEEERS1_RKNS_9DenseBaseIT_EE(ptr noundef nonnull align 4 dereferenceable(36) %725, ptr noundef nonnull align 1 dereferenceable(1) %136)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %137) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %136) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %138) #9
  %727 = load ptr, ptr %.0221.ptr, align 16, !tbaa !98
  %728 = getelementptr inbounds i8, ptr %727, i64 24
  %729 = load ptr, ptr %728, align 8
  call void %729(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::Matrix.3") align 16 %138, ptr noundef nonnull align 8 dereferenceable(40) %.0221.ptr)
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %139) #9
  %730 = load ptr, ptr %.0221.ptr, align 16, !tbaa !98
  %731 = getelementptr inbounds i8, ptr %730, i64 32
  %732 = load ptr, ptr %731, align 8
  call void %732(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::Matrix.3") align 16 %139, ptr noundef nonnull align 8 dereferenceable(40) %.0221.ptr)
  %733 = load ptr, ptr %.0221.ptr, align 16, !tbaa !98
  %734 = getelementptr inbounds i8, ptr %733, i64 40
  %735 = load ptr, ptr %734, align 8
  %736 = call noundef ptr %735(ptr noundef nonnull align 8 dereferenceable(40) %.0221.ptr)
  call void @_ZN19ConvexMPCLocomotion17updateMPCIfNeededEPiR23StateEstimatorContainerIfEb(ptr noundef nonnull align 16 dereferenceable(7184) %0, ptr noundef %736, ptr noundef nonnull align 16 dereferenceable(96) %3, i1 noundef zeroext %179)
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %140) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %141) #9
  store float 0.000000e+00, ptr %141, align 4, !tbaa !94
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %142) #9
  store float 0.000000e+00, ptr %142, align 4, !tbaa !94
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %143) #9
  store float 0.000000e+00, ptr %143, align 4, !tbaa !94
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %144) #9
  store float 0.000000e+00, ptr %144, align 4, !tbaa !94
  call void @_ZN5Eigen6MatrixIfLi4ELi1ELi0ELi4ELi1EEC2ERKfS3_S3_S3_(ptr noundef nonnull align 16 dereferenceable(16) %140, ptr noundef nonnull align 4 dereferenceable(4) %141, ptr noundef nonnull align 4 dereferenceable(4) %142, ptr noundef nonnull align 4 dereferenceable(4) %143, ptr noundef nonnull align 4 dereferenceable(4) %144)
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %144) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %143) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %142) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %141) #9
  %737 = getelementptr inbounds i8, ptr %0, i64 336
  %738 = getelementptr inbounds i8, ptr %0, i64 64
  %739 = getelementptr inbounds i8, ptr %0, i64 112
  %740 = getelementptr inbounds i8, ptr %0, i64 160
  br label %825

741:                                              ; preds = %888
  call void @_ZN23StateEstimatorContainerIfE15setContactPhaseERN5Eigen6MatrixIfLi4ELi1ELi0ELi4ELi1EEE(ptr noundef nonnull align 16 dereferenceable(96) %3, ptr noundef nonnull align 16 dereferenceable(16) %140)
  %742 = getelementptr inbounds i8, ptr %0, i64 2300
  %743 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %742, i64 noundef 0)
  %744 = load float, ptr %743, align 4, !tbaa !94
  %745 = getelementptr inbounds i8, ptr %0, i64 4
  %746 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %745, i64 noundef 0)
  store float %744, ptr %746, align 4, !tbaa !94
  %747 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %742, i64 noundef 1)
  %748 = load float, ptr %747, align 4, !tbaa !94
  %749 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %745, i64 noundef 1)
  store float %748, ptr %749, align 4, !tbaa !94
  %750 = getelementptr inbounds i8, ptr %0, i64 300
  %751 = load float, ptr %750, align 4, !tbaa !113
  %752 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %745, i64 noundef 2)
  store float %751, ptr %752, align 4, !tbaa !94
  %753 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %81, i64 noundef 0)
  %754 = load float, ptr %753, align 4, !tbaa !94
  %755 = getelementptr inbounds i8, ptr %0, i64 16
  %756 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %755, i64 noundef 0)
  store float %754, ptr %756, align 4, !tbaa !94
  %757 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %81, i64 noundef 1)
  %758 = load float, ptr %757, align 4, !tbaa !94
  %759 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %755, i64 noundef 1)
  store float %758, ptr %759, align 4, !tbaa !94
  %760 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %755, i64 noundef 2)
  store float 0.000000e+00, ptr %760, align 4, !tbaa !94
  %761 = getelementptr inbounds i8, ptr %0, i64 28
  %762 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZN5Eigen9DenseBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEEE7setZeroEv(ptr noundef nonnull align 1 dereferenceable(1) %761)
  %763 = getelementptr inbounds i8, ptr %0, i64 40
  %764 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %763, i64 noundef 0)
  store float 0.000000e+00, ptr %764, align 4, !tbaa !94
  %765 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %763, i64 noundef 1)
  store float 0.000000e+00, ptr %765, align 4, !tbaa !94
  %766 = getelementptr inbounds i8, ptr %0, i64 276
  %767 = load float, ptr %766, align 4, !tbaa !114
  %768 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %763, i64 noundef 2)
  store float %767, ptr %768, align 4, !tbaa !94
  %769 = getelementptr inbounds i8, ptr %0, i64 52
  %770 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %769, i64 noundef 0)
  store float 0.000000e+00, ptr %770, align 4, !tbaa !94
  %771 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %769, i64 noundef 1)
  store float 0.000000e+00, ptr %771, align 4, !tbaa !94
  %772 = load float, ptr %574, align 16, !tbaa !100
  %773 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %769, i64 noundef 2)
  store float %772, ptr %773, align 4, !tbaa !94
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %176) #9
  %774 = load ptr, ptr %.0221.ptr, align 16, !tbaa !98
  %775 = getelementptr inbounds i8, ptr %774, i64 24
  %776 = load ptr, ptr %775, align 8
  call void %776(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::Matrix.3") align 16 %176, ptr noundef nonnull align 8 dereferenceable(40) %.0221.ptr)
  %777 = getelementptr inbounds i8, ptr %0, i64 256
  %778 = call noundef nonnull align 16 dereferenceable(16) ptr @_ZN5Eigen6MatrixIfLi4ELi1ELi0ELi4ELi1EEaSEOS1_(ptr noundef nonnull align 16 dereferenceable(16) %777, ptr noundef nonnull align 16 dereferenceable(16) %176) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %176) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %140) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %139) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %138) #9
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %90) #9
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %84) #9
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %81) #9
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %79) #9
  ret void

779:                                              ; preds = %576
  %780 = landingpad { ptr, i32 }
          cleanup
  br label %801

781:                                              ; preds = %691
  %782 = landingpad { ptr, i32 }
          cleanup
  br label %800

783:                                              ; preds = %693
  %784 = landingpad { ptr, i32 }
          cleanup
  br label %799

785:                                              ; preds = %695
  %786 = landingpad { ptr, i32 }
          cleanup
  br label %798

787:                                              ; preds = %697
  %788 = landingpad { ptr, i32 }
          cleanup
  br label %797

789:                                              ; preds = %699
  %790 = landingpad { ptr, i32 }
          cleanup
  br label %796

791:                                              ; preds = %701
  %792 = landingpad { ptr, i32 }
          cleanup
  br label %795

793:                                              ; preds = %703
  %794 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %123) #9
  br label %795

795:                                              ; preds = %793, %791
  %.pn259 = phi { ptr, i32 } [ %794, %793 ], [ %792, %791 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %122) #9
  br label %796

796:                                              ; preds = %795, %789
  %.pn259.pn = phi { ptr, i32 } [ %.pn259, %795 ], [ %790, %789 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %121) #9
  br label %797

797:                                              ; preds = %796, %787
  %.pn259.pn.pn = phi { ptr, i32 } [ %.pn259.pn, %796 ], [ %788, %787 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %120) #9
  br label %798

798:                                              ; preds = %797, %785
  %.pn259.pn.pn.pn = phi { ptr, i32 } [ %.pn259.pn.pn, %797 ], [ %786, %785 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %119) #9
  br label %799

799:                                              ; preds = %798, %783
  %.pn259.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn259.pn.pn.pn, %798 ], [ %784, %783 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %118) #9
  br label %800

800:                                              ; preds = %799, %781
  %.pn259.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn259.pn.pn.pn.pn, %799 ], [ %782, %781 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %117) #9
  br label %801

801:                                              ; preds = %800, %779
  %.pn259.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn259.pn.pn.pn.pn.pn, %800 ], [ %780, %779 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %116) #9
  call void @_ZN5Eigen16CommaInitializerINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %114) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %115) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %114) #9
  br label %889

802:                                              ; preds = %705
  %803 = landingpad { ptr, i32 }
          cleanup
  br label %824

804:                                              ; preds = %710
  %805 = landingpad { ptr, i32 }
          cleanup
  br label %823

806:                                              ; preds = %712
  %807 = landingpad { ptr, i32 }
          cleanup
  br label %822

808:                                              ; preds = %714
  %809 = landingpad { ptr, i32 }
          cleanup
  br label %821

810:                                              ; preds = %716
  %811 = landingpad { ptr, i32 }
          cleanup
  br label %820

812:                                              ; preds = %718
  %813 = landingpad { ptr, i32 }
          cleanup
  br label %819

814:                                              ; preds = %720
  %815 = landingpad { ptr, i32 }
          cleanup
  br label %818

816:                                              ; preds = %722
  %817 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %135) #9
  br label %818

818:                                              ; preds = %816, %814
  %.pn267 = phi { ptr, i32 } [ %817, %816 ], [ %815, %814 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %134) #9
  br label %819

819:                                              ; preds = %818, %812
  %.pn267.pn = phi { ptr, i32 } [ %.pn267, %818 ], [ %813, %812 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %133) #9
  br label %820

820:                                              ; preds = %819, %810
  %.pn267.pn.pn = phi { ptr, i32 } [ %.pn267.pn, %819 ], [ %811, %810 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %132) #9
  br label %821

821:                                              ; preds = %820, %808
  %.pn267.pn.pn.pn = phi { ptr, i32 } [ %.pn267.pn.pn, %820 ], [ %809, %808 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %131) #9
  br label %822

822:                                              ; preds = %821, %806
  %.pn267.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn267.pn.pn.pn, %821 ], [ %807, %806 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %130) #9
  br label %823

823:                                              ; preds = %822, %804
  %.pn267.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn267.pn.pn.pn.pn, %822 ], [ %805, %804 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %129) #9
  br label %824

824:                                              ; preds = %823, %802
  %.pn267.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn267.pn.pn.pn.pn.pn, %823 ], [ %803, %802 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %128) #9
  call void @_ZN5Eigen16CommaInitializerINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %126) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %127) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %126) #9
  br label %889

825:                                              ; preds = %724, %888
  %indvars.iv289 = phi i64 [ 0, %724 ], [ %indvars.iv.next290, %888 ]
  %826 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi4ELi1ELi0ELi4ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %138, i64 noundef %indvars.iv289)
  %827 = load float, ptr %826, align 4, !tbaa !94
  %828 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi4ELi1ELi0ELi4ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %139, i64 noundef %indvars.iv289)
  %829 = load float, ptr %828, align 4, !tbaa !94
  %830 = fcmp ogt float %829, 0.000000e+00
  %831 = getelementptr inbounds [4 x i8], ptr %570, i64 0, i64 %indvars.iv289
  br i1 %830, label %832, label %866

832:                                              ; preds = %825
  %833 = load i8, ptr %831, align 1, !tbaa !109, !range !92, !noundef !93
  %834 = trunc nuw i8 %833 to i1
  br i1 %834, label %835, label %838

835:                                              ; preds = %832
  store i8 0, ptr %831, align 1, !tbaa !109
  %836 = getelementptr inbounds [4 x %class.FootSwingTrajectory], ptr %573, i64 0, i64 %indvars.iv289
  %837 = getelementptr inbounds [4 x %"class.Eigen::Matrix"], ptr %498, i64 0, i64 %indvars.iv289
  call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2ERKS1_(ptr noundef nonnull align 4 dereferenceable(12) %145, ptr noundef nonnull align 4 dereferenceable(12) %837)
  call void @_ZN19FootSwingTrajectoryIfE18setInitialPositionEN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEE(ptr noundef nonnull align 4 dereferenceable(64) %836, ptr noundef nonnull %145)
  br label %838

838:                                              ; preds = %835, %832
  %839 = getelementptr inbounds [4 x %class.FootSwingTrajectory], ptr %573, i64 0, i64 %indvars.iv289
  %840 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi4ELi1ELi0ELi4ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %542, i64 noundef %indvars.iv289)
  %841 = load float, ptr %840, align 4, !tbaa !94
  call void @_ZN19FootSwingTrajectoryIfE28computeSwingTrajectoryBezierEff(ptr noundef nonnull align 4 dereferenceable(64) %839, float noundef %829, float noundef %841)
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %146) #9
  call void @_ZN19FootSwingTrajectoryIfE11getPositionEv(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::Matrix") align 4 %146, ptr noundef nonnull align 4 dereferenceable(64) %839)
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %147) #9
  call void @_ZN19FootSwingTrajectoryIfE11getVelocityEv(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::Matrix") align 4 %147, ptr noundef nonnull align 4 dereferenceable(64) %839)
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %148) #9
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %149) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %150) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %151) #9
  call void @_ZNK5Eigen10MatrixBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEEEmiIS2_EEKNS_13CwiseBinaryOpINS_8internal20scalar_difference_opIfNS6_6traitsIT_E6ScalarEEEKS2_KS9_EERKNS0_IS9_EE(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::CwiseBinaryOp.249") align 8 %151, ptr noundef nonnull align 1 dereferenceable(1) %146, ptr noundef nonnull align 1 dereferenceable(1) %496)
  call void @_ZNK5Eigen10MatrixBaseINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEEmlINS_13CwiseBinaryOpINS_8internal20scalar_difference_opIffEEKNS1_IfLi3ELi1ELi0ELi3ELi1EEESA_EEEEKNS_7ProductIS2_T_Li0EEERKNS0_ISD_EE(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::Product.242") align 8 %150, ptr noundef nonnull align 1 dereferenceable(1) %497, ptr noundef nonnull align 1 dereferenceable(1) %151)
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %152) #9
  %842 = trunc nuw nsw i64 %indvars.iv289 to i32
  call void @_ZN9QuadrupedIfE14getHipLocationEi(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::Matrix") align 4 %152, ptr noundef nonnull align 16 dereferenceable(1160) %1, i32 noundef %842)
  call void @_ZNK5Eigen10MatrixBaseINS_7ProductINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEENS_13CwiseBinaryOpINS_8internal20scalar_difference_opIffEEKNS2_IfLi3ELi1ELi0ELi3ELi1EEES9_EELi0EEEEmiIS8_EEKNS4_INS6_IfNS5_6traitsIT_E6ScalarEEEKSB_KSF_EERKNS0_ISF_EE(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::CwiseBinaryOp.236") align 8 %149, ptr noundef nonnull align 1 dereferenceable(1) %150, ptr noundef nonnull align 1 dereferenceable(1) %152)
  call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2INS_13CwiseBinaryOpINS_8internal20scalar_difference_opIffEEKNS_7ProductINS0_IfLi3ELi3ELi0ELi3ELi3EEENS3_IS6_KS1_S9_EELi0EEES9_EEEERKNS_9EigenBaseIT_EE(ptr noundef nonnull align 4 dereferenceable(12) %148, ptr noundef nonnull align 1 dereferenceable(1) %149)
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %152) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %151) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %150) #9
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %149) #9
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %153) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %154) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %155) #9
  call void @_ZNK5Eigen10MatrixBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEEEmiIS2_EEKNS_13CwiseBinaryOpINS_8internal20scalar_difference_opIfNS6_6traitsIT_E6ScalarEEEKS2_KS9_EERKNS0_IS9_EE(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::CwiseBinaryOp.249") align 8 %155, ptr noundef nonnull align 1 dereferenceable(1) %147, ptr noundef nonnull align 1 dereferenceable(1) %425)
  call void @_ZNK5Eigen10MatrixBaseINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEEmlINS_13CwiseBinaryOpINS_8internal20scalar_difference_opIffEEKNS1_IfLi3ELi1ELi0ELi3ELi1EEESA_EEEEKNS_7ProductIS2_T_Li0EEERKNS0_ISD_EE(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::Product.242") align 8 %154, ptr noundef nonnull align 1 dereferenceable(1) %497, ptr noundef nonnull align 1 dereferenceable(1) %155)
  call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2INS_7ProductINS0_IfLi3ELi3ELi0ELi3ELi3EEENS_13CwiseBinaryOpINS_8internal20scalar_difference_opIffEEKS1_S9_EELi0EEEEERKNS_9EigenBaseIT_EE(ptr noundef nonnull align 4 dereferenceable(12) %153, ptr noundef nonnull align 1 dereferenceable(1) %154)
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %155) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %154) #9
  %843 = getelementptr inbounds [4 x %"class.Eigen::Matrix"], ptr %738, i64 0, i64 %indvars.iv289
  %844 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEaSERKS1_(ptr noundef nonnull align 4 dereferenceable(12) %843, ptr noundef nonnull align 4 dereferenceable(12) %146)
  %845 = getelementptr inbounds [4 x %"class.Eigen::Matrix"], ptr %739, i64 0, i64 %indvars.iv289
  %846 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEaSERKS1_(ptr noundef nonnull align 4 dereferenceable(12) %845, ptr noundef nonnull align 4 dereferenceable(12) %147)
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %156) #9
  call void @_ZN19FootSwingTrajectoryIfE15getAccelerationEv(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::Matrix") align 4 %156, ptr noundef nonnull align 4 dereferenceable(64) %839)
  %847 = getelementptr inbounds [4 x %"class.Eigen::Matrix"], ptr %740, i64 0, i64 %indvars.iv289
  %848 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEaSEOS1_(ptr noundef nonnull align 4 dereferenceable(12) %847, ptr noundef nonnull align 4 dereferenceable(12) %156) #9
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %156) #9
  %849 = getelementptr inbounds [4 x %struct.LegControllerCommand], ptr %2, i64 0, i64 %indvars.iv289
  %850 = getelementptr inbounds i8, ptr %849, i64 48
  %851 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEaSERKS1_(ptr noundef nonnull align 4 dereferenceable(12) %850, ptr noundef nonnull align 4 dereferenceable(12) %148)
  %852 = getelementptr inbounds i8, ptr %849, i64 60
  %853 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEaSERKS1_(ptr noundef nonnull align 4 dereferenceable(12) %852, ptr noundef nonnull align 4 dereferenceable(12) %153)
  %854 = and i32 %842, 1
  %or.cond5.not = icmp eq i32 %854, 0
  br i1 %or.cond5.not, label %860, label %855

855:                                              ; preds = %838
  %856 = getelementptr inbounds i8, ptr %849, i64 72
  %857 = call noundef nonnull align 4 dereferenceable(36) ptr @_ZN5Eigen6MatrixIfLi3ELi3ELi0ELi3ELi3EEaSERKS1_(ptr noundef nonnull align 4 dereferenceable(36) %856, ptr noundef nonnull align 4 dereferenceable(36) %579)
  %858 = getelementptr inbounds i8, ptr %849, i64 108
  %859 = call noundef nonnull align 4 dereferenceable(36) ptr @_ZN5Eigen6MatrixIfLi3ELi3ELi0ELi3ELi3EEaSERKS1_(ptr noundef nonnull align 4 dereferenceable(36) %858, ptr noundef nonnull align 4 dereferenceable(36) %708)
  br label %865

860:                                              ; preds = %838
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %157) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %158) #9
  store i32 1, ptr %158, align 4, !tbaa !95
  call void @_ZN5EigenmlIiEEKNS_13CwiseBinaryOpINS_8internal17scalar_product_opINS2_18promote_scalar_argIfT_Xsr5Eigen8internal14has_ReturnTypeINS_20ScalarBinaryOpTraitsIS5_fNS3_IS5_fEEEEEE5valueEE4typeEfEEKNS2_19plain_constant_typeINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEESA_E4typeEKSE_EERKS5_RKNS_10MatrixBaseISE_EE(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::CwiseBinaryOp.224") align 8 %157, ptr noundef nonnull align 4 dereferenceable(4) %158, ptr noundef nonnull align 1 dereferenceable(1) %579)
  %861 = getelementptr inbounds i8, ptr %849, i64 72
  %862 = call noundef nonnull align 4 dereferenceable(36) ptr @_ZN5Eigen6MatrixIfLi3ELi3ELi0ELi3ELi3EEaSINS_13CwiseBinaryOpINS_8internal17scalar_product_opIffEEKNS_14CwiseNullaryOpINS4_18scalar_constant_opIfEEKS1_EESA_EEEERS1_RKNS_9DenseBaseIT_EE(ptr noundef nonnull align 4 dereferenceable(36) %861, ptr noundef nonnull align 1 dereferenceable(1) %157)
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %158) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %157) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %159) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %160) #9
  store i32 1, ptr %160, align 4, !tbaa !95
  call void @_ZN5EigenmlIiEEKNS_13CwiseBinaryOpINS_8internal17scalar_product_opINS2_18promote_scalar_argIfT_Xsr5Eigen8internal14has_ReturnTypeINS_20ScalarBinaryOpTraitsIS5_fNS3_IS5_fEEEEEE5valueEE4typeEfEEKNS2_19plain_constant_typeINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEESA_E4typeEKSE_EERKS5_RKNS_10MatrixBaseISE_EE(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::CwiseBinaryOp.224") align 8 %159, ptr noundef nonnull align 4 dereferenceable(4) %160, ptr noundef nonnull align 1 dereferenceable(1) %708)
  %863 = getelementptr inbounds i8, ptr %849, i64 108
  %864 = call noundef nonnull align 4 dereferenceable(36) ptr @_ZN5Eigen6MatrixIfLi3ELi3ELi0ELi3ELi3EEaSINS_13CwiseBinaryOpINS_8internal17scalar_product_opIffEEKNS_14CwiseNullaryOpINS4_18scalar_constant_opIfEEKS1_EESA_EEEERS1_RKNS_9DenseBaseIT_EE(ptr noundef nonnull align 4 dereferenceable(36) %863, ptr noundef nonnull align 1 dereferenceable(1) %159)
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %160) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %159) #9
  br label %865

865:                                              ; preds = %855, %860
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %153) #9
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %148) #9
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %147) #9
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %146) #9
  br label %888

866:                                              ; preds = %825
  store i8 1, ptr %831, align 1, !tbaa !109
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %161) #9
  %867 = getelementptr inbounds [4 x %class.FootSwingTrajectory], ptr %573, i64 0, i64 %indvars.iv289
  call void @_ZN19FootSwingTrajectoryIfE11getPositionEv(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::Matrix") align 4 %161, ptr noundef nonnull align 4 dereferenceable(64) %867)
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %162) #9
  call void @_ZN19FootSwingTrajectoryIfE11getVelocityEv(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::Matrix") align 4 %162, ptr noundef nonnull align 4 dereferenceable(64) %867)
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %163) #9
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %164) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %165) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %166) #9
  call void @_ZNK5Eigen10MatrixBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEEEmiIS2_EEKNS_13CwiseBinaryOpINS_8internal20scalar_difference_opIfNS6_6traitsIT_E6ScalarEEEKS2_KS9_EERKNS0_IS9_EE(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::CwiseBinaryOp.249") align 8 %166, ptr noundef nonnull align 1 dereferenceable(1) %161, ptr noundef nonnull align 1 dereferenceable(1) %496)
  call void @_ZNK5Eigen10MatrixBaseINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEEmlINS_13CwiseBinaryOpINS_8internal20scalar_difference_opIffEEKNS1_IfLi3ELi1ELi0ELi3ELi1EEESA_EEEEKNS_7ProductIS2_T_Li0EEERKNS0_ISD_EE(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::Product.242") align 8 %165, ptr noundef nonnull align 1 dereferenceable(1) %497, ptr noundef nonnull align 1 dereferenceable(1) %166)
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %167) #9
  %868 = trunc nuw nsw i64 %indvars.iv289 to i32
  call void @_ZN9QuadrupedIfE14getHipLocationEi(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::Matrix") align 4 %167, ptr noundef nonnull align 16 dereferenceable(1160) %1, i32 noundef %868)
  call void @_ZNK5Eigen10MatrixBaseINS_7ProductINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEENS_13CwiseBinaryOpINS_8internal20scalar_difference_opIffEEKNS2_IfLi3ELi1ELi0ELi3ELi1EEES9_EELi0EEEEmiIS8_EEKNS4_INS6_IfNS5_6traitsIT_E6ScalarEEEKSB_KSF_EERKNS0_ISF_EE(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::CwiseBinaryOp.236") align 8 %164, ptr noundef nonnull align 1 dereferenceable(1) %165, ptr noundef nonnull align 1 dereferenceable(1) %167)
  call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2INS_13CwiseBinaryOpINS_8internal20scalar_difference_opIffEEKNS_7ProductINS0_IfLi3ELi3ELi0ELi3ELi3EEENS3_IS6_KS1_S9_EELi0EEES9_EEEERKNS_9EigenBaseIT_EE(ptr noundef nonnull align 4 dereferenceable(12) %163, ptr noundef nonnull align 1 dereferenceable(1) %164)
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %167) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %166) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %165) #9
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %164) #9
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %168) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %169) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %170) #9
  call void @_ZNK5Eigen10MatrixBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEEEmiIS2_EEKNS_13CwiseBinaryOpINS_8internal20scalar_difference_opIfNS6_6traitsIT_E6ScalarEEEKS2_KS9_EERKNS0_IS9_EE(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::CwiseBinaryOp.249") align 8 %170, ptr noundef nonnull align 1 dereferenceable(1) %162, ptr noundef nonnull align 1 dereferenceable(1) %425)
  call void @_ZNK5Eigen10MatrixBaseINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEEmlINS_13CwiseBinaryOpINS_8internal20scalar_difference_opIffEEKNS1_IfLi3ELi1ELi0ELi3ELi1EEESA_EEEEKNS_7ProductIS2_T_Li0EEERKNS0_ISD_EE(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::Product.242") align 8 %169, ptr noundef nonnull align 1 dereferenceable(1) %497, ptr noundef nonnull align 1 dereferenceable(1) %170)
  call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2INS_7ProductINS0_IfLi3ELi3ELi0ELi3ELi3EEENS_13CwiseBinaryOpINS_8internal20scalar_difference_opIffEEKS1_S9_EELi0EEEEERKNS_9EigenBaseIT_EE(ptr noundef nonnull align 4 dereferenceable(12) %168, ptr noundef nonnull align 1 dereferenceable(1) %169)
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %170) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %169) #9
  %869 = getelementptr inbounds [4 x %struct.LegControllerCommand], ptr %2, i64 0, i64 %indvars.iv289
  %870 = getelementptr inbounds i8, ptr %869, i64 48
  %871 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEaSERKS1_(ptr noundef nonnull align 4 dereferenceable(12) %870, ptr noundef nonnull align 4 dereferenceable(12) %163)
  %872 = getelementptr inbounds i8, ptr %869, i64 60
  %873 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEaSERKS1_(ptr noundef nonnull align 4 dereferenceable(12) %872, ptr noundef nonnull align 4 dereferenceable(12) %168)
  %874 = and i32 %868, 1
  %or.cond7.not = icmp eq i32 %874, 0
  br i1 %or.cond7.not, label %878, label %875

875:                                              ; preds = %866
  %876 = getelementptr inbounds i8, ptr %869, i64 108
  %877 = call noundef nonnull align 4 dereferenceable(36) ptr @_ZN5Eigen6MatrixIfLi3ELi3ELi0ELi3ELi3EEaSERKS1_(ptr noundef nonnull align 4 dereferenceable(36) %876, ptr noundef nonnull align 4 dereferenceable(36) %725)
  br label %881

878:                                              ; preds = %866
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %171) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %172) #9
  store i32 1, ptr %172, align 4, !tbaa !95
  call void @_ZN5EigenmlIiEEKNS_13CwiseBinaryOpINS_8internal17scalar_product_opINS2_18promote_scalar_argIfT_Xsr5Eigen8internal14has_ReturnTypeINS_20ScalarBinaryOpTraitsIS5_fNS3_IS5_fEEEEEE5valueEE4typeEfEEKNS2_19plain_constant_typeINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEESA_E4typeEKSE_EERKS5_RKNS_10MatrixBaseISE_EE(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::CwiseBinaryOp.224") align 8 %171, ptr noundef nonnull align 4 dereferenceable(4) %172, ptr noundef nonnull align 1 dereferenceable(1) %725)
  %879 = getelementptr inbounds i8, ptr %869, i64 108
  %880 = call noundef nonnull align 4 dereferenceable(36) ptr @_ZN5Eigen6MatrixIfLi3ELi3ELi0ELi3ELi3EEaSINS_13CwiseBinaryOpINS_8internal17scalar_product_opIffEEKNS_14CwiseNullaryOpINS4_18scalar_constant_opIfEEKS1_EESA_EEEERS1_RKNS_9DenseBaseIT_EE(ptr noundef nonnull align 4 dereferenceable(36) %879, ptr noundef nonnull align 1 dereferenceable(1) %171)
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %172) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %171) #9
  br label %881

881:                                              ; preds = %878, %875
  %882 = getelementptr inbounds [4 x %"class.Eigen::Matrix"], ptr %737, i64 0, i64 %indvars.iv289
  %883 = getelementptr inbounds i8, ptr %869, i64 12
  %884 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEaSERKS1_(ptr noundef nonnull align 4 dereferenceable(12) %883, ptr noundef nonnull align 4 dereferenceable(12) %882)
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %173) #9
  call void @llvm.lifetime.start.p0(i64 3, ptr nonnull %174) #9
  call void @_ZN5Eigen10MatrixBaseINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEE8IdentityEv(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::CwiseNullaryOp.264") align 1 %174)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %175) #9
  store double 2.000000e-01, ptr %175, align 8, !tbaa !112
  call void @_ZNK5Eigen10MatrixBaseINS_14CwiseNullaryOpINS_8internal18scalar_identity_opIfEENS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEEEEmlIdEEKNS_13CwiseBinaryOpINS2_17scalar_product_opIfNS2_18promote_scalar_argIfT_Xsr5Eigen8internal14has_ReturnTypeINS_20ScalarBinaryOpTraitsIfSD_NSB_IfSD_EEEEEE5valueEE4typeEEEKS7_KNS2_19plain_constant_typeIS7_SI_E4typeEEERKSD_(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::CwiseBinaryOp.257") align 4 %173, ptr noundef nonnull align 1 dereferenceable(1) %174, ptr noundef nonnull align 8 dereferenceable(8) %175)
  %885 = getelementptr inbounds i8, ptr %869, i64 180
  %886 = call noundef nonnull align 4 dereferenceable(36) ptr @_ZN5Eigen6MatrixIfLi3ELi3ELi0ELi3ELi3EEaSINS_13CwiseBinaryOpINS_8internal17scalar_product_opIffEEKNS_14CwiseNullaryOpINS4_18scalar_identity_opIfEES1_EEKNS7_INS4_18scalar_constant_opIfEEKS1_EEEEEERS1_RKNS_9DenseBaseIT_EE(ptr noundef nonnull align 4 dereferenceable(36) %885, ptr noundef nonnull align 1 dereferenceable(1) %173)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %175) #9
  call void @llvm.lifetime.end.p0(i64 3, ptr nonnull %174) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %173) #9
  %887 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi4ELi1ELi0ELi4ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %140, i64 noundef %indvars.iv289)
  store float %827, ptr %887, align 4, !tbaa !94
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %168) #9
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %163) #9
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %162) #9
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %161) #9
  br label %888

888:                                              ; preds = %881, %865
  %indvars.iv.next290 = add nuw nsw i64 %indvars.iv289, 1
  %exitcond292.not = icmp eq i64 %indvars.iv.next290, 4
  br i1 %exitcond292.not, label %741, label %825, !llvm.loop !115

889:                                              ; preds = %824, %801
  %.pn267.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn267.pn.pn.pn.pn.pn.pn, %824 ], [ %.pn259.pn.pn.pn.pn.pn.pn, %801 ]
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %90) #9
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %84) #9
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %81) #9
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %79) #9
  br label %890

890:                                              ; preds = %401, %889, %186
  %.pn267.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %187, %186 ], [ %.pn267.pn.pn.pn.pn.pn.pn.pn, %889 ], [ %.pn246.pn, %401 ]
  resume { ptr, i32 } %.pn267.pn.pn.pn.pn.pn.pn.pn.pn.pn
}

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

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

; Function Attrs: mustprogress nofree nounwind willreturn memory(write)
declare double @sqrt(double noundef) local_unnamed_addr #6

; Function Attrs: mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare double @llvm.fmuladd.f64(double, double, double) #4

; Function Attrs: inlinehint mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) local_unnamed_addr #0

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

; Function Attrs: inlinehint mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_(ptr noundef nonnull align 8 dereferenceable(8)) #0

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2ERKfS3_S3_(ptr noundef nonnull align 4 dereferenceable(12), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4)) unnamed_addr #0 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2ERKS1_(ptr noundef nonnull align 4 dereferenceable(12), ptr noundef nonnull align 4 dereferenceable(12)) unnamed_addr #0 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local ptr @_ZNK5Eigen9DenseBaseINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEE9transposeEv(ptr noundef nonnull align 1 dereferenceable(1)) local_unnamed_addr #0 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local { ptr, ptr } @_ZNK5Eigen10MatrixBaseINS_9TransposeIKNS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEEEEmlINS2_IfLi3ELi1ELi0ELi3ELi1EEEEEKNS_7ProductIS5_T_Li0EEERKNS0_ISA_EE(ptr noundef nonnull align 1 dereferenceable(1), ptr noundef nonnull align 1 dereferenceable(1)) local_unnamed_addr #0 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2INS_7ProductINS_9TransposeIKNS0_IfLi3ELi3ELi0ELi3ELi3EEEEES1_Li0EEEEERKNS_9EigenBaseIT_EE(ptr noundef nonnull align 4 dereferenceable(12), ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #0 align 2

; Function Attrs: mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare float @llvm.maxnum.f32(float, float) #4

; Function Attrs: mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare float @llvm.minnum.f32(float, float) #4

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZNK5Eigen10MatrixBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEEEplINS_7ProductINS_9TransposeIKNS1_IfLi3ELi3ELi0ELi3ELi3EEEEENS_13CwiseBinaryOpINS_8internal13scalar_sum_opIffEEKS2_SE_EELi0EEEEEKNSA_INSC_IfNSB_6traitsIT_E6ScalarEEESE_KSI_EERKNS0_ISI_EE(ptr dead_on_unwind noalias writable sret(%"class.Eigen::CwiseBinaryOp") align 8, ptr noundef nonnull align 1 dereferenceable(1), ptr noundef nonnull align 1 dereferenceable(1)) local_unnamed_addr #0 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZNK5Eigen10MatrixBaseINS_9TransposeIKNS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEEEEmlINS_13CwiseBinaryOpINS_8internal13scalar_sum_opIffEEKNS2_IfLi3ELi1ELi0ELi3ELi1EEESD_EEEEKNS_7ProductIS5_T_Li0EEERKNS0_ISG_EE(ptr dead_on_unwind noalias writable sret(%"class.Eigen::Product.154") align 8, ptr noundef nonnull align 1 dereferenceable(1), ptr noundef nonnull align 1 dereferenceable(1)) local_unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN9QuadrupedIfE14getHipLocationEi(ptr dead_on_unwind noalias writable sret(%"class.Eigen::Matrix") align 4, ptr noundef nonnull align 16 dereferenceable(1160), i32 noundef) local_unnamed_addr #3 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZNK5Eigen10MatrixBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEEEplIS2_EEKNS_13CwiseBinaryOpINS_8internal13scalar_sum_opIfNS6_6traitsIT_E6ScalarEEEKS2_KS9_EERKNS0_IS9_EE(ptr dead_on_unwind noalias writable sret(%"class.Eigen::CwiseBinaryOp.161") align 8, ptr noundef nonnull align 1 dereferenceable(1), ptr noundef nonnull align 1 dereferenceable(1)) local_unnamed_addr #0 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 4 dereferenceable(12) ptr @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEaSINS_13CwiseBinaryOpINS_8internal13scalar_sum_opIffEEKS1_KNS_7ProductINS_9TransposeIKNS0_IfLi3ELi3ELi0ELi3ELi3EEEEENS3_IS6_S7_S7_EELi0EEEEEEERS1_RKNS_9DenseBaseIT_EE(ptr noundef nonnull align 4 dereferenceable(12), ptr noundef nonnull align 1 dereferenceable(1)) local_unnamed_addr #0 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5EigenmlIfEEKNS_13CwiseBinaryOpINS_8internal17scalar_product_opINS2_18promote_scalar_argIfT_Xsr5Eigen8internal14has_ReturnTypeINS_20ScalarBinaryOpTraitsIS5_fNS3_IS5_fEEEEEE5valueEE4typeEfEEKNS2_19plain_constant_typeINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEESA_E4typeEKSE_EERKS5_RKNS_10MatrixBaseISE_EE(ptr dead_on_unwind noalias writable sret(%"class.Eigen::CwiseBinaryOp.178") align 8, ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 1 dereferenceable(1)) local_unnamed_addr #0

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 4 dereferenceable(12) ptr @_ZN5Eigen10MatrixBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEEEpLINS_13CwiseBinaryOpINS_8internal17scalar_product_opIffEEKNS_14CwiseNullaryOpINS6_18scalar_constant_opIfEEKS2_EESC_EEEERS2_RKNS0_IT_EE(ptr noundef nonnull align 1 dereferenceable(1), ptr noundef nonnull align 1 dereferenceable(1)) local_unnamed_addr #0 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN19FootSwingTrajectoryIfE9setHeightEf(ptr noundef nonnull align 4 dereferenceable(64), float noundef) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN19FootSwingTrajectoryIfE18setInitialPositionEN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEE(ptr noundef nonnull align 4 dereferenceable(64), ptr noundef) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN19FootSwingTrajectoryIfE16setFinalPositionEN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEE(ptr noundef nonnull align 4 dereferenceable(64), ptr noundef) local_unnamed_addr #3 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi4ELi1ELi0ELi4ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1), i64 noundef) local_unnamed_addr #0 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef float @_ZSt4fabsf(float noundef) local_unnamed_addr #5

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2INS_13CwiseBinaryOpINS_8internal13scalar_sum_opIffEEKS1_S7_EEEERKNS_9EigenBaseIT_EE(ptr noundef nonnull align 4 dereferenceable(12), ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN3ori18coordinateRotationIfEEN5Eigen6MatrixIT_Li3ELi3ELi0ELi3ELi3EEENS_14CoordinateAxisES3_(ptr dead_on_unwind noalias writable sret(%"class.Eigen::Matrix.29") align 4, i32 noundef, float noundef) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local { ptr, ptr } @_ZNK5Eigen10MatrixBaseINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEEmlINS1_IfLi3ELi1ELi0ELi3ELi1EEEEEKNS_7ProductIS2_T_Li0EEERKNS0_IS7_EE(ptr noundef nonnull align 1 dereferenceable(1), ptr noundef nonnull align 1 dereferenceable(1)) local_unnamed_addr #0 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2INS_7ProductINS0_IfLi3ELi3ELi0ELi3ELi3EEES1_Li0EEEEERKNS_9EigenBaseIT_EE(ptr noundef nonnull align 4 dereferenceable(12), ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #0 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZNK5Eigen10MatrixBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEEEplINS_7ProductINS_9TransposeIKNS1_IfLi3ELi3ELi0ELi3ELi3EEEEENS_13CwiseBinaryOpINS_8internal13scalar_sum_opIffEEKS2_KNSA_INSB_17scalar_product_opIffEESE_KNS_14CwiseNullaryOpINSB_18scalar_constant_opIfEESE_EEEEEELi0EEEEEKNSA_INSC_IfNSB_6traitsIT_E6ScalarEEESE_KSR_EERKNS0_ISR_EE(ptr dead_on_unwind noalias writable sret(%"class.Eigen::CwiseBinaryOp.196") align 8, ptr noundef nonnull align 1 dereferenceable(1), ptr noundef nonnull align 1 dereferenceable(1)) local_unnamed_addr #0 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZNK5Eigen10MatrixBaseINS_9TransposeIKNS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEEEEmlINS_13CwiseBinaryOpINS_8internal13scalar_sum_opIffEEKNS2_IfLi3ELi1ELi0ELi3ELi1EEEKNS8_INS9_17scalar_product_opIffEESD_KNS_14CwiseNullaryOpINS9_18scalar_constant_opIfEESD_EEEEEEEEKNS_7ProductIS5_T_Li0EEERKNS0_ISP_EE(ptr dead_on_unwind noalias writable sret(%"class.Eigen::Product.202") align 8, ptr noundef nonnull align 1 dereferenceable(1), ptr noundef nonnull align 1 dereferenceable(1)) local_unnamed_addr #0 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZNK5Eigen10MatrixBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEEEplINS_13CwiseBinaryOpINS_8internal17scalar_product_opIffEEKS2_KNS_14CwiseNullaryOpINS6_18scalar_constant_opIfEES9_EEEEEEKNS5_INS6_13scalar_sum_opIfNS6_6traitsIT_E6ScalarEEES9_KSI_EERKNS0_ISI_EE(ptr dead_on_unwind noalias writable sret(%"class.Eigen::CwiseBinaryOp.209") align 8, ptr noundef nonnull align 1 dereferenceable(1), ptr noundef nonnull align 1 dereferenceable(1)) local_unnamed_addr #0 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZNK5Eigen10MatrixBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEEEmlIfEEKNS_13CwiseBinaryOpINS_8internal17scalar_product_opIfNS6_18promote_scalar_argIfT_Xsr5Eigen8internal14has_ReturnTypeINS_20ScalarBinaryOpTraitsIfS9_NS7_IfS9_EEEEEE5valueEE4typeEEEKS2_KNS6_19plain_constant_typeIS2_SE_E4typeEEERKS9_(ptr dead_on_unwind noalias writable sret(%"class.Eigen::CwiseBinaryOp.215") align 8, ptr noundef nonnull align 1 dereferenceable(1), ptr noundef nonnull align 4 dereferenceable(4)) local_unnamed_addr #0 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2INS_13CwiseBinaryOpINS_8internal13scalar_sum_opIffEEKS1_KNS_7ProductINS_9TransposeIKNS0_IfLi3ELi3ELi0ELi3ELi3EEEEENS3_IS6_S7_KNS3_INS4_17scalar_product_opIffEES7_KNS_14CwiseNullaryOpINS4_18scalar_constant_opIfEES7_EEEEEELi0EEEEEEERKNS_9EigenBaseIT_EE(ptr noundef nonnull align 4 dereferenceable(12), ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #0 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5Eigen9DenseBaseINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEElsERKf(ptr dead_on_unwind noalias writable sret(%"struct.Eigen::CommaInitializer") align 8, ptr noundef nonnull align 1 dereferenceable(1), ptr noundef nonnull align 4 dereferenceable(4)) local_unnamed_addr #0 align 2

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5EigenmlIdEEKNS_13CwiseBinaryOpINS_8internal17scalar_product_opINS2_18promote_scalar_argIfT_Xsr5Eigen8internal14has_ReturnTypeINS_20ScalarBinaryOpTraitsIS5_fNS3_IS5_fEEEEEE5valueEE4typeEfEEKNS2_19plain_constant_typeINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEESA_E4typeEKSE_EERKS5_RKNS_10MatrixBaseISE_EE(ptr dead_on_unwind noalias writable sret(%"class.Eigen::CwiseBinaryOp.224") align 8, ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(1)) local_unnamed_addr #0

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 4 dereferenceable(36) ptr @_ZN5Eigen6MatrixIfLi3ELi3ELi0ELi3ELi3EEaSINS_13CwiseBinaryOpINS_8internal17scalar_product_opIffEEKNS_14CwiseNullaryOpINS4_18scalar_constant_opIfEEKS1_EESA_EEEERS1_RKNS_9DenseBaseIT_EE(ptr noundef nonnull align 4 dereferenceable(36), ptr noundef nonnull align 1 dereferenceable(1)) local_unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN19ConvexMPCLocomotion17updateMPCIfNeededEPiR23StateEstimatorContainerIfEb(ptr noundef nonnull align 16 dereferenceable(7184), ptr noundef, ptr noundef nonnull align 16 dereferenceable(96), i1 noundef zeroext) local_unnamed_addr #3 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5Eigen6MatrixIfLi4ELi1ELi0ELi4ELi1EEC2ERKfS3_S3_S3_(ptr noundef nonnull align 16 dereferenceable(16), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4)) unnamed_addr #0 align 2

declare void @_ZN19FootSwingTrajectoryIfE28computeSwingTrajectoryBezierEff(ptr noundef nonnull align 4 dereferenceable(64), float noundef, float noundef) local_unnamed_addr #7

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN19FootSwingTrajectoryIfE11getPositionEv(ptr dead_on_unwind noalias writable sret(%"class.Eigen::Matrix") align 4, ptr noundef nonnull align 4 dereferenceable(64)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN19FootSwingTrajectoryIfE11getVelocityEv(ptr dead_on_unwind noalias writable sret(%"class.Eigen::Matrix") align 4, ptr noundef nonnull align 4 dereferenceable(64)) local_unnamed_addr #3 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZNK5Eigen10MatrixBaseINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEEmlINS_13CwiseBinaryOpINS_8internal20scalar_difference_opIffEEKNS1_IfLi3ELi1ELi0ELi3ELi1EEESA_EEEEKNS_7ProductIS2_T_Li0EEERKNS0_ISD_EE(ptr dead_on_unwind noalias writable sret(%"class.Eigen::Product.242") align 8, ptr noundef nonnull align 1 dereferenceable(1), ptr noundef nonnull align 1 dereferenceable(1)) local_unnamed_addr #0 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZNK5Eigen10MatrixBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEEEmiIS2_EEKNS_13CwiseBinaryOpINS_8internal20scalar_difference_opIfNS6_6traitsIT_E6ScalarEEEKS2_KS9_EERKNS0_IS9_EE(ptr dead_on_unwind noalias writable sret(%"class.Eigen::CwiseBinaryOp.249") align 8, ptr noundef nonnull align 1 dereferenceable(1), ptr noundef nonnull align 1 dereferenceable(1)) local_unnamed_addr #0 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZNK5Eigen10MatrixBaseINS_7ProductINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEENS_13CwiseBinaryOpINS_8internal20scalar_difference_opIffEEKNS2_IfLi3ELi1ELi0ELi3ELi1EEES9_EELi0EEEEmiIS8_EEKNS4_INS6_IfNS5_6traitsIT_E6ScalarEEEKSB_KSF_EERKNS0_ISF_EE(ptr dead_on_unwind noalias writable sret(%"class.Eigen::CwiseBinaryOp.236") align 8, ptr noundef nonnull align 1 dereferenceable(1), ptr noundef nonnull align 1 dereferenceable(1)) local_unnamed_addr #0 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2INS_13CwiseBinaryOpINS_8internal20scalar_difference_opIffEEKNS_7ProductINS0_IfLi3ELi3ELi0ELi3ELi3EEENS3_IS6_KS1_S9_EELi0EEES9_EEEERKNS_9EigenBaseIT_EE(ptr noundef nonnull align 4 dereferenceable(12), ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #0 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2INS_7ProductINS0_IfLi3ELi3ELi0ELi3ELi3EEENS_13CwiseBinaryOpINS_8internal20scalar_difference_opIffEEKS1_S9_EELi0EEEEERKNS_9EigenBaseIT_EE(ptr noundef nonnull align 4 dereferenceable(12), ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #0 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 4 dereferenceable(12) ptr @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEaSERKS1_(ptr noundef nonnull align 4 dereferenceable(12), ptr noundef nonnull align 4 dereferenceable(12)) local_unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN19FootSwingTrajectoryIfE15getAccelerationEv(ptr dead_on_unwind noalias writable sret(%"class.Eigen::Matrix") align 4, ptr noundef nonnull align 4 dereferenceable(64)) local_unnamed_addr #3 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef nonnull align 4 dereferenceable(12) ptr @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEaSEOS1_(ptr noundef nonnull align 4 dereferenceable(12), ptr noundef nonnull align 4 dereferenceable(12)) local_unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 4 dereferenceable(36) ptr @_ZN5Eigen6MatrixIfLi3ELi3ELi0ELi3ELi3EEaSERKS1_(ptr noundef nonnull align 4 dereferenceable(36), ptr noundef nonnull align 4 dereferenceable(36)) local_unnamed_addr #0 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5EigenmlIiEEKNS_13CwiseBinaryOpINS_8internal17scalar_product_opINS2_18promote_scalar_argIfT_Xsr5Eigen8internal14has_ReturnTypeINS_20ScalarBinaryOpTraitsIS5_fNS3_IS5_fEEEEEE5valueEE4typeEfEEKNS2_19plain_constant_typeINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEESA_E4typeEKSE_EERKS5_RKNS_10MatrixBaseISE_EE(ptr dead_on_unwind noalias writable sret(%"class.Eigen::CwiseBinaryOp.224") align 8, ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 1 dereferenceable(1)) local_unnamed_addr #0

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5Eigen10MatrixBaseINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEE8IdentityEv(ptr dead_on_unwind noalias writable sret(%"class.Eigen::CwiseNullaryOp.264") align 1) local_unnamed_addr #0 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZNK5Eigen10MatrixBaseINS_14CwiseNullaryOpINS_8internal18scalar_identity_opIfEENS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEEEEmlIdEEKNS_13CwiseBinaryOpINS2_17scalar_product_opIfNS2_18promote_scalar_argIfT_Xsr5Eigen8internal14has_ReturnTypeINS_20ScalarBinaryOpTraitsIfSD_NSB_IfSD_EEEEEE5valueEE4typeEEEKS7_KNS2_19plain_constant_typeIS7_SI_E4typeEEERKSD_(ptr dead_on_unwind noalias writable sret(%"class.Eigen::CwiseBinaryOp.257") align 4, ptr noundef nonnull align 1 dereferenceable(1), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #0 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 4 dereferenceable(36) ptr @_ZN5Eigen6MatrixIfLi3ELi3ELi0ELi3ELi3EEaSINS_13CwiseBinaryOpINS_8internal17scalar_product_opIffEEKNS_14CwiseNullaryOpINS4_18scalar_identity_opIfEES1_EEKNS7_INS4_18scalar_constant_opIfEEKS1_EEEEEERS1_RKNS_9DenseBaseIT_EE(ptr noundef nonnull align 4 dereferenceable(36), ptr noundef nonnull align 1 dereferenceable(1)) local_unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN23StateEstimatorContainerIfE15setContactPhaseERN5Eigen6MatrixIfLi4ELi1ELi0ELi4ELi1EEE(ptr noundef nonnull align 16 dereferenceable(96), ptr noundef nonnull align 16 dereferenceable(16)) local_unnamed_addr #3 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef nonnull align 16 dereferenceable(16) ptr @_ZN5Eigen6MatrixIfLi4ELi1ELi0ELi4ELi1EEaSEOS1_(ptr noundef nonnull align 16 dereferenceable(16), ptr noundef nonnull align 16 dereferenceable(16)) local_unnamed_addr #5 align 2

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

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare i32 @llvm.smax.i32(i32, i32) #8

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare float @llvm.fabs.f32(float) #8

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare double @llvm.sqrt.f64(double) #8

attributes #0 = { inlinehint mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #2 = { mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #5 = { inlinehint mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { mustprogress nofree nounwind willreturn memory(write) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #7 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #8 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #9 = { 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, !19, i64 2296}
!6 = !{!"_ZTS19ConvexMPCLocomotion", !7, i64 0, !10, i64 4, !10, i64 16, !10, i64 28, !10, i64 40, !10, i64 52, !8, i64 64, !8, i64 112, !8, i64 160, !8, i64 208, !14, i64 256, !18, i64 272, !18, i64 276, !18, i64 280, !18, i64 284, !18, i64 288, !18, i64 292, !18, i64 296, !18, i64 300, !18, i64 304, !18, i64 308, !19, i64 312, !19, i64 316, !19, i64 320, !18, i64 324, !18, i64 328, !19, i64 332, !8, i64 336, !14, i64 384, !8, i64 400, !20, i64 656, !20, i64 784, !20, i64 912, !20, i64 1040, !20, i64 1168, !20, i64 1296, !20, i64 1424, !20, i64 1552, !20, i64 1680, !20, i64 1808, !20, i64 1936, !32, i64 2064, !32, i64 2100, !32, i64 2136, !32, i64 2172, !32, i64 2208, !7, i64 2244, !8, i64 2245, !8, i64 2252, !8, i64 2268, !19, i64 2292, !19, i64 2296, !10, i64 2300, !10, i64 2312, !10, i64 2324, !18, i64 2336, !8, i64 2340, !36, i64 2400, !8, i64 3280, !18, i64 6160, !37, i64 6164, !38, i64 6184, !42, i64 6208}
!7 = !{!"bool", !8, i64 0}
!8 = !{!"omnipotent char", !9, i64 0}
!9 = !{!"Simple C++ TBAA"}
!10 = !{!"_ZTSN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEE", !11, i64 0}
!11 = !{!"_ZTSN5Eigen15PlainObjectBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEEEE", !12, i64 0}
!12 = !{!"_ZTSN5Eigen12DenseStorageIfLi3ELi3ELi1ELi0EEE", !13, i64 0}
!13 = !{!"_ZTSN5Eigen8internal11plain_arrayIfLi3ELi0ELi0EEE", !8, i64 0}
!14 = !{!"_ZTSN5Eigen6MatrixIfLi4ELi1ELi0ELi4ELi1EEE", !15, i64 0}
!15 = !{!"_ZTSN5Eigen15PlainObjectBaseINS_6MatrixIfLi4ELi1ELi0ELi4ELi1EEEEE", !16, i64 0}
!16 = !{!"_ZTSN5Eigen12DenseStorageIfLi4ELi4ELi1ELi0EEE", !17, i64 0}
!17 = !{!"_ZTSN5Eigen8internal11plain_arrayIfLi4ELi0ELi16EEE", !8, i64 0}
!18 = !{!"float", !8, i64 0}
!19 = !{!"int", !8, i64 0}
!20 = !{!"_ZTS18OffsetDurationGait", !21, i64 0, !24, i64 40, !26, i64 48, !26, i64 64, !30, i64 80, !30, i64 96, !19, i64 112, !19, i64 116, !18, i64 120}
!21 = !{!"_ZTS4Gait", !22, i64 8}
!22 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !23, i64 0, !25, i64 8, !8, i64 16}
!23 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !24, i64 0}
!24 = !{!"any pointer", !8, i64 0}
!25 = !{!"long", !8, i64 0}
!26 = !{!"_ZTSN5Eigen5ArrayIiLi4ELi1ELi0ELi4ELi1EEE", !27, i64 0}
!27 = !{!"_ZTSN5Eigen15PlainObjectBaseINS_5ArrayIiLi4ELi1ELi0ELi4ELi1EEEEE", !28, i64 0}
!28 = !{!"_ZTSN5Eigen12DenseStorageIiLi4ELi4ELi1ELi0EEE", !29, i64 0}
!29 = !{!"_ZTSN5Eigen8internal11plain_arrayIiLi4ELi0ELi16EEE", !8, i64 0}
!30 = !{!"_ZTSN5Eigen5ArrayIfLi4ELi1ELi0ELi4ELi1EEE", !31, i64 0}
!31 = !{!"_ZTSN5Eigen15PlainObjectBaseINS_5ArrayIfLi4ELi1ELi0ELi4ELi1EEEEE", !16, i64 0}
!32 = !{!"_ZTSN5Eigen6MatrixIfLi3ELi3ELi0ELi3ELi3EEE", !33, i64 0}
!33 = !{!"_ZTSN5Eigen15PlainObjectBaseINS_6MatrixIfLi3ELi3ELi0ELi3ELi3EEEEE", !34, i64 0}
!34 = !{!"_ZTSN5Eigen12DenseStorageIfLi9ELi3ELi3ELi0EEE", !35, i64 0}
!35 = !{!"_ZTSN5Eigen8internal11plain_arrayIfLi9ELi0ELi0EEE", !8, i64 0}
!36 = !{!"_ZTS11CMPC_ResultIfE", !8, i64 0, !14, i64 864}
!37 = !{!"_ZTS9CMPC_Jump", !7, i64 0, !7, i64 1, !7, i64 2, !19, i64 4, !19, i64 8, !19, i64 12}
!38 = !{!"_ZTSSt6vectorIN5Eigen6MatrixIdLi12ELi1ELi0ELi12ELi1EEENS0_17aligned_allocatorIS2_EEE", !39, i64 0}
!39 = !{!"_ZTSSt12_Vector_baseIN5Eigen6MatrixIdLi12ELi1ELi0ELi12ELi1EEENS0_17aligned_allocatorIS2_EEE", !40, i64 0}
!40 = !{!"_ZTSNSt12_Vector_baseIN5Eigen6MatrixIdLi12ELi1ELi0ELi12ELi1EEENS0_17aligned_allocatorIS2_EEE12_Vector_implE", !41, i64 0}
!41 = !{!"_ZTSNSt12_Vector_baseIN5Eigen6MatrixIdLi12ELi1ELi0ELi12ELi1EEENS0_17aligned_allocatorIS2_EEE17_Vector_impl_dataE", !24, i64 0, !24, i64 8, !24, i64 16}
!42 = !{!"_ZTS10SparseCMPC", !43, i64 0, !47, i64 80, !51, i64 176, !51, i64 184, !51, i64 192, !51, i64 200, !52, i64 208, !52, i64 232, !52, i64 256, !52, i64 280, !56, i64 304, !47, i64 336, !47, i64 432, !47, i64 528, !60, i64 624, !38, i64 648, !64, i64 672, !68, i64 696, !72, i64 720, !76, i64 744, !80, i64 768, !80, i64 792, !84, i64 816, !84, i64 840, !64, i64 864, !64, i64 888, !64, i64 912, !88, i64 936, !19, i64 952, !19, i64 956, !19, i64 960}
!43 = !{!"_ZTSN5Eigen6MatrixIdLi3ELi3ELi0ELi3ELi3EEE", !44, i64 0}
!44 = !{!"_ZTSN5Eigen15PlainObjectBaseINS_6MatrixIdLi3ELi3ELi0ELi3ELi3EEEEE", !45, i64 0}
!45 = !{!"_ZTSN5Eigen12DenseStorageIdLi9ELi3ELi3ELi0EEE", !46, i64 0}
!46 = !{!"_ZTSN5Eigen8internal11plain_arrayIdLi9ELi0ELi0EEE", !8, i64 0}
!47 = !{!"_ZTSN5Eigen6MatrixIdLi12ELi1ELi0ELi12ELi1EEE", !48, i64 0}
!48 = !{!"_ZTSN5Eigen15PlainObjectBaseINS_6MatrixIdLi12ELi1ELi0ELi12ELi1EEEEE", !49, i64 0}
!49 = !{!"_ZTSN5Eigen12DenseStorageIdLi12ELi12ELi1ELi0EEE", !50, i64 0}
!50 = !{!"_ZTSN5Eigen8internal11plain_arrayIdLi12ELi0ELi16EEE", !8, i64 0}
!51 = !{!"double", !8, i64 0}
!52 = !{!"_ZTSN5Eigen6MatrixIdLi3ELi1ELi0ELi3ELi1EEE", !53, i64 0}
!53 = !{!"_ZTSN5Eigen15PlainObjectBaseINS_6MatrixIdLi3ELi1ELi0ELi3ELi1EEEEE", !54, i64 0}
!54 = !{!"_ZTSN5Eigen12DenseStorageIdLi3ELi3ELi1ELi0EEE", !55, i64 0}
!55 = !{!"_ZTSN5Eigen8internal11plain_arrayIdLi3ELi0ELi0EEE", !8, i64 0}
!56 = !{!"_ZTSN5Eigen6MatrixIdLi4ELi1ELi0ELi4ELi1EEE", !57, i64 0}
!57 = !{!"_ZTSN5Eigen15PlainObjectBaseINS_6MatrixIdLi4ELi1ELi0ELi4ELi1EEEEE", !58, i64 0}
!58 = !{!"_ZTSN5Eigen12DenseStorageIdLi4ELi4ELi1ELi0EEE", !59, i64 0}
!59 = !{!"_ZTSN5Eigen8internal11plain_arrayIdLi4ELi0ELi16EEE", !8, i64 0}
!60 = !{!"_ZTSSt6vectorI12ContactStateSaIS0_EE", !61, i64 0}
!61 = !{!"_ZTSSt12_Vector_baseI12ContactStateSaIS0_EE", !62, i64 0}
!62 = !{!"_ZTSNSt12_Vector_baseI12ContactStateSaIS0_EE12_Vector_implE", !63, i64 0}
!63 = !{!"_ZTSNSt12_Vector_baseI12ContactStateSaIS0_EE17_Vector_impl_dataE", !24, i64 0, !24, i64 8, !24, i64 16}
!64 = !{!"_ZTSSt6vectorIdSaIdEE", !65, i64 0}
!65 = !{!"_ZTSSt12_Vector_baseIdSaIdEE", !66, i64 0}
!66 = !{!"_ZTSNSt12_Vector_baseIdSaIdEE12_Vector_implE", !67, i64 0}
!67 = !{!"_ZTSNSt12_Vector_baseIdSaIdEE17_Vector_impl_dataE", !24, i64 0, !24, i64 8, !24, i64 16}
!68 = !{!"_ZTSSt6vectorIN5Eigen6MatrixIdLi12ELi12ELi0ELi12ELi12EEENS0_17aligned_allocatorIS2_EEE", !69, i64 0}
!69 = !{!"_ZTSSt12_Vector_baseIN5Eigen6MatrixIdLi12ELi12ELi0ELi12ELi12EEENS0_17aligned_allocatorIS2_EEE", !70, i64 0}
!70 = !{!"_ZTSNSt12_Vector_baseIN5Eigen6MatrixIdLi12ELi12ELi0ELi12ELi12EEENS0_17aligned_allocatorIS2_EEE12_Vector_implE", !71, i64 0}
!71 = !{!"_ZTSNSt12_Vector_baseIN5Eigen6MatrixIdLi12ELi12ELi0ELi12ELi12EEENS0_17aligned_allocatorIS2_EEE17_Vector_impl_dataE", !24, i64 0, !24, i64 8, !24, i64 16}
!72 = !{!"_ZTSSt6vectorI8BblockIDSaIS0_EE", !73, i64 0}
!73 = !{!"_ZTSSt12_Vector_baseI8BblockIDSaIS0_EE", !74, i64 0}
!74 = !{!"_ZTSNSt12_Vector_baseI8BblockIDSaIS0_EE12_Vector_implE", !75, i64 0}
!75 = !{!"_ZTSNSt12_Vector_baseI8BblockIDSaIS0_EE17_Vector_impl_dataE", !24, i64 0, !24, i64 8, !24, i64 16}
!76 = !{!"_ZTSSt6vectorIN5Eigen6MatrixIdLi12ELi3ELi0ELi12ELi3EEENS0_17aligned_allocatorIS2_EEE", !77, i64 0}
!77 = !{!"_ZTSSt12_Vector_baseIN5Eigen6MatrixIdLi12ELi3ELi0ELi12ELi3EEENS0_17aligned_allocatorIS2_EEE", !78, i64 0}
!78 = !{!"_ZTSNSt12_Vector_baseIN5Eigen6MatrixIdLi12ELi3ELi0ELi12ELi3EEENS0_17aligned_allocatorIS2_EEE12_Vector_implE", !79, i64 0}
!79 = !{!"_ZTSNSt12_Vector_baseIN5Eigen6MatrixIdLi12ELi3ELi0ELi12ELi3EEENS0_17aligned_allocatorIS2_EEE17_Vector_impl_dataE", !24, i64 0, !24, i64 8, !24, i64 16}
!80 = !{!"_ZTSSt6vectorIjSaIjEE", !81, i64 0}
!81 = !{!"_ZTSSt12_Vector_baseIjSaIjEE", !82, i64 0}
!82 = !{!"_ZTSNSt12_Vector_baseIjSaIjEE12_Vector_implE", !83, i64 0}
!83 = !{!"_ZTSNSt12_Vector_baseIjSaIjEE17_Vector_impl_dataE", !24, i64 0, !24, i64 8, !24, i64 16}
!84 = !{!"_ZTSSt6vectorI12SparseTripleIdESaIS1_EE", !85, i64 0}
!85 = !{!"_ZTSSt12_Vector_baseI12SparseTripleIdESaIS1_EE", !86, i64 0}
!86 = !{!"_ZTSNSt12_Vector_baseI12SparseTripleIdESaIS1_EE12_Vector_implE", !87, i64 0}
!87 = !{!"_ZTSNSt12_Vector_baseI12SparseTripleIdESaIS1_EE17_Vector_impl_dataE", !24, i64 0, !24, i64 8, !24, i64 16}
!88 = !{!"_ZTSN5Eigen6MatrixIfLin1ELi1ELi0ELin1ELi1EEE", !89, i64 0}
!89 = !{!"_ZTSN5Eigen15PlainObjectBaseINS_6MatrixIfLin1ELi1ELi0ELin1ELi1EEEEE", !90, i64 0}
!90 = !{!"_ZTSN5Eigen12DenseStorageIfLin1ELin1ELi1ELi0EEE", !24, i64 0, !25, i64 8}
!91 = !{!6, !7, i64 2244}
!92 = !{i8 0, i8 2}
!93 = !{}
!94 = !{!18, !18, i64 0}
!95 = !{!19, !19, i64 0}
!96 = !{!6, !18, i64 292}
!97 = !{!6, !18, i64 296}
!98 = !{!99, !99, i64 0}
!99 = !{!"vtable pointer", !9, i64 0}
!100 = !{!6, !18, i64 272}
!101 = !{!6, !19, i64 332}
!102 = !{!6, !19, i64 316}
!103 = !{!6, !19, i64 2292}
!104 = !{!6, !19, i64 312}
!105 = !{!6, !18, i64 324}
!106 = !{!6, !18, i64 288}
!107 = !{!6, !18, i64 284}
!108 = !{!6, !18, i64 328}
!109 = !{!7, !7, i64 0}
!110 = distinct !{!110, !111}
!111 = !{!"llvm.loop.mustprogress"}
!112 = !{!51, !51, i64 0}
!113 = !{!6, !18, i64 300}
!114 = !{!6, !18, i64 276}
!115 = distinct !{!115, !111}


; Effective O3 passes: AggressiveInstCombinePass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferAlignmentPass,InferFunctionAttrsPass,InstCombinePass,LICMPass,LoopRotatePass,PostOrderFunctionAttrsPass,PromotePass,ReassociatePass,SLPVectorizerPass,SROAPass,SimplifyCFGPass