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

; 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.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.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.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.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" }
%"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::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] }
%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.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.119" = type { %"class.Eigen::PlainObjectBase.120" }
%"class.Eigen::PlainObjectBase.120" = type { %"class.Eigen::DenseStorage.127" }
%"class.Eigen::DenseStorage.127" = type { ptr, i64 }

@.str = external hidden unnamed_addr constant [9 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [51 x i8], align 1

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN19ConvexMPCLocomotionC2Efi(ptr noundef nonnull align 16 dereferenceable(7184) %0, float noundef %1, i32 noundef %2) unnamed_addr #0 align 2 personality ptr @__gxx_personality_v0 {
  %4 = alloca ptr, align 8
  %5 = alloca float, align 4
  %6 = alloca i32, align 4
  %7 = alloca %"class.Eigen::Matrix.128", align 16
  %8 = alloca i32, align 4
  %9 = alloca i32, align 4
  %10 = alloca i32, align 4
  %11 = alloca i32, align 4
  %12 = alloca %"class.Eigen::Matrix.128", align 16
  %13 = alloca i32, align 4
  %14 = alloca i32, align 4
  %15 = alloca i32, align 4
  %16 = alloca i32, align 4
  %17 = alloca %"class.std::__cxx11::basic_string", align 8
  %18 = alloca %"class.std::allocator", align 1
  %19 = alloca ptr, align 8
  %20 = alloca i32, align 4
  %21 = alloca %"class.Eigen::Matrix.128", align 16
  %22 = alloca i32, align 4
  %23 = alloca i32, align 4
  %24 = alloca i32, align 4
  %25 = alloca i32, align 4
  %26 = alloca %"class.Eigen::Matrix.128", align 16
  %27 = alloca i32, align 4
  %28 = alloca i32, align 4
  %29 = alloca i32, align 4
  %30 = alloca i32, align 4
  %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.128", align 16
  %94 = alloca i32, align 4
  %95 = alloca i32, align 4
  %96 = alloca i32, align 4
  %97 = alloca i32, align 4
  %98 = alloca %"class.Eigen::Matrix.128", align 16
  %99 = alloca i32, align 4
  %100 = alloca i32, align 4
  %101 = alloca i32, align 4
  %102 = alloca i32, align 4
  %103 = alloca %"class.std::__cxx11::basic_string", align 8
  %104 = alloca %"class.std::allocator", align 1
  %105 = alloca %"class.Eigen::Matrix.128", align 16
  %106 = alloca i32, align 4
  %107 = alloca i32, align 4
  %108 = alloca i32, align 4
  %109 = alloca i32, align 4
  %110 = alloca %"class.Eigen::Matrix.128", align 16
  %111 = alloca i32, align 4
  %112 = alloca i32, align 4
  %113 = alloca i32, align 4
  %114 = alloca i32, align 4
  %115 = alloca %"class.std::__cxx11::basic_string", align 8
  %116 = alloca %"class.std::allocator", align 1
  %117 = alloca %"class.Eigen::Matrix.128", align 16
  %118 = alloca i32, align 4
  %119 = alloca i32, align 4
  %120 = alloca i32, align 4
  %121 = alloca i32, align 4
  %122 = alloca %"class.Eigen::Matrix.128", align 16
  %123 = alloca i32, align 4
  %124 = alloca i32, align 4
  %125 = alloca i32, align 4
  %126 = alloca i32, align 4
  %127 = alloca %"class.std::__cxx11::basic_string", align 8
  %128 = alloca %"class.std::allocator", align 1
  %129 = alloca %"class.Eigen::Matrix.128", align 16
  %130 = alloca i32, align 4
  %131 = alloca i32, align 4
  %132 = alloca i32, align 4
  %133 = alloca i32, align 4
  %134 = alloca %"class.Eigen::Matrix.128", align 16
  %135 = alloca i32, align 4
  %136 = alloca i32, align 4
  %137 = alloca i32, align 4
  %138 = alloca i32, align 4
  %139 = alloca %"class.std::__cxx11::basic_string", align 8
  %140 = alloca %"class.std::allocator", align 1
  %141 = alloca i32, align 4
  %142 = alloca i32, align 4
  store ptr %0, ptr %4, align 8, !tbaa !5
  store float %1, ptr %5, align 4, !tbaa !9
  store i32 %2, ptr %6, align 4, !tbaa !11
  %143 = load ptr, ptr %4, align 8
  %144 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 0
  store i8 0, ptr %144, align 16, !tbaa !13
  %145 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 1
  call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2Ev(ptr noundef nonnull align 4 dereferenceable(12) %145)
  %146 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 2
  call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2Ev(ptr noundef nonnull align 4 dereferenceable(12) %146)
  %147 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 3
  call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2Ev(ptr noundef nonnull align 4 dereferenceable(12) %147)
  %148 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 4
  call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2Ev(ptr noundef nonnull align 4 dereferenceable(12) %148)
  %149 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 5
  call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2Ev(ptr noundef nonnull align 4 dereferenceable(12) %149)
  %150 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 6
  %151 = getelementptr inbounds [4 x %"class.Eigen::Matrix"], ptr %150, i32 0, i32 0
  %152 = getelementptr inbounds %"class.Eigen::Matrix", ptr %151, i64 4
  br label %153

153:                                              ; preds = %153, %3
  %154 = phi ptr [ %151, %3 ], [ %155, %153 ]
  call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2Ev(ptr noundef nonnull align 4 dereferenceable(12) %154)
  %155 = getelementptr inbounds %"class.Eigen::Matrix", ptr %154, i64 1
  %156 = icmp eq ptr %155, %152
  br i1 %156, label %157, label %153

157:                                              ; preds = %153
  %158 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 7
  %159 = getelementptr inbounds [4 x %"class.Eigen::Matrix"], ptr %158, i32 0, i32 0
  %160 = getelementptr inbounds %"class.Eigen::Matrix", ptr %159, i64 4
  br label %161

161:                                              ; preds = %161, %157
  %162 = phi ptr [ %159, %157 ], [ %163, %161 ]
  call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2Ev(ptr noundef nonnull align 4 dereferenceable(12) %162)
  %163 = getelementptr inbounds %"class.Eigen::Matrix", ptr %162, i64 1
  %164 = icmp eq ptr %163, %160
  br i1 %164, label %165, label %161

165:                                              ; preds = %161
  %166 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 8
  %167 = getelementptr inbounds [4 x %"class.Eigen::Matrix"], ptr %166, i32 0, i32 0
  %168 = getelementptr inbounds %"class.Eigen::Matrix", ptr %167, i64 4
  br label %169

169:                                              ; preds = %169, %165
  %170 = phi ptr [ %167, %165 ], [ %171, %169 ]
  call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2Ev(ptr noundef nonnull align 4 dereferenceable(12) %170)
  %171 = getelementptr inbounds %"class.Eigen::Matrix", ptr %170, i64 1
  %172 = icmp eq ptr %171, %168
  br i1 %172, label %173, label %169

173:                                              ; preds = %169
  %174 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 9
  %175 = getelementptr inbounds [4 x %"class.Eigen::Matrix"], ptr %174, i32 0, i32 0
  %176 = getelementptr inbounds %"class.Eigen::Matrix", ptr %175, i64 4
  br label %177

177:                                              ; preds = %177, %173
  %178 = phi ptr [ %175, %173 ], [ %179, %177 ]
  call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2Ev(ptr noundef nonnull align 4 dereferenceable(12) %178)
  %179 = getelementptr inbounds %"class.Eigen::Matrix", ptr %178, i64 1
  %180 = icmp eq ptr %179, %176
  br i1 %180, label %181, label %177

181:                                              ; preds = %177
  %182 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 10
  call void @_ZN5Eigen6MatrixIfLi4ELi1ELi0ELi4ELi1EEC2Ev(ptr noundef nonnull align 16 dereferenceable(16) %182)
  %183 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 11
  store float 0.000000e+00, ptr %183, align 16, !tbaa !94
  %184 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 13
  store float 0.000000e+00, ptr %184, align 8, !tbaa !95
  %185 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 16
  store float 0.000000e+00, ptr %185, align 4, !tbaa !96
  %186 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 17
  store float 0.000000e+00, ptr %186, align 8, !tbaa !97
  %187 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 18
  store float 0x3FD28F5C20000000, ptr %187, align 4, !tbaa !98
  %188 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 19
  store float 0x3FD28F5C20000000, ptr %188, align 16, !tbaa !99
  %189 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 20
  store float 0x3FD70A3D80000000, ptr %189, align 4, !tbaa !100
  %190 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 21
  %191 = load i32, ptr %6, align 4, !tbaa !11
  store i32 %191, ptr %190, align 8, !tbaa !101
  %192 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 22
  store i32 14, ptr %192, align 4, !tbaa !102
  %193 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 24
  %194 = load float, ptr %5, align 4, !tbaa !9
  store float %194, ptr %193, align 4, !tbaa !103
  %195 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 26
  store i32 0, ptr %195, align 4, !tbaa !104
  %196 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 27
  %197 = getelementptr inbounds [4 x %"class.Eigen::Matrix"], ptr %196, i32 0, i32 0
  %198 = getelementptr inbounds %"class.Eigen::Matrix", ptr %197, i64 4
  br label %199

199:                                              ; preds = %199, %181
  %200 = phi ptr [ %197, %181 ], [ %201, %199 ]
  call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2Ev(ptr noundef nonnull align 4 dereferenceable(12) %200)
  %201 = getelementptr inbounds %"class.Eigen::Matrix", ptr %200, i64 1
  %202 = icmp eq ptr %201, %198
  br i1 %202, label %203, label %199

203:                                              ; preds = %199
  %204 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 28
  call void @_ZN5Eigen6MatrixIfLi4ELi1ELi0ELi4ELi1EEC2Ev(ptr noundef nonnull align 16 dereferenceable(16) %204)
  %205 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 29
  %206 = getelementptr inbounds [4 x %class.FootSwingTrajectory], ptr %205, i32 0, i32 0
  %207 = getelementptr inbounds %class.FootSwingTrajectory, ptr %206, i64 4
  br label %208

208:                                              ; preds = %208, %203
  %209 = phi ptr [ %206, %203 ], [ %210, %208 ]
  call void @_ZN19FootSwingTrajectoryIfEC2Ev(ptr noundef nonnull align 4 dereferenceable(64) %209)
  %210 = getelementptr inbounds %class.FootSwingTrajectory, ptr %209, i64 1
  %211 = icmp eq ptr %210, %207
  br i1 %211, label %212, label %208

212:                                              ; preds = %208
  %213 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 30
  %214 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 22
  %215 = load i32, ptr %214, align 4, !tbaa !102
  call void @llvm.lifetime.start.p0(i64 4, ptr %8) #7
  store i32 0, ptr %8, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %9) #7
  %216 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 22
  %217 = load i32, ptr %216, align 4, !tbaa !102
  %218 = sitofp i32 %217 to double
  %219 = fdiv double %218, 2.000000e+00
  %220 = fptosi double %219 to i32
  store i32 %220, ptr %9, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %10) #7
  %221 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 22
  %222 = load i32, ptr %221, align 4, !tbaa !102
  %223 = sitofp i32 %222 to double
  %224 = fdiv double %223, 2.000000e+00
  %225 = fptosi double %224 to i32
  store i32 %225, ptr %10, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %11) #7
  store i32 0, ptr %11, align 4, !tbaa !11
  call void @_ZN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEC2ERKiS3_S3_S3_(ptr noundef nonnull align 16 dereferenceable(16) %7, ptr noundef nonnull align 4 dereferenceable(4) %8, ptr noundef nonnull align 4 dereferenceable(4) %9, ptr noundef nonnull align 4 dereferenceable(4) %10, ptr noundef nonnull align 4 dereferenceable(4) %11)
  call void @llvm.lifetime.start.p0(i64 4, ptr %13) #7
  %226 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 22
  %227 = load i32, ptr %226, align 4, !tbaa !102
  %228 = sitofp i32 %227 to double
  %229 = fdiv double %228, 2.000000e+00
  %230 = fptosi double %229 to i32
  store i32 %230, ptr %13, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %14) #7
  %231 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 22
  %232 = load i32, ptr %231, align 4, !tbaa !102
  %233 = sitofp i32 %232 to double
  %234 = fdiv double %233, 2.000000e+00
  %235 = fptosi double %234 to i32
  store i32 %235, ptr %14, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %15) #7
  %236 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 22
  %237 = load i32, ptr %236, align 4, !tbaa !102
  %238 = sitofp i32 %237 to double
  %239 = fdiv double %238, 2.000000e+00
  %240 = fptosi double %239 to i32
  store i32 %240, ptr %15, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %16) #7
  %241 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 22
  %242 = load i32, ptr %241, align 4, !tbaa !102
  %243 = sitofp i32 %242 to double
  %244 = fdiv double %243, 2.000000e+00
  %245 = fptosi double %244 to i32
  store i32 %245, ptr %16, align 4, !tbaa !11
  call void @_ZN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEC2ERKiS3_S3_S3_(ptr noundef nonnull align 16 dereferenceable(16) %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, ptr noundef nonnull align 4 dereferenceable(4) %16)
  call void @llvm.lifetime.start.p0(i64 32, ptr %17) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %18) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef @.str, ptr noundef nonnull align 1 dereferenceable(1) %18)
          to label %246 unwind label %435

246:                                              ; preds = %212
  invoke void @_ZN18OffsetDurationGaitC1EiN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEES2_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 16 dereferenceable(124) %213, i32 noundef %215, ptr noundef %7, ptr noundef %12, ptr noundef nonnull align 8 dereferenceable(32) %17)
          to label %247 unwind label %439

247:                                              ; preds = %246
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %18) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %17) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %11) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %10) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %9) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #7
  %248 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 31
  %249 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 22
  %250 = load i32, ptr %249, align 4, !tbaa !102
  call void @llvm.lifetime.start.p0(i64 4, ptr %22) #7
  store i32 7, ptr %22, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %23) #7
  store i32 7, ptr %23, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %24) #7
  store i32 0, ptr %24, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %25) #7
  store i32 0, ptr %25, align 4, !tbaa !11
  invoke void @_ZN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEC2ERKiS3_S3_S3_(ptr noundef nonnull align 16 dereferenceable(16) %21, ptr noundef nonnull align 4 dereferenceable(4) %22, ptr noundef nonnull align 4 dereferenceable(4) %23, ptr noundef nonnull align 4 dereferenceable(4) %24, ptr noundef nonnull align 4 dereferenceable(4) %25)
          to label %251 unwind label %444

251:                                              ; preds = %247
  call void @llvm.lifetime.start.p0(i64 4, ptr %27) #7
  store i32 6, ptr %27, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %28) #7
  store i32 6, ptr %28, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %29) #7
  store i32 6, ptr %29, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %30) #7
  store i32 6, ptr %30, align 4, !tbaa !11
  invoke void @_ZN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEC2ERKiS3_S3_S3_(ptr noundef nonnull align 16 dereferenceable(16) %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, ptr noundef nonnull align 4 dereferenceable(4) %30)
          to label %252 unwind label %448

252:                                              ; preds = %251
  call void @llvm.lifetime.start.p0(i64 32, ptr %31) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %32) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %32) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %31, ptr noundef @.str.4, ptr noundef nonnull align 1 dereferenceable(1) %32)
          to label %253 unwind label %452

253:                                              ; preds = %252
  invoke void @_ZN18OffsetDurationGaitC1EiN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEES2_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 16 dereferenceable(124) %248, i32 noundef %250, ptr noundef %21, ptr noundef %26, ptr noundef nonnull align 8 dereferenceable(32) %31)
          to label %254 unwind label %456

254:                                              ; preds = %253
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %32) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %32) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %31) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %30) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #7
  %255 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 32
  %256 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 22
  %257 = load i32, ptr %256, align 4, !tbaa !102
  call void @llvm.lifetime.start.p0(i64 4, ptr %34) #7
  store i32 0, ptr %34, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %35) #7
  store i32 0, ptr %35, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %36) #7
  store i32 0, ptr %36, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %37) #7
  store i32 0, ptr %37, align 4, !tbaa !11
  invoke 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)
          to label %258 unwind label %463

258:                                              ; preds = %254
  call void @llvm.lifetime.start.p0(i64 4, ptr %39) #7
  store i32 6, ptr %39, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %40) #7
  store i32 6, ptr %40, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %41) #7
  store i32 6, ptr %41, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %42) #7
  store i32 6, ptr %42, align 4, !tbaa !11
  invoke 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)
          to label %259 unwind label %467

259:                                              ; preds = %258
  call void @llvm.lifetime.start.p0(i64 32, ptr %43) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %44) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %44) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %43, ptr noundef @.str.5, ptr noundef nonnull align 1 dereferenceable(1) %44)
          to label %260 unwind label %471

260:                                              ; preds = %259
  invoke void @_ZN18OffsetDurationGaitC1EiN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEES2_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 16 dereferenceable(124) %255, i32 noundef %257, ptr noundef %33, ptr noundef %38, ptr noundef nonnull align 8 dereferenceable(32) %43)
          to label %261 unwind label %475

261:                                              ; preds = %260
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %44) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %44) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %43) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #7
  %262 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 33
  %263 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 22
  %264 = load i32, ptr %263, align 4, !tbaa !102
  call void @llvm.lifetime.start.p0(i64 4, ptr %46) #7
  store i32 0, ptr %46, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %47) #7
  store i32 0, ptr %47, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %48) #7
  store i32 0, ptr %48, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %49) #7
  store i32 0, ptr %49, align 4, !tbaa !11
  invoke 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)
          to label %265 unwind label %482

265:                                              ; preds = %261
  call void @llvm.lifetime.start.p0(i64 4, ptr %51) #7
  store i32 3, ptr %51, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %52) #7
  store i32 3, ptr %52, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %53) #7
  store i32 3, ptr %53, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %54) #7
  store i32 3, ptr %54, align 4, !tbaa !11
  invoke 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)
          to label %266 unwind label %486

266:                                              ; preds = %265
  call void @llvm.lifetime.start.p0(i64 32, ptr %55) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %56) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %56) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %55, ptr noundef @.str.6, ptr noundef nonnull align 1 dereferenceable(1) %56)
          to label %267 unwind label %490

267:                                              ; preds = %266
  invoke void @_ZN18OffsetDurationGaitC1EiN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEES2_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 16 dereferenceable(124) %262, i32 noundef %264, ptr noundef %45, ptr noundef %50, ptr noundef nonnull align 8 dereferenceable(32) %55)
          to label %268 unwind label %494

268:                                              ; preds = %267
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %56) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %56) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %55) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %54) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %53) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %52) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %51) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %49) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %47) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #7
  %269 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 34
  %270 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 22
  %271 = load i32, ptr %270, align 4, !tbaa !102
  call void @llvm.lifetime.start.p0(i64 4, ptr %58) #7
  store i32 0, ptr %58, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %59) #7
  store i32 4, ptr %59, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %60) #7
  store i32 7, ptr %60, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %61) #7
  store i32 11, ptr %61, align 4, !tbaa !11
  invoke 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)
          to label %272 unwind label %501

272:                                              ; preds = %268
  call void @llvm.lifetime.start.p0(i64 4, ptr %63) #7
  store i32 7, ptr %63, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %64) #7
  store i32 7, ptr %64, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %65) #7
  store i32 7, ptr %65, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %66) #7
  store i32 7, ptr %66, align 4, !tbaa !11
  invoke 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)
          to label %273 unwind label %505

273:                                              ; preds = %272
  call void @llvm.lifetime.start.p0(i64 32, ptr %67) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %68) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %68) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %67, ptr noundef @.str.7, ptr noundef nonnull align 1 dereferenceable(1) %68)
          to label %274 unwind label %509

274:                                              ; preds = %273
  invoke void @_ZN18OffsetDurationGaitC1EiN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEES2_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 16 dereferenceable(124) %269, i32 noundef %271, ptr noundef %57, ptr noundef %62, ptr noundef nonnull align 8 dereferenceable(32) %67)
          to label %275 unwind label %513

275:                                              ; preds = %274
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %68) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %68) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %67) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %65) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %64) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %60) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #7
  %276 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 35
  %277 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 22
  %278 = load i32, ptr %277, align 4, !tbaa !102
  call void @llvm.lifetime.start.p0(i64 4, ptr %70) #7
  store i32 0, ptr %70, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %71) #7
  store i32 0, ptr %71, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %72) #7
  store i32 0, ptr %72, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %73) #7
  store i32 0, ptr %73, align 4, !tbaa !11
  invoke 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)
          to label %279 unwind label %520

279:                                              ; preds = %275
  call void @llvm.lifetime.start.p0(i64 4, ptr %75) #7
  store i32 14, ptr %75, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %76) #7
  store i32 14, ptr %76, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %77) #7
  store i32 14, ptr %77, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %78) #7
  store i32 14, ptr %78, align 4, !tbaa !11
  invoke 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)
          to label %280 unwind label %524

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

281:                                              ; preds = %280
  invoke void @_ZN18OffsetDurationGaitC1EiN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEES2_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 16 dereferenceable(124) %276, i32 noundef %278, ptr noundef %69, ptr noundef %74, ptr noundef nonnull align 8 dereferenceable(32) %79)
          to label %282 unwind label %532

282:                                              ; preds = %281
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %80) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %80) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %79) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %78) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %77) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %76) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %75) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %73) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %72) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %71) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %70) #7
  %283 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 36
  %284 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 22
  %285 = load i32, ptr %284, align 4, !tbaa !102
  call void @llvm.lifetime.start.p0(i64 4, ptr %82) #7
  store i32 0, ptr %82, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %83) #7
  store i32 7, ptr %83, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %84) #7
  store i32 7, ptr %84, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %85) #7
  store i32 0, ptr %85, align 4, !tbaa !11
  invoke 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)
          to label %286 unwind label %539

286:                                              ; preds = %282
  call void @llvm.lifetime.start.p0(i64 4, ptr %87) #7
  store i32 6, ptr %87, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %88) #7
  store i32 6, ptr %88, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %89) #7
  store i32 6, ptr %89, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %90) #7
  store i32 6, ptr %90, align 4, !tbaa !11
  invoke 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)
          to label %287 unwind label %543

287:                                              ; preds = %286
  call void @llvm.lifetime.start.p0(i64 32, ptr %91) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %92) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %92) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %91, ptr noundef @.str.9, ptr noundef nonnull align 1 dereferenceable(1) %92)
          to label %288 unwind label %547

288:                                              ; preds = %287
  invoke void @_ZN18OffsetDurationGaitC1EiN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEES2_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 16 dereferenceable(124) %283, i32 noundef %285, ptr noundef %81, ptr noundef %86, ptr noundef nonnull align 8 dereferenceable(32) %91)
          to label %289 unwind label %551

289:                                              ; preds = %288
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %91) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %92) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %92) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %91) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %90) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %89) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %88) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %87) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %85) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %84) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %83) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %82) #7
  %290 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 37
  %291 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 22
  %292 = load i32, ptr %291, align 4, !tbaa !102
  call void @llvm.lifetime.start.p0(i64 4, ptr %94) #7
  store i32 0, ptr %94, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %95) #7
  %293 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 22
  %294 = load i32, ptr %293, align 4, !tbaa !102
  %295 = sitofp i32 %294 to double
  %296 = fdiv double %295, 2.000000e+00
  %297 = fptosi double %296 to i32
  store i32 %297, ptr %95, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %96) #7
  %298 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 22
  %299 = load i32, ptr %298, align 4, !tbaa !102
  %300 = sitofp i32 %299 to double
  %301 = fdiv double %300, 4.000000e+00
  %302 = fptosi double %301 to i32
  store i32 %302, ptr %96, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %97) #7
  %303 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 22
  %304 = load i32, ptr %303, align 4, !tbaa !102
  %305 = sitofp i32 %304 to double
  %306 = fmul double 3.000000e+00, %305
  %307 = fdiv double %306, 4.000000e+00
  %308 = fptosi double %307 to i32
  store i32 %308, ptr %97, align 4, !tbaa !11
  invoke void @_ZN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEC2ERKiS3_S3_S3_(ptr noundef nonnull align 16 dereferenceable(16) %93, ptr noundef nonnull align 4 dereferenceable(4) %94, ptr noundef nonnull align 4 dereferenceable(4) %95, ptr noundef nonnull align 4 dereferenceable(4) %96, ptr noundef nonnull align 4 dereferenceable(4) %97)
          to label %309 unwind label %558

309:                                              ; preds = %289
  call void @llvm.lifetime.start.p0(i64 4, ptr %99) #7
  %310 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 22
  %311 = load i32, ptr %310, align 4, !tbaa !102
  %312 = sitofp i32 %311 to double
  %313 = fmul double 3.000000e+00, %312
  %314 = fdiv double %313, 4.000000e+00
  %315 = fptosi double %314 to i32
  store i32 %315, ptr %99, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %100) #7
  %316 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 22
  %317 = load i32, ptr %316, align 4, !tbaa !102
  %318 = sitofp i32 %317 to double
  %319 = fmul double 3.000000e+00, %318
  %320 = fdiv double %319, 4.000000e+00
  %321 = fptosi double %320 to i32
  store i32 %321, ptr %100, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %101) #7
  %322 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 22
  %323 = load i32, ptr %322, align 4, !tbaa !102
  %324 = sitofp i32 %323 to double
  %325 = fmul double 3.000000e+00, %324
  %326 = fdiv double %325, 4.000000e+00
  %327 = fptosi double %326 to i32
  store i32 %327, ptr %101, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %102) #7
  %328 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 22
  %329 = load i32, ptr %328, align 4, !tbaa !102
  %330 = sitofp i32 %329 to double
  %331 = fmul double 3.000000e+00, %330
  %332 = fdiv double %331, 4.000000e+00
  %333 = fptosi double %332 to i32
  store i32 %333, ptr %102, align 4, !tbaa !11
  invoke void @_ZN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEC2ERKiS3_S3_S3_(ptr noundef nonnull align 16 dereferenceable(16) %98, ptr noundef nonnull align 4 dereferenceable(4) %99, ptr noundef nonnull align 4 dereferenceable(4) %100, ptr noundef nonnull align 4 dereferenceable(4) %101, ptr noundef nonnull align 4 dereferenceable(4) %102)
          to label %334 unwind label %562

334:                                              ; preds = %309
  call void @llvm.lifetime.start.p0(i64 32, ptr %103) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %104) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %104) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %103, ptr noundef @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %104)
          to label %335 unwind label %566

335:                                              ; preds = %334
  invoke void @_ZN18OffsetDurationGaitC1EiN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEES2_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 16 dereferenceable(124) %290, i32 noundef %292, ptr noundef %93, ptr noundef %98, ptr noundef nonnull align 8 dereferenceable(32) %103)
          to label %336 unwind label %570

336:                                              ; preds = %335
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %103) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %104) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %104) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %103) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %102) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %101) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %100) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %99) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %97) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %96) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %95) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %94) #7
  %337 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 38
  %338 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 22
  %339 = load i32, ptr %338, align 4, !tbaa !102
  call void @llvm.lifetime.start.p0(i64 4, ptr %106) #7
  store i32 0, ptr %106, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %107) #7
  store i32 7, ptr %107, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %108) #7
  store i32 7, ptr %108, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %109) #7
  store i32 0, ptr %109, align 4, !tbaa !11
  invoke void @_ZN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEC2ERKiS3_S3_S3_(ptr noundef nonnull align 16 dereferenceable(16) %105, ptr noundef nonnull align 4 dereferenceable(4) %106, ptr noundef nonnull align 4 dereferenceable(4) %107, ptr noundef nonnull align 4 dereferenceable(4) %108, ptr noundef nonnull align 4 dereferenceable(4) %109)
          to label %340 unwind label %577

340:                                              ; preds = %336
  call void @llvm.lifetime.start.p0(i64 4, ptr %111) #7
  store i32 10, ptr %111, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %112) #7
  store i32 10, ptr %112, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %113) #7
  store i32 10, ptr %113, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %114) #7
  store i32 10, ptr %114, align 4, !tbaa !11
  invoke void @_ZN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEC2ERKiS3_S3_S3_(ptr noundef nonnull align 16 dereferenceable(16) %110, ptr noundef nonnull align 4 dereferenceable(4) %111, ptr noundef nonnull align 4 dereferenceable(4) %112, ptr noundef nonnull align 4 dereferenceable(4) %113, ptr noundef nonnull align 4 dereferenceable(4) %114)
          to label %341 unwind label %581

341:                                              ; preds = %340
  call void @llvm.lifetime.start.p0(i64 32, ptr %115) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %116) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %116) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %115, ptr noundef @.str.11, ptr noundef nonnull align 1 dereferenceable(1) %116)
          to label %342 unwind label %585

342:                                              ; preds = %341
  invoke void @_ZN18OffsetDurationGaitC1EiN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEES2_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 16 dereferenceable(124) %337, i32 noundef %339, ptr noundef %105, ptr noundef %110, ptr noundef nonnull align 8 dereferenceable(32) %115)
          to label %343 unwind label %589

343:                                              ; preds = %342
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %115) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %116) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %116) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %115) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %114) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %113) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %112) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %111) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %109) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %108) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %107) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %106) #7
  %344 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 39
  %345 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 22
  %346 = load i32, ptr %345, align 4, !tbaa !102
  call void @llvm.lifetime.start.p0(i64 4, ptr %118) #7
  store i32 7, ptr %118, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %119) #7
  store i32 0, ptr %119, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %120) #7
  store i32 7, ptr %120, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %121) #7
  store i32 0, ptr %121, align 4, !tbaa !11
  invoke void @_ZN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEC2ERKiS3_S3_S3_(ptr noundef nonnull align 16 dereferenceable(16) %117, ptr noundef nonnull align 4 dereferenceable(4) %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)
          to label %347 unwind label %596

347:                                              ; preds = %343
  call void @llvm.lifetime.start.p0(i64 4, ptr %123) #7
  store i32 7, ptr %123, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %124) #7
  store i32 7, ptr %124, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %125) #7
  store i32 7, ptr %125, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %126) #7
  store i32 7, ptr %126, align 4, !tbaa !11
  invoke void @_ZN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEC2ERKiS3_S3_S3_(ptr noundef nonnull align 16 dereferenceable(16) %122, ptr noundef nonnull align 4 dereferenceable(4) %123, ptr noundef nonnull align 4 dereferenceable(4) %124, ptr noundef nonnull align 4 dereferenceable(4) %125, ptr noundef nonnull align 4 dereferenceable(4) %126)
          to label %348 unwind label %600

348:                                              ; preds = %347
  call void @llvm.lifetime.start.p0(i64 32, ptr %127) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %128) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %128) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %127, ptr noundef @.str.12, ptr noundef nonnull align 1 dereferenceable(1) %128)
          to label %349 unwind label %604

349:                                              ; preds = %348
  invoke void @_ZN18OffsetDurationGaitC1EiN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEES2_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 16 dereferenceable(124) %344, i32 noundef %346, ptr noundef %117, ptr noundef %122, ptr noundef nonnull align 8 dereferenceable(32) %127)
          to label %350 unwind label %608

350:                                              ; preds = %349
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %127) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %128) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %128) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %127) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %126) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %125) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %124) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %123) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %121) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %120) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %119) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %118) #7
  %351 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 40
  %352 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 22
  %353 = load i32, ptr %352, align 4, !tbaa !102
  call void @llvm.lifetime.start.p0(i64 4, ptr %130) #7
  store i32 0, ptr %130, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %131) #7
  store i32 0, ptr %131, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %132) #7
  store i32 0, ptr %132, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %133) #7
  store i32 0, ptr %133, align 4, !tbaa !11
  invoke void @_ZN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEC2ERKiS3_S3_S3_(ptr noundef nonnull align 16 dereferenceable(16) %129, ptr noundef nonnull align 4 dereferenceable(4) %130, ptr noundef nonnull align 4 dereferenceable(4) %131, ptr noundef nonnull align 4 dereferenceable(4) %132, ptr noundef nonnull align 4 dereferenceable(4) %133)
          to label %354 unwind label %615

354:                                              ; preds = %350
  call void @llvm.lifetime.start.p0(i64 4, ptr %135) #7
  store i32 14, ptr %135, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %136) #7
  store i32 14, ptr %136, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %137) #7
  store i32 14, ptr %137, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %138) #7
  store i32 14, ptr %138, align 4, !tbaa !11
  invoke void @_ZN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEC2ERKiS3_S3_S3_(ptr noundef nonnull align 16 dereferenceable(16) %134, ptr noundef nonnull align 4 dereferenceable(4) %135, ptr noundef nonnull align 4 dereferenceable(4) %136, ptr noundef nonnull align 4 dereferenceable(4) %137, ptr noundef nonnull align 4 dereferenceable(4) %138)
          to label %355 unwind label %619

355:                                              ; preds = %354
  call void @llvm.lifetime.start.p0(i64 32, ptr %139) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %140) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %140) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %139, ptr noundef @.str.13, ptr noundef nonnull align 1 dereferenceable(1) %140)
          to label %356 unwind label %623

356:                                              ; preds = %355
  invoke void @_ZN18OffsetDurationGaitC1EiN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEES2_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 16 dereferenceable(124) %351, i32 noundef %353, ptr noundef %129, ptr noundef %134, ptr noundef nonnull align 8 dereferenceable(32) %139)
          to label %357 unwind label %627

357:                                              ; preds = %356
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %139) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %140) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %140) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %139) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %138) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %137) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %136) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %135) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %133) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %132) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %131) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %130) #7
  %358 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 41
  invoke void @_ZN5Eigen6MatrixIfLi3ELi3ELi0ELi3ELi3EEC2Ev(ptr noundef nonnull align 4 dereferenceable(36) %358)
          to label %359 unwind label %634

359:                                              ; preds = %357
  %360 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 42
  invoke void @_ZN5Eigen6MatrixIfLi3ELi3ELi0ELi3ELi3EEC2Ev(ptr noundef nonnull align 4 dereferenceable(36) %360)
          to label %361 unwind label %634

361:                                              ; preds = %359
  %362 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 43
  invoke void @_ZN5Eigen6MatrixIfLi3ELi3ELi0ELi3ELi3EEC2Ev(ptr noundef nonnull align 4 dereferenceable(36) %362)
          to label %363 unwind label %634

363:                                              ; preds = %361
  %364 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 44
  invoke void @_ZN5Eigen6MatrixIfLi3ELi3ELi0ELi3ELi3EEC2Ev(ptr noundef nonnull align 4 dereferenceable(36) %364)
          to label %365 unwind label %634

365:                                              ; preds = %363
  %366 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 45
  invoke void @_ZN5Eigen6MatrixIfLi3ELi3ELi0ELi3ELi3EEC2Ev(ptr noundef nonnull align 4 dereferenceable(36) %366)
          to label %367 unwind label %634

367:                                              ; preds = %365
  %368 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 46
  store i8 1, ptr %368, align 4, !tbaa !105
  %369 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 52
  invoke void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2Ev(ptr noundef nonnull align 4 dereferenceable(12) %369)
          to label %370 unwind label %634

370:                                              ; preds = %367
  %371 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 53
  invoke void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2Ev(ptr noundef nonnull align 4 dereferenceable(12) %371)
          to label %372 unwind label %634

372:                                              ; preds = %370
  %373 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 54
  invoke void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2Ev(ptr noundef nonnull align 4 dereferenceable(12) %373)
          to label %374 unwind label %634

374:                                              ; preds = %372
  %375 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 55
  store float 0.000000e+00, ptr %375, align 16, !tbaa !106
  %376 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 56
  %377 = getelementptr inbounds [4 x %"class.Eigen::Matrix"], ptr %376, i32 0, i32 0
  %378 = getelementptr inbounds %"class.Eigen::Matrix", ptr %377, i64 4
  br label %379

379:                                              ; preds = %381, %374
  %380 = phi ptr [ %377, %374 ], [ %382, %381 ]
  invoke void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2Ev(ptr noundef nonnull align 4 dereferenceable(12) %380)
          to label %381 unwind label %634

381:                                              ; preds = %379
  %382 = getelementptr inbounds %"class.Eigen::Matrix", ptr %380, i64 1
  %383 = icmp eq ptr %382, %378
  br i1 %383, label %384, label %379

384:                                              ; preds = %381
  %385 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 58
  invoke void @_ZN11CMPC_ResultIfEC2Ev(ptr noundef nonnull align 16 dereferenceable(880) %385)
          to label %386 unwind label %634

386:                                              ; preds = %384
  %387 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 60
  store float 0.000000e+00, ptr %387, align 16, !tbaa !107
  %388 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 61
  call void @_ZN9CMPC_JumpC2Ev(ptr noundef nonnull align 4 dereferenceable(16) %388) #7
  %389 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 62
  invoke void @_ZNSt6vectorIN5Eigen6MatrixIdLi12ELi1ELi0ELi12ELi1EEENS0_17aligned_allocatorIS2_EEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %389)
          to label %390 unwind label %634

390:                                              ; preds = %386
  %391 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 63
  invoke void @_ZN10SparseCMPCC1Ev(ptr noundef nonnull align 16 dereferenceable(964) %391)
          to label %392 unwind label %638

392:                                              ; preds = %390
  %393 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 24
  %394 = load float, ptr %393, align 4, !tbaa !103
  %395 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 21
  %396 = load i32, ptr %395, align 8, !tbaa !101
  %397 = sitofp i32 %396 to float
  %398 = fmul float %394, %397
  %399 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 25
  store float %398, ptr %399, align 8, !tbaa !108
  %400 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 21
  %401 = load i32, ptr %400, align 8, !tbaa !101
  %402 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 23
  store i32 %401, ptr %402, align 16, !tbaa !109
  %403 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 24
  %404 = load float, ptr %403, align 4, !tbaa !103
  %405 = fpext float %404 to double
  %406 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 21
  %407 = load i32, ptr %406, align 8, !tbaa !101
  %408 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 25
  %409 = load float, ptr %408, align 8, !tbaa !108
  %410 = fpext float %409 to double
  %411 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.14, double noundef %405, i32 noundef %407, double noundef %410)
          to label %412 unwind label %642

412:                                              ; preds = %392
  %413 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 54
  %414 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %413, i64 noundef 0)
          to label %415 unwind label %642

415:                                              ; preds = %412
  store float 0.000000e+00, ptr %414, align 4, !tbaa !9
  %416 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 54
  %417 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %416, i64 noundef 1)
          to label %418 unwind label %642

418:                                              ; preds = %415
  store float 0.000000e+00, ptr %417, align 4, !tbaa !9
  %419 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 54
  %420 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %419, i64 noundef 2)
          to label %421 unwind label %642

421:                                              ; preds = %418
  store float 0.000000e+00, ptr %420, align 4, !tbaa !9
  %422 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 53
  %423 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %422, i64 noundef 0)
          to label %424 unwind label %642

424:                                              ; preds = %421
  store float 0.000000e+00, ptr %423, align 4, !tbaa !9
  %425 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 53
  %426 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %425, i64 noundef 1)
          to label %427 unwind label %642

427:                                              ; preds = %424
  store float 0.000000e+00, ptr %426, align 4, !tbaa !9
  %428 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 53
  %429 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %428, i64 noundef 2)
          to label %430 unwind label %642

430:                                              ; preds = %427
  store float 0.000000e+00, ptr %429, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %141) #7
  store i32 0, ptr %141, align 4, !tbaa !11
  br label %431

431:                                              ; preds = %651, %430
  %432 = load i32, ptr %141, align 4, !tbaa !11
  %433 = icmp slt i32 %432, 4
  br i1 %433, label %646, label %434

434:                                              ; preds = %431
  call void @llvm.lifetime.end.p0(i64 4, ptr %141) #7
  br label %654

435:                                              ; preds = %212
  %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 = %246
  %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) %17) #7
  br label %443

443:                                              ; preds = %439, %435
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %18) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %17) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %11) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %10) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %9) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #7
  br label %697

444:                                              ; preds = %247
  %445 = landingpad { ptr, i32 }
          cleanup
  %446 = extractvalue { ptr, i32 } %445, 0
  store ptr %446, ptr %19, align 8
  %447 = extractvalue { ptr, i32 } %445, 1
  store i32 %447, ptr %20, align 4
  br label %462

448:                                              ; preds = %251
  %449 = landingpad { ptr, i32 }
          cleanup
  %450 = extractvalue { ptr, i32 } %449, 0
  store ptr %450, ptr %19, align 8
  %451 = extractvalue { ptr, i32 } %449, 1
  store i32 %451, ptr %20, align 4
  br label %461

452:                                              ; preds = %252
  %453 = landingpad { ptr, i32 }
          cleanup
  %454 = extractvalue { ptr, i32 } %453, 0
  store ptr %454, ptr %19, align 8
  %455 = extractvalue { ptr, i32 } %453, 1
  store i32 %455, ptr %20, align 4
  br label %460

456:                                              ; preds = %253
  %457 = landingpad { ptr, i32 }
          cleanup
  %458 = extractvalue { ptr, i32 } %457, 0
  store ptr %458, ptr %19, align 8
  %459 = extractvalue { ptr, i32 } %457, 1
  store i32 %459, ptr %20, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #7
  br label %460

460:                                              ; preds = %456, %452
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %32) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %32) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %31) #7
  br label %461

461:                                              ; preds = %460, %448
  call void @llvm.lifetime.end.p0(i64 4, ptr %30) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #7
  br label %462

462:                                              ; preds = %461, %444
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #7
  br label %696

463:                                              ; preds = %254
  %464 = landingpad { ptr, i32 }
          cleanup
  %465 = extractvalue { ptr, i32 } %464, 0
  store ptr %465, ptr %19, align 8
  %466 = extractvalue { ptr, i32 } %464, 1
  store i32 %466, ptr %20, align 4
  br label %481

467:                                              ; preds = %258
  %468 = landingpad { ptr, i32 }
          cleanup
  %469 = extractvalue { ptr, i32 } %468, 0
  store ptr %469, ptr %19, align 8
  %470 = extractvalue { ptr, i32 } %468, 1
  store i32 %470, ptr %20, align 4
  br label %480

471:                                              ; preds = %259
  %472 = landingpad { ptr, i32 }
          cleanup
  %473 = extractvalue { ptr, i32 } %472, 0
  store ptr %473, ptr %19, align 8
  %474 = extractvalue { ptr, i32 } %472, 1
  store i32 %474, ptr %20, align 4
  br label %479

475:                                              ; preds = %260
  %476 = landingpad { ptr, i32 }
          cleanup
  %477 = extractvalue { ptr, i32 } %476, 0
  store ptr %477, ptr %19, align 8
  %478 = extractvalue { ptr, i32 } %476, 1
  store i32 %478, ptr %20, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #7
  br label %479

479:                                              ; preds = %475, %471
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %44) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %44) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %43) #7
  br label %480

480:                                              ; preds = %479, %467
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #7
  br label %481

481:                                              ; preds = %480, %463
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #7
  br label %695

482:                                              ; preds = %261
  %483 = landingpad { ptr, i32 }
          cleanup
  %484 = extractvalue { ptr, i32 } %483, 0
  store ptr %484, ptr %19, align 8
  %485 = extractvalue { ptr, i32 } %483, 1
  store i32 %485, ptr %20, align 4
  br label %500

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

490:                                              ; preds = %266
  %491 = landingpad { ptr, i32 }
          cleanup
  %492 = extractvalue { ptr, i32 } %491, 0
  store ptr %492, ptr %19, align 8
  %493 = extractvalue { ptr, i32 } %491, 1
  store i32 %493, ptr %20, align 4
  br label %498

494:                                              ; preds = %267
  %495 = landingpad { ptr, i32 }
          cleanup
  %496 = extractvalue { ptr, i32 } %495, 0
  store ptr %496, ptr %19, align 8
  %497 = extractvalue { ptr, i32 } %495, 1
  store i32 %497, ptr %20, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #7
  br label %498

498:                                              ; preds = %494, %490
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %56) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %56) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %55) #7
  br label %499

499:                                              ; preds = %498, %486
  call void @llvm.lifetime.end.p0(i64 4, ptr %54) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %53) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %52) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %51) #7
  br label %500

500:                                              ; preds = %499, %482
  call void @llvm.lifetime.end.p0(i64 4, ptr %49) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %47) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #7
  br label %694

501:                                              ; preds = %268
  %502 = landingpad { ptr, i32 }
          cleanup
  %503 = extractvalue { ptr, i32 } %502, 0
  store ptr %503, ptr %19, align 8
  %504 = extractvalue { ptr, i32 } %502, 1
  store i32 %504, ptr %20, align 4
  br label %519

505:                                              ; preds = %272
  %506 = landingpad { ptr, i32 }
          cleanup
  %507 = extractvalue { ptr, i32 } %506, 0
  store ptr %507, ptr %19, align 8
  %508 = extractvalue { ptr, i32 } %506, 1
  store i32 %508, ptr %20, align 4
  br label %518

509:                                              ; preds = %273
  %510 = landingpad { ptr, i32 }
          cleanup
  %511 = extractvalue { ptr, i32 } %510, 0
  store ptr %511, ptr %19, align 8
  %512 = extractvalue { ptr, i32 } %510, 1
  store i32 %512, ptr %20, align 4
  br label %517

513:                                              ; preds = %274
  %514 = landingpad { ptr, i32 }
          cleanup
  %515 = extractvalue { ptr, i32 } %514, 0
  store ptr %515, ptr %19, align 8
  %516 = extractvalue { ptr, i32 } %514, 1
  store i32 %516, ptr %20, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #7
  br label %517

517:                                              ; preds = %513, %509
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %68) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %68) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %67) #7
  br label %518

518:                                              ; preds = %517, %505
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %65) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %64) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #7
  br label %519

519:                                              ; preds = %518, %501
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %60) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #7
  br label %693

520:                                              ; preds = %275
  %521 = landingpad { ptr, i32 }
          cleanup
  %522 = extractvalue { ptr, i32 } %521, 0
  store ptr %522, ptr %19, align 8
  %523 = extractvalue { ptr, i32 } %521, 1
  store i32 %523, ptr %20, align 4
  br label %538

524:                                              ; preds = %279
  %525 = landingpad { ptr, i32 }
          cleanup
  %526 = extractvalue { ptr, i32 } %525, 0
  store ptr %526, ptr %19, align 8
  %527 = extractvalue { ptr, i32 } %525, 1
  store i32 %527, ptr %20, align 4
  br label %537

528:                                              ; preds = %280
  %529 = landingpad { ptr, i32 }
          cleanup
  %530 = extractvalue { ptr, i32 } %529, 0
  store ptr %530, ptr %19, align 8
  %531 = extractvalue { ptr, i32 } %529, 1
  store i32 %531, ptr %20, align 4
  br label %536

532:                                              ; preds = %281
  %533 = landingpad { ptr, i32 }
          cleanup
  %534 = extractvalue { ptr, i32 } %533, 0
  store ptr %534, ptr %19, align 8
  %535 = extractvalue { ptr, i32 } %533, 1
  store i32 %535, ptr %20, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #7
  br label %536

536:                                              ; preds = %532, %528
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %80) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %80) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %79) #7
  br label %537

537:                                              ; preds = %536, %524
  call void @llvm.lifetime.end.p0(i64 4, ptr %78) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %77) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %76) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %75) #7
  br label %538

538:                                              ; preds = %537, %520
  call void @llvm.lifetime.end.p0(i64 4, ptr %73) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %72) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %71) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %70) #7
  br label %692

539:                                              ; preds = %282
  %540 = landingpad { ptr, i32 }
          cleanup
  %541 = extractvalue { ptr, i32 } %540, 0
  store ptr %541, ptr %19, align 8
  %542 = extractvalue { ptr, i32 } %540, 1
  store i32 %542, ptr %20, align 4
  br label %557

543:                                              ; preds = %286
  %544 = landingpad { ptr, i32 }
          cleanup
  %545 = extractvalue { ptr, i32 } %544, 0
  store ptr %545, ptr %19, align 8
  %546 = extractvalue { ptr, i32 } %544, 1
  store i32 %546, ptr %20, align 4
  br label %556

547:                                              ; preds = %287
  %548 = landingpad { ptr, i32 }
          cleanup
  %549 = extractvalue { ptr, i32 } %548, 0
  store ptr %549, ptr %19, align 8
  %550 = extractvalue { ptr, i32 } %548, 1
  store i32 %550, ptr %20, align 4
  br label %555

551:                                              ; preds = %288
  %552 = landingpad { ptr, i32 }
          cleanup
  %553 = extractvalue { ptr, i32 } %552, 0
  store ptr %553, ptr %19, align 8
  %554 = extractvalue { ptr, i32 } %552, 1
  store i32 %554, ptr %20, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %91) #7
  br label %555

555:                                              ; preds = %551, %547
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %92) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %92) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %91) #7
  br label %556

556:                                              ; preds = %555, %543
  call void @llvm.lifetime.end.p0(i64 4, ptr %90) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %89) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %88) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %87) #7
  br label %557

557:                                              ; preds = %556, %539
  call void @llvm.lifetime.end.p0(i64 4, ptr %85) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %84) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %83) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %82) #7
  br label %691

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

562:                                              ; preds = %309
  %563 = landingpad { ptr, i32 }
          cleanup
  %564 = extractvalue { ptr, i32 } %563, 0
  store ptr %564, ptr %19, align 8
  %565 = extractvalue { ptr, i32 } %563, 1
  store i32 %565, ptr %20, align 4
  br label %575

566:                                              ; preds = %334
  %567 = landingpad { ptr, i32 }
          cleanup
  %568 = extractvalue { ptr, i32 } %567, 0
  store ptr %568, ptr %19, align 8
  %569 = extractvalue { ptr, i32 } %567, 1
  store i32 %569, ptr %20, align 4
  br label %574

570:                                              ; preds = %335
  %571 = landingpad { ptr, i32 }
          cleanup
  %572 = extractvalue { ptr, i32 } %571, 0
  store ptr %572, ptr %19, align 8
  %573 = extractvalue { ptr, i32 } %571, 1
  store i32 %573, ptr %20, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %103) #7
  br label %574

574:                                              ; preds = %570, %566
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %104) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %104) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %103) #7
  br label %575

575:                                              ; preds = %574, %562
  call void @llvm.lifetime.end.p0(i64 4, ptr %102) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %101) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %100) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %99) #7
  br label %576

576:                                              ; preds = %575, %558
  call void @llvm.lifetime.end.p0(i64 4, ptr %97) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %96) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %95) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %94) #7
  br label %690

577:                                              ; preds = %336
  %578 = landingpad { ptr, i32 }
          cleanup
  %579 = extractvalue { ptr, i32 } %578, 0
  store ptr %579, ptr %19, align 8
  %580 = extractvalue { ptr, i32 } %578, 1
  store i32 %580, ptr %20, align 4
  br label %595

581:                                              ; preds = %340
  %582 = landingpad { ptr, i32 }
          cleanup
  %583 = extractvalue { ptr, i32 } %582, 0
  store ptr %583, ptr %19, align 8
  %584 = extractvalue { ptr, i32 } %582, 1
  store i32 %584, ptr %20, align 4
  br label %594

585:                                              ; preds = %341
  %586 = landingpad { ptr, i32 }
          cleanup
  %587 = extractvalue { ptr, i32 } %586, 0
  store ptr %587, ptr %19, align 8
  %588 = extractvalue { ptr, i32 } %586, 1
  store i32 %588, ptr %20, align 4
  br label %593

589:                                              ; preds = %342
  %590 = landingpad { ptr, i32 }
          cleanup
  %591 = extractvalue { ptr, i32 } %590, 0
  store ptr %591, ptr %19, align 8
  %592 = extractvalue { ptr, i32 } %590, 1
  store i32 %592, ptr %20, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %115) #7
  br label %593

593:                                              ; preds = %589, %585
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %116) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %116) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %115) #7
  br label %594

594:                                              ; preds = %593, %581
  call void @llvm.lifetime.end.p0(i64 4, ptr %114) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %113) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %112) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %111) #7
  br label %595

595:                                              ; preds = %594, %577
  call void @llvm.lifetime.end.p0(i64 4, ptr %109) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %108) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %107) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %106) #7
  br label %689

596:                                              ; preds = %343
  %597 = landingpad { ptr, i32 }
          cleanup
  %598 = extractvalue { ptr, i32 } %597, 0
  store ptr %598, ptr %19, align 8
  %599 = extractvalue { ptr, i32 } %597, 1
  store i32 %599, ptr %20, align 4
  br label %614

600:                                              ; preds = %347
  %601 = landingpad { ptr, i32 }
          cleanup
  %602 = extractvalue { ptr, i32 } %601, 0
  store ptr %602, ptr %19, align 8
  %603 = extractvalue { ptr, i32 } %601, 1
  store i32 %603, ptr %20, align 4
  br label %613

604:                                              ; preds = %348
  %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 = %349
  %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) %127) #7
  br label %612

612:                                              ; preds = %608, %604
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %128) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %128) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %127) #7
  br label %613

613:                                              ; preds = %612, %600
  call void @llvm.lifetime.end.p0(i64 4, ptr %126) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %125) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %124) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %123) #7
  br label %614

614:                                              ; preds = %613, %596
  call void @llvm.lifetime.end.p0(i64 4, ptr %121) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %120) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %119) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %118) #7
  br label %688

615:                                              ; preds = %350
  %616 = landingpad { ptr, i32 }
          cleanup
  %617 = extractvalue { ptr, i32 } %616, 0
  store ptr %617, ptr %19, align 8
  %618 = extractvalue { ptr, i32 } %616, 1
  store i32 %618, ptr %20, align 4
  br label %633

619:                                              ; preds = %354
  %620 = landingpad { ptr, i32 }
          cleanup
  %621 = extractvalue { ptr, i32 } %620, 0
  store ptr %621, ptr %19, align 8
  %622 = extractvalue { ptr, i32 } %620, 1
  store i32 %622, ptr %20, align 4
  br label %632

623:                                              ; preds = %355
  %624 = landingpad { ptr, i32 }
          cleanup
  %625 = extractvalue { ptr, i32 } %624, 0
  store ptr %625, ptr %19, align 8
  %626 = extractvalue { ptr, i32 } %624, 1
  store i32 %626, ptr %20, align 4
  br label %631

627:                                              ; preds = %356
  %628 = landingpad { ptr, i32 }
          cleanup
  %629 = extractvalue { ptr, i32 } %628, 0
  store ptr %629, ptr %19, align 8
  %630 = extractvalue { ptr, i32 } %628, 1
  store i32 %630, ptr %20, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %139) #7
  br label %631

631:                                              ; preds = %627, %623
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %140) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %140) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %139) #7
  br label %632

632:                                              ; preds = %631, %619
  call void @llvm.lifetime.end.p0(i64 4, ptr %138) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %137) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %136) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %135) #7
  br label %633

633:                                              ; preds = %632, %615
  call void @llvm.lifetime.end.p0(i64 4, ptr %133) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %132) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %131) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %130) #7
  br label %687

634:                                              ; preds = %386, %384, %379, %372, %370, %367, %365, %363, %361, %359, %357
  %635 = landingpad { ptr, i32 }
          cleanup
  %636 = extractvalue { ptr, i32 } %635, 0
  store ptr %636, ptr %19, align 8
  %637 = extractvalue { ptr, i32 } %635, 1
  store i32 %637, ptr %20, align 4
  br label %686

638:                                              ; preds = %390
  %639 = landingpad { ptr, i32 }
          cleanup
  %640 = extractvalue { ptr, i32 } %639, 0
  store ptr %640, ptr %19, align 8
  %641 = extractvalue { ptr, i32 } %639, 1
  store i32 %641, ptr %20, align 4
  br label %685

642:                                              ; preds = %661, %658, %655, %654, %427, %424, %421, %418, %415, %412, %392
  %643 = landingpad { ptr, i32 }
          cleanup
  %644 = extractvalue { ptr, i32 } %643, 0
  store ptr %644, ptr %19, align 8
  %645 = extractvalue { ptr, i32 } %643, 1
  store i32 %645, ptr %20, align 4
  br label %684

646:                                              ; preds = %431
  %647 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 47
  %648 = load i32, ptr %141, align 4, !tbaa !11
  %649 = sext i32 %648 to i64
  %650 = getelementptr inbounds [4 x i8], ptr %647, i64 0, i64 %649
  store i8 1, ptr %650, align 1, !tbaa !110
  br label %651

651:                                              ; preds = %646
  %652 = load i32, ptr %141, align 4, !tbaa !11
  %653 = add nsw i32 %652, 1
  store i32 %653, ptr %141, align 4, !tbaa !11
  br label %431, !llvm.loop !111

654:                                              ; preds = %434
  invoke void @_ZN19ConvexMPCLocomotion13initSparseMPCEv(ptr noundef nonnull align 16 dereferenceable(7184) %143)
          to label %655 unwind label %642

655:                                              ; preds = %654
  %656 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 1
  %657 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZN5Eigen9DenseBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEEE7setZeroEv(ptr noundef nonnull align 1 dereferenceable(1) %656)
          to label %658 unwind label %642

658:                                              ; preds = %655
  %659 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 2
  %660 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZN5Eigen9DenseBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEEE7setZeroEv(ptr noundef nonnull align 1 dereferenceable(1) %659)
          to label %661 unwind label %642

661:                                              ; preds = %658
  %662 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 3
  %663 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZN5Eigen9DenseBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEEE7setZeroEv(ptr noundef nonnull align 1 dereferenceable(1) %662)
          to label %664 unwind label %642

664:                                              ; preds = %661
  call void @llvm.lifetime.start.p0(i64 4, ptr %142) #7
  store i32 0, ptr %142, align 4, !tbaa !11
  br label %665

665:                                              ; preds = %676, %664
  %666 = load i32, ptr %142, align 4, !tbaa !11
  %667 = icmp slt i32 %666, 4
  br i1 %667, label %669, label %668

668:                                              ; preds = %665
  call void @llvm.lifetime.end.p0(i64 4, ptr %142) #7
  br label %683

669:                                              ; preds = %665
  %670 = getelementptr inbounds %class.ConvexMPCLocomotion, ptr %143, i32 0, i32 27
  %671 = load i32, ptr %142, align 4, !tbaa !11
  %672 = sext i32 %671 to i64
  %673 = getelementptr inbounds [4 x %"class.Eigen::Matrix"], ptr %670, i64 0, i64 %672
  %674 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZN5Eigen9DenseBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEEE7setZeroEv(ptr noundef nonnull align 1 dereferenceable(1) %673)
          to label %675 unwind label %679

675:                                              ; preds = %669
  br label %676

676:                                              ; preds = %675
  %677 = load i32, ptr %142, align 4, !tbaa !11
  %678 = add nsw i32 %677, 1
  store i32 %678, ptr %142, align 4, !tbaa !11
  br label %665, !llvm.loop !113

679:                                              ; preds = %669
  %680 = landingpad { ptr, i32 }
          cleanup
  %681 = extractvalue { ptr, i32 } %680, 0
  store ptr %681, ptr %19, align 8
  %682 = extractvalue { ptr, i32 } %680, 1
  store i32 %682, ptr %20, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %142) #7
  br label %684

683:                                              ; preds = %668
  ret void

684:                                              ; preds = %679, %642
  call void @_ZN10SparseCMPCD2Ev(ptr noundef nonnull align 16 dereferenceable(964) %391) #7
  br label %685

685:                                              ; preds = %684, %638
  call void @_ZNSt6vectorIN5Eigen6MatrixIdLi12ELi1ELi0ELi12ELi1EEENS0_17aligned_allocatorIS2_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %389) #7
  br label %686

686:                                              ; preds = %685, %634
  call void @_ZN18OffsetDurationGaitD1Ev(ptr noundef nonnull align 16 dereferenceable(124) %351) #7
  br label %687

687:                                              ; preds = %686, %633
  call void @_ZN18OffsetDurationGaitD1Ev(ptr noundef nonnull align 16 dereferenceable(124) %344) #7
  br label %688

688:                                              ; preds = %687, %614
  call void @_ZN18OffsetDurationGaitD1Ev(ptr noundef nonnull align 16 dereferenceable(124) %337) #7
  br label %689

689:                                              ; preds = %688, %595
  call void @_ZN18OffsetDurationGaitD1Ev(ptr noundef nonnull align 16 dereferenceable(124) %290) #7
  br label %690

690:                                              ; preds = %689, %576
  call void @_ZN18OffsetDurationGaitD1Ev(ptr noundef nonnull align 16 dereferenceable(124) %283) #7
  br label %691

691:                                              ; preds = %690, %557
  call void @_ZN18OffsetDurationGaitD1Ev(ptr noundef nonnull align 16 dereferenceable(124) %276) #7
  br label %692

692:                                              ; preds = %691, %538
  call void @_ZN18OffsetDurationGaitD1Ev(ptr noundef nonnull align 16 dereferenceable(124) %269) #7
  br label %693

693:                                              ; preds = %692, %519
  call void @_ZN18OffsetDurationGaitD1Ev(ptr noundef nonnull align 16 dereferenceable(124) %262) #7
  br label %694

694:                                              ; preds = %693, %500
  call void @_ZN18OffsetDurationGaitD1Ev(ptr noundef nonnull align 16 dereferenceable(124) %255) #7
  br label %695

695:                                              ; preds = %694, %481
  call void @_ZN18OffsetDurationGaitD1Ev(ptr noundef nonnull align 16 dereferenceable(124) %248) #7
  br label %696

696:                                              ; preds = %695, %462
  call void @_ZN18OffsetDurationGaitD1Ev(ptr noundef nonnull align 16 dereferenceable(124) %213) #7
  br label %697

697:                                              ; preds = %696, %443
  %698 = load ptr, ptr %19, align 8
  %699 = load i32, ptr %20, align 4
  %700 = insertvalue { ptr, i32 } poison, ptr %698, 0
  %701 = insertvalue { ptr, i32 } %700, i32 %699, 1
  resume { ptr, i32 } %701
}

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

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #3 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 #0 align 2

declare i32 @__gxx_personality_v0(...)

declare void @_ZN18OffsetDurationGaitC1EiN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEES2_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 16 dereferenceable(124), i32 noundef, ptr noundef, ptr noundef, ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #4

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5Eigen6MatrixIfLi3ELi3ELi0ELi3ELi3EEC2Ev(ptr noundef nonnull align 4 dereferenceable(36)) unnamed_addr #1 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN11CMPC_ResultIfEC2Ev(ptr noundef nonnull align 16 dereferenceable(880)) unnamed_addr #1 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN9CMPC_JumpC2Ev(ptr noundef nonnull align 4 dereferenceable(16)) unnamed_addr #5 align 2

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

declare void @_ZN10SparseCMPCC1Ev(ptr noundef nonnull align 16 dereferenceable(964)) unnamed_addr #4

declare i32 @printf(ptr noundef, ...) #4

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN19ConvexMPCLocomotion13initSparseMPCEv(ptr noundef nonnull align 16 dereferenceable(7184)) #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)) #1 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN10SparseCMPCD2Ev(ptr noundef nonnull align 16 dereferenceable(964)) unnamed_addr #5 align 2

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

; Function Attrs: nounwind
declare void @_ZN18OffsetDurationGaitD1Ev(ptr noundef nonnull align 16 dereferenceable(124)) unnamed_addr #6

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

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"float", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"int", !7, i64 0}
!13 = !{!14, !15, i64 0}
!14 = !{!"_ZTS19ConvexMPCLocomotion", !15, i64 0, !16, i64 4, !16, i64 16, !16, i64 28, !16, i64 40, !16, i64 52, !7, i64 64, !7, i64 112, !7, i64 160, !7, i64 208, !20, i64 256, !10, i64 272, !10, i64 276, !10, i64 280, !10, i64 284, !10, i64 288, !10, i64 292, !10, i64 296, !10, i64 300, !10, i64 304, !10, i64 308, !12, i64 312, !12, i64 316, !12, i64 320, !10, i64 324, !10, i64 328, !12, i64 332, !7, i64 336, !20, 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, !15, i64 2244, !7, i64 2245, !7, i64 2252, !7, i64 2268, !12, i64 2292, !12, i64 2296, !16, i64 2300, !16, i64 2312, !16, i64 2324, !10, i64 2336, !7, i64 2340, !39, i64 2400, !7, i64 3280, !10, i64 6160, !40, i64 6164, !41, i64 6184, !45, i64 6208}
!15 = !{!"bool", !7, i64 0}
!16 = !{!"_ZTSN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEE", !17, i64 0}
!17 = !{!"_ZTSN5Eigen15PlainObjectBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEEEE", !18, i64 0}
!18 = !{!"_ZTSN5Eigen12DenseStorageIfLi3ELi3ELi1ELi0EEE", !19, i64 0}
!19 = !{!"_ZTSN5Eigen8internal11plain_arrayIfLi3ELi0ELi0EEE", !7, i64 0}
!20 = !{!"_ZTSN5Eigen6MatrixIfLi4ELi1ELi0ELi4ELi1EEE", !21, i64 0}
!21 = !{!"_ZTSN5Eigen15PlainObjectBaseINS_6MatrixIfLi4ELi1ELi0ELi4ELi1EEEEE", !22, i64 0}
!22 = !{!"_ZTSN5Eigen12DenseStorageIfLi4ELi4ELi1ELi0EEE", !23, i64 0}
!23 = !{!"_ZTSN5Eigen8internal11plain_arrayIfLi4ELi0ELi16EEE", !7, i64 0}
!24 = !{!"_ZTS18OffsetDurationGait", !25, i64 0, !6, i64 40, !29, i64 48, !29, i64 64, !33, i64 80, !33, i64 96, !12, i64 112, !12, i64 116, !10, 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", !22, 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, !20, i64 864}
!40 = !{!"_ZTS9CMPC_Jump", !15, i64 0, !15, i64 1, !15, i64 2, !12, i64 4, !12, i64 8, !12, 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, !12, i64 952, !12, i64 956, !12, 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 272}
!95 = !{!14, !10, i64 280}
!96 = !{!14, !10, i64 292}
!97 = !{!14, !10, i64 296}
!98 = !{!14, !10, i64 300}
!99 = !{!14, !10, i64 304}
!100 = !{!14, !10, i64 308}
!101 = !{!14, !12, i64 312}
!102 = !{!14, !12, i64 316}
!103 = !{!14, !10, i64 324}
!104 = !{!14, !12, i64 332}
!105 = !{!14, !15, i64 2244}
!106 = !{!14, !10, i64 2336}
!107 = !{!14, !10, i64 6160}
!108 = !{!14, !10, i64 328}
!109 = !{!14, !12, i64 320}
!110 = !{!15, !15, i64 0}
!111 = distinct !{!111, !112}
!112 = !{!"llvm.loop.mustprogress"}
!113 = distinct !{!113, !112}


; 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.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 }

@.str = external hidden unnamed_addr constant [9 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [51 x i8], align 1

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN19ConvexMPCLocomotionC2Efi(ptr noundef nonnull align 16 dereferenceable(7184) %0, float noundef %1, i32 noundef %2) unnamed_addr #0 align 2 personality ptr @__gxx_personality_v0 {
.preheader148.preheader:
  %3 = alloca %"class.Eigen::Matrix.128", align 16
  %4 = alloca i32, align 4
  %5 = alloca i32, align 4
  %6 = alloca i32, align 4
  %7 = alloca i32, align 4
  %8 = alloca %"class.Eigen::Matrix.128", align 16
  %9 = alloca i32, align 4
  %10 = alloca i32, align 4
  %11 = alloca i32, align 4
  %12 = alloca i32, align 4
  %13 = alloca %"class.std::__cxx11::basic_string", align 8
  %14 = alloca %"class.std::allocator", align 1
  %15 = alloca %"class.Eigen::Matrix.128", align 16
  %16 = alloca i32, align 4
  %17 = alloca i32, align 4
  %18 = alloca i32, align 4
  %19 = alloca i32, align 4
  %20 = alloca %"class.Eigen::Matrix.128", align 16
  %21 = alloca i32, align 4
  %22 = alloca i32, align 4
  %23 = alloca i32, align 4
  %24 = alloca i32, align 4
  %25 = alloca %"class.std::__cxx11::basic_string", align 8
  %26 = alloca %"class.std::allocator", align 1
  %27 = alloca %"class.Eigen::Matrix.128", align 16
  %28 = alloca i32, align 4
  %29 = alloca i32, align 4
  %30 = alloca i32, align 4
  %31 = alloca i32, align 4
  %32 = alloca %"class.Eigen::Matrix.128", align 16
  %33 = alloca i32, align 4
  %34 = alloca i32, align 4
  %35 = alloca i32, align 4
  %36 = alloca i32, align 4
  %37 = alloca %"class.std::__cxx11::basic_string", align 8
  %38 = alloca %"class.std::allocator", align 1
  %39 = alloca %"class.Eigen::Matrix.128", align 16
  %40 = alloca i32, align 4
  %41 = alloca i32, align 4
  %42 = alloca i32, align 4
  %43 = alloca i32, align 4
  %44 = alloca %"class.Eigen::Matrix.128", align 16
  %45 = alloca i32, align 4
  %46 = alloca i32, align 4
  %47 = alloca i32, align 4
  %48 = alloca i32, align 4
  %49 = alloca %"class.std::__cxx11::basic_string", align 8
  %50 = alloca %"class.std::allocator", align 1
  %51 = alloca %"class.Eigen::Matrix.128", align 16
  %52 = alloca i32, align 4
  %53 = alloca i32, align 4
  %54 = alloca i32, align 4
  %55 = alloca i32, align 4
  %56 = alloca %"class.Eigen::Matrix.128", align 16
  %57 = alloca i32, align 4
  %58 = alloca i32, align 4
  %59 = alloca i32, align 4
  %60 = alloca i32, align 4
  %61 = alloca %"class.std::__cxx11::basic_string", align 8
  %62 = alloca %"class.std::allocator", align 1
  %63 = alloca %"class.Eigen::Matrix.128", align 16
  %64 = alloca i32, align 4
  %65 = alloca i32, align 4
  %66 = alloca i32, align 4
  %67 = alloca i32, align 4
  %68 = alloca %"class.Eigen::Matrix.128", align 16
  %69 = alloca i32, align 4
  %70 = alloca i32, align 4
  %71 = alloca i32, align 4
  %72 = alloca i32, align 4
  %73 = alloca %"class.std::__cxx11::basic_string", align 8
  %74 = alloca %"class.std::allocator", align 1
  %75 = alloca %"class.Eigen::Matrix.128", align 16
  %76 = alloca i32, align 4
  %77 = alloca i32, align 4
  %78 = alloca i32, align 4
  %79 = alloca i32, align 4
  %80 = alloca %"class.Eigen::Matrix.128", align 16
  %81 = alloca i32, align 4
  %82 = alloca i32, align 4
  %83 = alloca i32, align 4
  %84 = alloca i32, align 4
  %85 = alloca %"class.std::__cxx11::basic_string", align 8
  %86 = alloca %"class.std::allocator", align 1
  %87 = alloca %"class.Eigen::Matrix.128", align 16
  %88 = alloca i32, align 4
  %89 = alloca i32, align 4
  %90 = alloca i32, align 4
  %91 = alloca i32, align 4
  %92 = alloca %"class.Eigen::Matrix.128", align 16
  %93 = alloca i32, align 4
  %94 = alloca i32, align 4
  %95 = alloca i32, align 4
  %96 = alloca i32, align 4
  %97 = alloca %"class.std::__cxx11::basic_string", align 8
  %98 = alloca %"class.std::allocator", align 1
  %99 = alloca %"class.Eigen::Matrix.128", align 16
  %100 = alloca i32, align 4
  %101 = alloca i32, align 4
  %102 = alloca i32, align 4
  %103 = alloca i32, align 4
  %104 = alloca %"class.Eigen::Matrix.128", align 16
  %105 = alloca i32, align 4
  %106 = alloca i32, align 4
  %107 = alloca i32, align 4
  %108 = alloca i32, align 4
  %109 = alloca %"class.std::__cxx11::basic_string", align 8
  %110 = alloca %"class.std::allocator", align 1
  %111 = alloca %"class.Eigen::Matrix.128", align 16
  %112 = alloca i32, align 4
  %113 = alloca i32, align 4
  %114 = alloca i32, align 4
  %115 = alloca i32, align 4
  %116 = alloca %"class.Eigen::Matrix.128", align 16
  %117 = alloca i32, align 4
  %118 = alloca i32, align 4
  %119 = alloca i32, align 4
  %120 = alloca i32, align 4
  %121 = alloca %"class.std::__cxx11::basic_string", align 8
  %122 = alloca %"class.std::allocator", align 1
  %123 = alloca %"class.Eigen::Matrix.128", align 16
  %124 = alloca i32, align 4
  %125 = alloca i32, align 4
  %126 = alloca i32, align 4
  %127 = alloca i32, align 4
  %128 = alloca %"class.Eigen::Matrix.128", align 16
  %129 = alloca i32, align 4
  %130 = alloca i32, align 4
  %131 = alloca i32, align 4
  %132 = alloca i32, align 4
  %133 = alloca %"class.std::__cxx11::basic_string", align 8
  %134 = alloca %"class.std::allocator", align 1
  store i8 0, ptr %0, align 16, !tbaa !5
  %135 = getelementptr inbounds i8, ptr %0, i64 4
  tail call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2Ev(ptr noundef nonnull align 4 dereferenceable(12) %135)
  %136 = getelementptr inbounds i8, ptr %0, i64 16
  tail call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2Ev(ptr noundef nonnull align 4 dereferenceable(12) %136)
  %137 = getelementptr inbounds i8, ptr %0, i64 28
  tail call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2Ev(ptr noundef nonnull align 4 dereferenceable(12) %137)
  %138 = getelementptr inbounds i8, ptr %0, i64 40
  tail call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2Ev(ptr noundef nonnull align 4 dereferenceable(12) %138)
  %139 = getelementptr inbounds i8, ptr %0, i64 52
  tail call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2Ev(ptr noundef nonnull align 4 dereferenceable(12) %139)
  %.ptr = getelementptr inbounds i8, ptr %0, i64 64
  tail call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2Ev(ptr noundef nonnull align 4 dereferenceable(12) %.ptr)
  %.ptr.1 = getelementptr inbounds i8, ptr %0, i64 76
  tail call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2Ev(ptr noundef nonnull align 4 dereferenceable(12) %.ptr.1)
  %.ptr.2 = getelementptr inbounds i8, ptr %0, i64 88
  tail call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2Ev(ptr noundef nonnull align 4 dereferenceable(12) %.ptr.2)
  %.ptr.3 = getelementptr inbounds i8, ptr %0, i64 100
  tail call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2Ev(ptr noundef nonnull align 4 dereferenceable(12) %.ptr.3)
  %.ptr62 = getelementptr inbounds i8, ptr %0, i64 112
  tail call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2Ev(ptr noundef nonnull align 4 dereferenceable(12) %.ptr62)
  %.ptr62.1 = getelementptr inbounds i8, ptr %0, i64 124
  tail call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2Ev(ptr noundef nonnull align 4 dereferenceable(12) %.ptr62.1)
  %.ptr62.2 = getelementptr inbounds i8, ptr %0, i64 136
  tail call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2Ev(ptr noundef nonnull align 4 dereferenceable(12) %.ptr62.2)
  %.ptr62.3 = getelementptr inbounds i8, ptr %0, i64 148
  tail call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2Ev(ptr noundef nonnull align 4 dereferenceable(12) %.ptr62.3)
  %.ptr67 = getelementptr inbounds i8, ptr %0, i64 160
  tail call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2Ev(ptr noundef nonnull align 4 dereferenceable(12) %.ptr67)
  %.ptr67.1 = getelementptr inbounds i8, ptr %0, i64 172
  tail call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2Ev(ptr noundef nonnull align 4 dereferenceable(12) %.ptr67.1)
  %.ptr67.2 = getelementptr inbounds i8, ptr %0, i64 184
  tail call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2Ev(ptr noundef nonnull align 4 dereferenceable(12) %.ptr67.2)
  %.ptr67.3 = getelementptr inbounds i8, ptr %0, i64 196
  tail call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2Ev(ptr noundef nonnull align 4 dereferenceable(12) %.ptr67.3)
  %.ptr72 = getelementptr inbounds i8, ptr %0, i64 208
  tail call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2Ev(ptr noundef nonnull align 4 dereferenceable(12) %.ptr72)
  %.ptr72.1 = getelementptr inbounds i8, ptr %0, i64 220
  tail call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2Ev(ptr noundef nonnull align 4 dereferenceable(12) %.ptr72.1)
  %.ptr72.2 = getelementptr inbounds i8, ptr %0, i64 232
  tail call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2Ev(ptr noundef nonnull align 4 dereferenceable(12) %.ptr72.2)
  %.ptr72.3 = getelementptr inbounds i8, ptr %0, i64 244
  tail call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2Ev(ptr noundef nonnull align 4 dereferenceable(12) %.ptr72.3)
  %140 = getelementptr inbounds i8, ptr %0, i64 256
  tail call void @_ZN5Eigen6MatrixIfLi4ELi1ELi0ELi4ELi1EEC2Ev(ptr noundef nonnull align 16 dereferenceable(16) %140)
  %141 = getelementptr inbounds i8, ptr %0, i64 272
  store float 0.000000e+00, ptr %141, align 16, !tbaa !91
  %142 = getelementptr inbounds i8, ptr %0, i64 280
  store float 0.000000e+00, ptr %142, align 8, !tbaa !92
  %143 = getelementptr inbounds i8, ptr %0, i64 292
  store <4 x float> <float 0.000000e+00, float 0.000000e+00, float 0x3FD28F5C20000000, float 0x3FD28F5C20000000>, ptr %143, align 4, !tbaa !93
  %144 = getelementptr inbounds i8, ptr %0, i64 308
  store float 0x3FD70A3D80000000, ptr %144, align 4, !tbaa !94
  %145 = getelementptr inbounds i8, ptr %0, i64 312
  store i32 %2, ptr %145, align 8, !tbaa !95
  %146 = getelementptr inbounds i8, ptr %0, i64 316
  store i32 14, ptr %146, align 4, !tbaa !96
  %147 = getelementptr inbounds i8, ptr %0, i64 324
  store float %1, ptr %147, align 4, !tbaa !97
  %148 = getelementptr inbounds i8, ptr %0, i64 332
  store i32 0, ptr %148, align 4, !tbaa !98
  %.ptr77 = getelementptr inbounds i8, ptr %0, i64 336
  tail call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2Ev(ptr noundef nonnull align 4 dereferenceable(12) %.ptr77)
  %.ptr77.1 = getelementptr inbounds i8, ptr %0, i64 348
  tail call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2Ev(ptr noundef nonnull align 4 dereferenceable(12) %.ptr77.1)
  %.ptr77.2 = getelementptr inbounds i8, ptr %0, i64 360
  tail call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2Ev(ptr noundef nonnull align 4 dereferenceable(12) %.ptr77.2)
  %.ptr77.3 = getelementptr inbounds i8, ptr %0, i64 372
  tail call void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2Ev(ptr noundef nonnull align 4 dereferenceable(12) %.ptr77.3)
  %149 = getelementptr inbounds i8, ptr %0, i64 384
  tail call void @_ZN5Eigen6MatrixIfLi4ELi1ELi0ELi4ELi1EEC2Ev(ptr noundef nonnull align 16 dereferenceable(16) %149)
  %.ptr82 = getelementptr inbounds i8, ptr %0, i64 400
  tail call void @_ZN19FootSwingTrajectoryIfEC2Ev(ptr noundef nonnull align 4 dereferenceable(64) %.ptr82)
  %.ptr82.1 = getelementptr inbounds i8, ptr %0, i64 464
  tail call void @_ZN19FootSwingTrajectoryIfEC2Ev(ptr noundef nonnull align 4 dereferenceable(64) %.ptr82.1)
  %.ptr82.2 = getelementptr inbounds i8, ptr %0, i64 528
  tail call void @_ZN19FootSwingTrajectoryIfEC2Ev(ptr noundef nonnull align 4 dereferenceable(64) %.ptr82.2)
  %.ptr82.3 = getelementptr inbounds i8, ptr %0, i64 592
  tail call void @_ZN19FootSwingTrajectoryIfEC2Ev(ptr noundef nonnull align 4 dereferenceable(64) %.ptr82.3)
  %150 = getelementptr inbounds i8, ptr %0, i64 656
  %151 = load i32, ptr %146, align 4, !tbaa !96
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %4) #8
  store i32 0, ptr %4, align 4, !tbaa !99
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %5) #8
  %152 = sitofp i32 %151 to double
  %153 = fmul double %152, 5.000000e-01
  %154 = fptosi double %153 to i32
  store i32 %154, ptr %5, align 4, !tbaa !99
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %6) #8
  store i32 %154, ptr %6, align 4, !tbaa !99
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %7) #8
  store i32 0, ptr %7, align 4, !tbaa !99
  call void @_ZN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEC2ERKiS3_S3_S3_(ptr noundef nonnull align 16 dereferenceable(16) %3, ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull align 4 dereferenceable(4) %5, ptr noundef nonnull align 4 dereferenceable(4) %6, ptr noundef nonnull align 4 dereferenceable(4) %7)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %9) #8
  %155 = load i32, ptr %146, align 4, !tbaa !96
  %156 = sitofp i32 %155 to double
  %157 = fmul double %156, 5.000000e-01
  %158 = fptosi double %157 to i32
  store i32 %158, ptr %9, align 4, !tbaa !99
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %10) #8
  store i32 %158, ptr %10, align 4, !tbaa !99
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %11) #8
  store i32 %158, ptr %11, align 4, !tbaa !99
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %12) #8
  store i32 %158, ptr %12, align 4, !tbaa !99
  call void @_ZN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEC2ERKiS3_S3_S3_(ptr noundef nonnull align 16 dereferenceable(16) %8, ptr noundef nonnull align 4 dereferenceable(4) %9, ptr noundef nonnull align 4 dereferenceable(4) %10, ptr noundef nonnull align 4 dereferenceable(4) %11, ptr noundef nonnull align 4 dereferenceable(4) %12)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %13) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %14) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %14) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull @.str, ptr noundef nonnull align 1 dereferenceable(1) %14)
          to label %159 unwind label %286

159:                                              ; preds = %.preheader148.preheader
  invoke void @_ZN18OffsetDurationGaitC1EiN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEES2_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 16 dereferenceable(124) %150, i32 noundef %151, ptr noundef nonnull %3, ptr noundef nonnull %8, ptr noundef nonnull align 8 dereferenceable(32) %13)
          to label %160 unwind label %288

160:                                              ; preds = %159
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %14) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %14) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %12) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %11) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %10) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %9) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %7) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %6) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %5) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %4) #8
  %161 = getelementptr inbounds i8, ptr %0, i64 784
  %162 = load i32, ptr %146, align 4, !tbaa !96
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %16) #8
  store i32 7, ptr %16, align 4, !tbaa !99
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %17) #8
  store i32 7, ptr %17, align 4, !tbaa !99
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %18) #8
  store i32 0, ptr %18, align 4, !tbaa !99
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %19) #8
  store i32 0, ptr %19, align 4, !tbaa !99
  invoke void @_ZN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEC2ERKiS3_S3_S3_(ptr noundef nonnull align 16 dereferenceable(16) %15, ptr noundef nonnull align 4 dereferenceable(4) %16, ptr noundef nonnull align 4 dereferenceable(4) %17, ptr noundef nonnull align 4 dereferenceable(4) %18, ptr noundef nonnull align 4 dereferenceable(4) %19)
          to label %163 unwind label %291

163:                                              ; preds = %160
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %21) #8
  store i32 6, ptr %21, align 4, !tbaa !99
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %22) #8
  store i32 6, ptr %22, align 4, !tbaa !99
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %23) #8
  store i32 6, ptr %23, align 4, !tbaa !99
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %24) #8
  store i32 6, ptr %24, align 4, !tbaa !99
  invoke void @_ZN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEC2ERKiS3_S3_S3_(ptr noundef nonnull align 16 dereferenceable(16) %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, ptr noundef nonnull align 4 dereferenceable(4) %24)
          to label %164 unwind label %293

164:                                              ; preds = %163
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %25) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %26) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %26) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull @.str.4, ptr noundef nonnull align 1 dereferenceable(1) %26)
          to label %165 unwind label %295

165:                                              ; preds = %164
  invoke void @_ZN18OffsetDurationGaitC1EiN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEES2_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 16 dereferenceable(124) %161, i32 noundef %162, ptr noundef nonnull %15, ptr noundef nonnull %20, ptr noundef nonnull align 8 dereferenceable(32) %25)
          to label %166 unwind label %297

166:                                              ; preds = %165
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %26) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %26) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %25) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %24) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %23) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %22) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %21) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %19) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %18) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %17) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %16) #8
  %167 = getelementptr inbounds i8, ptr %0, i64 912
  %168 = load i32, ptr %146, align 4, !tbaa !96
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %28) #8
  store i32 0, ptr %28, align 4, !tbaa !99
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %29) #8
  store i32 0, ptr %29, align 4, !tbaa !99
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %30) #8
  store i32 0, ptr %30, align 4, !tbaa !99
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %31) #8
  store i32 0, ptr %31, align 4, !tbaa !99
  invoke void @_ZN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEC2ERKiS3_S3_S3_(ptr noundef nonnull align 16 dereferenceable(16) %27, ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull align 4 dereferenceable(4) %29, ptr noundef nonnull align 4 dereferenceable(4) %30, ptr noundef nonnull align 4 dereferenceable(4) %31)
          to label %169 unwind label %302

169:                                              ; preds = %166
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %33) #8
  store i32 6, ptr %33, align 4, !tbaa !99
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %34) #8
  store i32 6, ptr %34, align 4, !tbaa !99
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %35) #8
  store i32 6, ptr %35, align 4, !tbaa !99
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %36) #8
  store i32 6, ptr %36, align 4, !tbaa !99
  invoke void @_ZN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEC2ERKiS3_S3_S3_(ptr noundef nonnull align 16 dereferenceable(16) %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, ptr noundef nonnull align 4 dereferenceable(4) %36)
          to label %170 unwind label %304

170:                                              ; preds = %169
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %37) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %38) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %38) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %37, ptr noundef nonnull @.str.5, ptr noundef nonnull align 1 dereferenceable(1) %38)
          to label %171 unwind label %306

171:                                              ; preds = %170
  invoke void @_ZN18OffsetDurationGaitC1EiN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEES2_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 16 dereferenceable(124) %167, i32 noundef %168, ptr noundef nonnull %27, ptr noundef nonnull %32, ptr noundef nonnull align 8 dereferenceable(32) %37)
          to label %172 unwind label %308

172:                                              ; preds = %171
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %38) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %38) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %37) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %36) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %35) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %34) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %33) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %31) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %30) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %29) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %28) #8
  %173 = getelementptr inbounds i8, ptr %0, i64 1040
  %174 = load i32, ptr %146, align 4, !tbaa !96
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %40) #8
  store i32 0, ptr %40, align 4, !tbaa !99
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %41) #8
  store i32 0, ptr %41, align 4, !tbaa !99
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %42) #8
  store i32 0, ptr %42, align 4, !tbaa !99
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %43) #8
  store i32 0, ptr %43, align 4, !tbaa !99
  invoke void @_ZN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEC2ERKiS3_S3_S3_(ptr noundef nonnull align 16 dereferenceable(16) %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, ptr noundef nonnull align 4 dereferenceable(4) %43)
          to label %175 unwind label %313

175:                                              ; preds = %172
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %45) #8
  store i32 3, ptr %45, align 4, !tbaa !99
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %46) #8
  store i32 3, ptr %46, align 4, !tbaa !99
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %47) #8
  store i32 3, ptr %47, align 4, !tbaa !99
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %48) #8
  store i32 3, ptr %48, align 4, !tbaa !99
  invoke void @_ZN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEC2ERKiS3_S3_S3_(ptr noundef nonnull align 16 dereferenceable(16) %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, ptr noundef nonnull align 4 dereferenceable(4) %48)
          to label %176 unwind label %315

176:                                              ; preds = %175
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %49) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %50) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %50) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %49, ptr noundef nonnull @.str.6, ptr noundef nonnull align 1 dereferenceable(1) %50)
          to label %177 unwind label %317

177:                                              ; preds = %176
  invoke void @_ZN18OffsetDurationGaitC1EiN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEES2_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 16 dereferenceable(124) %173, i32 noundef %174, ptr noundef nonnull %39, ptr noundef nonnull %44, ptr noundef nonnull align 8 dereferenceable(32) %49)
          to label %178 unwind label %319

178:                                              ; preds = %177
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %50) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %50) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %49) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %48) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %47) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %46) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %45) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %43) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %42) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %41) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %40) #8
  %179 = getelementptr inbounds i8, ptr %0, i64 1168
  %180 = load i32, ptr %146, align 4, !tbaa !96
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %52) #8
  store i32 0, ptr %52, align 4, !tbaa !99
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %53) #8
  store i32 4, ptr %53, align 4, !tbaa !99
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %54) #8
  store i32 7, ptr %54, align 4, !tbaa !99
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %55) #8
  store i32 11, ptr %55, align 4, !tbaa !99
  invoke void @_ZN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEC2ERKiS3_S3_S3_(ptr noundef nonnull align 16 dereferenceable(16) %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, ptr noundef nonnull align 4 dereferenceable(4) %55)
          to label %181 unwind label %324

181:                                              ; preds = %178
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %57) #8
  store i32 7, ptr %57, align 4, !tbaa !99
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %58) #8
  store i32 7, ptr %58, align 4, !tbaa !99
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %59) #8
  store i32 7, ptr %59, align 4, !tbaa !99
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %60) #8
  store i32 7, ptr %60, align 4, !tbaa !99
  invoke void @_ZN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEC2ERKiS3_S3_S3_(ptr noundef nonnull align 16 dereferenceable(16) %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, ptr noundef nonnull align 4 dereferenceable(4) %60)
          to label %182 unwind label %326

182:                                              ; preds = %181
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %61) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %62) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %62) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %61, ptr noundef nonnull @.str.7, ptr noundef nonnull align 1 dereferenceable(1) %62)
          to label %183 unwind label %328

183:                                              ; preds = %182
  invoke void @_ZN18OffsetDurationGaitC1EiN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEES2_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 16 dereferenceable(124) %179, i32 noundef %180, ptr noundef nonnull %51, ptr noundef nonnull %56, ptr noundef nonnull align 8 dereferenceable(32) %61)
          to label %184 unwind label %330

184:                                              ; preds = %183
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %62) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %62) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %61) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %60) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %59) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %58) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %57) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %55) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %54) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %53) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %52) #8
  %185 = getelementptr inbounds i8, ptr %0, i64 1296
  %186 = load i32, ptr %146, align 4, !tbaa !96
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %64) #8
  store i32 0, ptr %64, align 4, !tbaa !99
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %65) #8
  store i32 0, ptr %65, align 4, !tbaa !99
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %66) #8
  store i32 0, ptr %66, align 4, !tbaa !99
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %67) #8
  store i32 0, ptr %67, align 4, !tbaa !99
  invoke void @_ZN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEC2ERKiS3_S3_S3_(ptr noundef nonnull align 16 dereferenceable(16) %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, ptr noundef nonnull align 4 dereferenceable(4) %67)
          to label %187 unwind label %335

187:                                              ; preds = %184
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %69) #8
  store i32 14, ptr %69, align 4, !tbaa !99
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %70) #8
  store i32 14, ptr %70, align 4, !tbaa !99
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %71) #8
  store i32 14, ptr %71, align 4, !tbaa !99
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %72) #8
  store i32 14, ptr %72, align 4, !tbaa !99
  invoke void @_ZN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEC2ERKiS3_S3_S3_(ptr noundef nonnull align 16 dereferenceable(16) %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, ptr noundef nonnull align 4 dereferenceable(4) %72)
          to label %188 unwind label %337

188:                                              ; preds = %187
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %73) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %74) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %74) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %73, ptr noundef nonnull @.str.8, ptr noundef nonnull align 1 dereferenceable(1) %74)
          to label %189 unwind label %339

189:                                              ; preds = %188
  invoke void @_ZN18OffsetDurationGaitC1EiN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEES2_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 16 dereferenceable(124) %185, i32 noundef %186, ptr noundef nonnull %63, ptr noundef nonnull %68, ptr noundef nonnull align 8 dereferenceable(32) %73)
          to label %190 unwind label %341

190:                                              ; preds = %189
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %74) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %74) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %73) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %72) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %71) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %70) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %69) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %67) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %66) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %65) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %64) #8
  %191 = getelementptr inbounds i8, ptr %0, i64 1424
  %192 = load i32, ptr %146, align 4, !tbaa !96
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %76) #8
  store i32 0, ptr %76, align 4, !tbaa !99
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %77) #8
  store i32 7, ptr %77, align 4, !tbaa !99
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %78) #8
  store i32 7, ptr %78, align 4, !tbaa !99
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %79) #8
  store i32 0, ptr %79, align 4, !tbaa !99
  invoke void @_ZN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEC2ERKiS3_S3_S3_(ptr noundef nonnull align 16 dereferenceable(16) %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, ptr noundef nonnull align 4 dereferenceable(4) %79)
          to label %193 unwind label %346

193:                                              ; preds = %190
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %81) #8
  store i32 6, ptr %81, align 4, !tbaa !99
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %82) #8
  store i32 6, ptr %82, align 4, !tbaa !99
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %83) #8
  store i32 6, ptr %83, align 4, !tbaa !99
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %84) #8
  store i32 6, ptr %84, align 4, !tbaa !99
  invoke void @_ZN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEC2ERKiS3_S3_S3_(ptr noundef nonnull align 16 dereferenceable(16) %80, ptr noundef nonnull align 4 dereferenceable(4) %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)
          to label %194 unwind label %348

194:                                              ; preds = %193
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %85) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %86) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %86) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %85, ptr noundef nonnull @.str.9, ptr noundef nonnull align 1 dereferenceable(1) %86)
          to label %195 unwind label %350

195:                                              ; preds = %194
  invoke void @_ZN18OffsetDurationGaitC1EiN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEES2_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 16 dereferenceable(124) %191, i32 noundef %192, ptr noundef nonnull %75, ptr noundef nonnull %80, ptr noundef nonnull align 8 dereferenceable(32) %85)
          to label %196 unwind label %352

196:                                              ; preds = %195
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %85) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %86) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %86) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %85) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %84) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %83) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %82) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %81) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %79) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %78) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %77) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %76) #8
  %197 = getelementptr inbounds i8, ptr %0, i64 1552
  %198 = load i32, ptr %146, align 4, !tbaa !96
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %88) #8
  store i32 0, ptr %88, align 4, !tbaa !99
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %89) #8
  %199 = sitofp i32 %198 to double
  %200 = fmul double %199, 5.000000e-01
  %201 = fptosi double %200 to i32
  store i32 %201, ptr %89, align 4, !tbaa !99
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %90) #8
  %202 = fmul double %199, 2.500000e-01
  %203 = fptosi double %202 to i32
  store i32 %203, ptr %90, align 4, !tbaa !99
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %91) #8
  %204 = fmul double %199, 3.000000e+00
  %205 = fmul double %204, 2.500000e-01
  %206 = fptosi double %205 to i32
  store i32 %206, ptr %91, align 4, !tbaa !99
  invoke void @_ZN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEC2ERKiS3_S3_S3_(ptr noundef nonnull align 16 dereferenceable(16) %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, ptr noundef nonnull align 4 dereferenceable(4) %91)
          to label %207 unwind label %357

207:                                              ; preds = %196
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %93) #8
  %208 = load i32, ptr %146, align 4, !tbaa !96
  %209 = sitofp i32 %208 to double
  %210 = fmul double %209, 3.000000e+00
  %211 = fmul double %210, 2.500000e-01
  %212 = fptosi double %211 to i32
  store i32 %212, ptr %93, align 4, !tbaa !99
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %94) #8
  store i32 %212, ptr %94, align 4, !tbaa !99
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %95) #8
  store i32 %212, ptr %95, align 4, !tbaa !99
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %96) #8
  store i32 %212, ptr %96, align 4, !tbaa !99
  invoke void @_ZN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEC2ERKiS3_S3_S3_(ptr noundef nonnull align 16 dereferenceable(16) %92, ptr noundef nonnull align 4 dereferenceable(4) %93, ptr noundef nonnull align 4 dereferenceable(4) %94, ptr noundef nonnull align 4 dereferenceable(4) %95, ptr noundef nonnull align 4 dereferenceable(4) %96)
          to label %213 unwind label %359

213:                                              ; preds = %207
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %97) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %98) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %98) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %97, ptr noundef nonnull @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %98)
          to label %214 unwind label %361

214:                                              ; preds = %213
  invoke void @_ZN18OffsetDurationGaitC1EiN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEES2_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 16 dereferenceable(124) %197, i32 noundef %198, ptr noundef nonnull %87, ptr noundef nonnull %92, ptr noundef nonnull align 8 dereferenceable(32) %97)
          to label %215 unwind label %363

215:                                              ; preds = %214
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %97) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %98) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %98) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %97) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %96) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %95) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %94) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %93) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %91) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %90) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %89) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %88) #8
  %216 = getelementptr inbounds i8, ptr %0, i64 1680
  %217 = load i32, ptr %146, align 4, !tbaa !96
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %100) #8
  store i32 0, ptr %100, align 4, !tbaa !99
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %101) #8
  store i32 7, ptr %101, align 4, !tbaa !99
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %102) #8
  store i32 7, ptr %102, align 4, !tbaa !99
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %103) #8
  store i32 0, ptr %103, align 4, !tbaa !99
  invoke void @_ZN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEC2ERKiS3_S3_S3_(ptr noundef nonnull align 16 dereferenceable(16) %99, ptr noundef nonnull align 4 dereferenceable(4) %100, ptr noundef nonnull align 4 dereferenceable(4) %101, ptr noundef nonnull align 4 dereferenceable(4) %102, ptr noundef nonnull align 4 dereferenceable(4) %103)
          to label %218 unwind label %368

218:                                              ; preds = %215
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %105) #8
  store i32 10, ptr %105, align 4, !tbaa !99
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %106) #8
  store i32 10, ptr %106, align 4, !tbaa !99
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %107) #8
  store i32 10, ptr %107, align 4, !tbaa !99
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %108) #8
  store i32 10, ptr %108, align 4, !tbaa !99
  invoke void @_ZN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEC2ERKiS3_S3_S3_(ptr noundef nonnull align 16 dereferenceable(16) %104, ptr noundef nonnull align 4 dereferenceable(4) %105, ptr noundef nonnull align 4 dereferenceable(4) %106, ptr noundef nonnull align 4 dereferenceable(4) %107, ptr noundef nonnull align 4 dereferenceable(4) %108)
          to label %219 unwind label %370

219:                                              ; preds = %218
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %109) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %110) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %110) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %109, ptr noundef nonnull @.str.11, ptr noundef nonnull align 1 dereferenceable(1) %110)
          to label %220 unwind label %372

220:                                              ; preds = %219
  invoke void @_ZN18OffsetDurationGaitC1EiN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEES2_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 16 dereferenceable(124) %216, i32 noundef %217, ptr noundef nonnull %99, ptr noundef nonnull %104, ptr noundef nonnull align 8 dereferenceable(32) %109)
          to label %221 unwind label %374

221:                                              ; preds = %220
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %109) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %110) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %110) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %109) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %108) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %107) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %106) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %105) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %103) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %102) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %101) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %100) #8
  %222 = getelementptr inbounds i8, ptr %0, i64 1808
  %223 = load i32, ptr %146, align 4, !tbaa !96
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %112) #8
  store i32 7, ptr %112, align 4, !tbaa !99
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %113) #8
  store i32 0, ptr %113, align 4, !tbaa !99
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %114) #8
  store i32 7, ptr %114, align 4, !tbaa !99
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %115) #8
  store i32 0, ptr %115, align 4, !tbaa !99
  invoke void @_ZN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEC2ERKiS3_S3_S3_(ptr noundef nonnull align 16 dereferenceable(16) %111, ptr noundef nonnull align 4 dereferenceable(4) %112, ptr noundef nonnull align 4 dereferenceable(4) %113, ptr noundef nonnull align 4 dereferenceable(4) %114, ptr noundef nonnull align 4 dereferenceable(4) %115)
          to label %224 unwind label %379

224:                                              ; preds = %221
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %117) #8
  store i32 7, ptr %117, align 4, !tbaa !99
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %118) #8
  store i32 7, ptr %118, align 4, !tbaa !99
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %119) #8
  store i32 7, ptr %119, align 4, !tbaa !99
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %120) #8
  store i32 7, ptr %120, align 4, !tbaa !99
  invoke void @_ZN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEC2ERKiS3_S3_S3_(ptr noundef nonnull align 16 dereferenceable(16) %116, ptr noundef nonnull align 4 dereferenceable(4) %117, ptr noundef nonnull align 4 dereferenceable(4) %118, ptr noundef nonnull align 4 dereferenceable(4) %119, ptr noundef nonnull align 4 dereferenceable(4) %120)
          to label %225 unwind label %381

225:                                              ; preds = %224
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %121) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %122) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %122) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %121, ptr noundef nonnull @.str.12, ptr noundef nonnull align 1 dereferenceable(1) %122)
          to label %226 unwind label %383

226:                                              ; preds = %225
  invoke void @_ZN18OffsetDurationGaitC1EiN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEES2_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 16 dereferenceable(124) %222, i32 noundef %223, ptr noundef nonnull %111, ptr noundef nonnull %116, ptr noundef nonnull align 8 dereferenceable(32) %121)
          to label %227 unwind label %385

227:                                              ; preds = %226
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %121) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %122) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %122) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %121) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %120) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %119) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %118) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %117) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %115) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %114) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %113) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %112) #8
  %228 = getelementptr inbounds i8, ptr %0, i64 1936
  %229 = load i32, ptr %146, align 4, !tbaa !96
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %124) #8
  store i32 0, ptr %124, align 4, !tbaa !99
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %125) #8
  store i32 0, ptr %125, align 4, !tbaa !99
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %126) #8
  store i32 0, ptr %126, align 4, !tbaa !99
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %127) #8
  store i32 0, ptr %127, align 4, !tbaa !99
  invoke void @_ZN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEC2ERKiS3_S3_S3_(ptr noundef nonnull align 16 dereferenceable(16) %123, ptr noundef nonnull align 4 dereferenceable(4) %124, ptr noundef nonnull align 4 dereferenceable(4) %125, ptr noundef nonnull align 4 dereferenceable(4) %126, ptr noundef nonnull align 4 dereferenceable(4) %127)
          to label %230 unwind label %390

230:                                              ; preds = %227
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %129) #8
  store i32 14, ptr %129, align 4, !tbaa !99
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %130) #8
  store i32 14, ptr %130, align 4, !tbaa !99
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %131) #8
  store i32 14, ptr %131, align 4, !tbaa !99
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %132) #8
  store i32 14, ptr %132, align 4, !tbaa !99
  invoke void @_ZN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEC2ERKiS3_S3_S3_(ptr noundef nonnull align 16 dereferenceable(16) %128, ptr noundef nonnull align 4 dereferenceable(4) %129, ptr noundef nonnull align 4 dereferenceable(4) %130, ptr noundef nonnull align 4 dereferenceable(4) %131, ptr noundef nonnull align 4 dereferenceable(4) %132)
          to label %231 unwind label %392

231:                                              ; preds = %230
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %133) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %134) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %134) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %133, ptr noundef nonnull @.str.13, ptr noundef nonnull align 1 dereferenceable(1) %134)
          to label %232 unwind label %394

232:                                              ; preds = %231
  invoke void @_ZN18OffsetDurationGaitC1EiN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEES2_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 16 dereferenceable(124) %228, i32 noundef %229, ptr noundef nonnull %123, ptr noundef nonnull %128, ptr noundef nonnull align 8 dereferenceable(32) %133)
          to label %233 unwind label %396

233:                                              ; preds = %232
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %133) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %134) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %134) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %133) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %132) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %131) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %130) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %129) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %127) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %126) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %125) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %124) #8
  %234 = getelementptr inbounds i8, ptr %0, i64 2064
  invoke void @_ZN5Eigen6MatrixIfLi3ELi3ELi0ELi3ELi3EEC2Ev(ptr noundef nonnull align 4 dereferenceable(36) %234)
          to label %235 unwind label %.loopexit.split-lp

235:                                              ; preds = %233
  %236 = getelementptr inbounds i8, ptr %0, i64 2100
  invoke void @_ZN5Eigen6MatrixIfLi3ELi3ELi0ELi3ELi3EEC2Ev(ptr noundef nonnull align 4 dereferenceable(36) %236)
          to label %237 unwind label %.loopexit.split-lp

237:                                              ; preds = %235
  %238 = getelementptr inbounds i8, ptr %0, i64 2136
  invoke void @_ZN5Eigen6MatrixIfLi3ELi3ELi0ELi3ELi3EEC2Ev(ptr noundef nonnull align 4 dereferenceable(36) %238)
          to label %239 unwind label %.loopexit.split-lp

239:                                              ; preds = %237
  %240 = getelementptr inbounds i8, ptr %0, i64 2172
  invoke void @_ZN5Eigen6MatrixIfLi3ELi3ELi0ELi3ELi3EEC2Ev(ptr noundef nonnull align 4 dereferenceable(36) %240)
          to label %241 unwind label %.loopexit.split-lp

241:                                              ; preds = %239
  %242 = getelementptr inbounds i8, ptr %0, i64 2208
  invoke void @_ZN5Eigen6MatrixIfLi3ELi3ELi0ELi3ELi3EEC2Ev(ptr noundef nonnull align 4 dereferenceable(36) %242)
          to label %243 unwind label %.loopexit.split-lp

243:                                              ; preds = %241
  %244 = getelementptr inbounds i8, ptr %0, i64 2244
  store i8 1, ptr %244, align 4, !tbaa !100
  %245 = getelementptr inbounds i8, ptr %0, i64 2300
  invoke void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2Ev(ptr noundef nonnull align 4 dereferenceable(12) %245)
          to label %246 unwind label %.loopexit.split-lp

246:                                              ; preds = %243
  %247 = getelementptr inbounds i8, ptr %0, i64 2312
  invoke void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2Ev(ptr noundef nonnull align 4 dereferenceable(12) %247)
          to label %248 unwind label %.loopexit.split-lp

248:                                              ; preds = %246
  %249 = getelementptr inbounds i8, ptr %0, i64 2324
  invoke void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2Ev(ptr noundef nonnull align 4 dereferenceable(12) %249)
          to label %250 unwind label %.loopexit.split-lp

250:                                              ; preds = %248
  %251 = getelementptr inbounds i8, ptr %0, i64 2336
  store float 0.000000e+00, ptr %251, align 16, !tbaa !101
  %.ptr128 = getelementptr inbounds i8, ptr %0, i64 2340
  invoke void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2Ev(ptr noundef nonnull align 4 dereferenceable(12) %.ptr128)
          to label %252 unwind label %.loopexit

252:                                              ; preds = %250
  %.ptr128.1 = getelementptr inbounds i8, ptr %0, i64 2352
  invoke void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2Ev(ptr noundef nonnull align 4 dereferenceable(12) %.ptr128.1)
          to label %253 unwind label %.loopexit

253:                                              ; preds = %252
  %.ptr128.2 = getelementptr inbounds i8, ptr %0, i64 2364
  invoke void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2Ev(ptr noundef nonnull align 4 dereferenceable(12) %.ptr128.2)
          to label %254 unwind label %.loopexit

254:                                              ; preds = %253
  %.ptr128.3 = getelementptr inbounds i8, ptr %0, i64 2376
  invoke void @_ZN5Eigen6MatrixIfLi3ELi1ELi0ELi3ELi1EEC2Ev(ptr noundef nonnull align 4 dereferenceable(12) %.ptr128.3)
          to label %255 unwind label %.loopexit

255:                                              ; preds = %254
  %256 = getelementptr inbounds i8, ptr %0, i64 2400
  invoke void @_ZN11CMPC_ResultIfEC2Ev(ptr noundef nonnull align 16 dereferenceable(880) %256)
          to label %257 unwind label %.loopexit.split-lp

257:                                              ; preds = %255
  %258 = getelementptr inbounds i8, ptr %0, i64 6160
  store float 0.000000e+00, ptr %258, align 16, !tbaa !102
  %259 = getelementptr inbounds i8, ptr %0, i64 6164
  call void @_ZN9CMPC_JumpC2Ev(ptr noundef nonnull align 4 dereferenceable(16) %259) #8
  %260 = getelementptr inbounds i8, ptr %0, i64 6184
  invoke void @_ZNSt6vectorIN5Eigen6MatrixIdLi12ELi1ELi0ELi12ELi1EEENS0_17aligned_allocatorIS2_EEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %260)
          to label %261 unwind label %.loopexit.split-lp

261:                                              ; preds = %257
  %262 = getelementptr inbounds i8, ptr %0, i64 6208
  invoke void @_ZN10SparseCMPCC1Ev(ptr noundef nonnull align 16 dereferenceable(964) %262)
          to label %263 unwind label %401

263:                                              ; preds = %261
  %264 = load float, ptr %147, align 4, !tbaa !97
  %265 = load i32, ptr %145, align 8, !tbaa !95
  %266 = sitofp i32 %265 to float
  %267 = fmul float %264, %266
  %268 = getelementptr inbounds i8, ptr %0, i64 328
  store float %267, ptr %268, align 8, !tbaa !103
  %269 = getelementptr inbounds i8, ptr %0, i64 320
  store i32 %265, ptr %269, align 16, !tbaa !104
  %270 = fpext float %264 to double
  %271 = fpext float %267 to double
  %272 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.14, double noundef %270, i32 noundef %265, double noundef %271)
  %273 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %249, i64 noundef 0)
          to label %274 unwind label %403

274:                                              ; preds = %263
  store float 0.000000e+00, ptr %273, align 4, !tbaa !93
  %275 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %249, i64 noundef 1)
          to label %276 unwind label %403

276:                                              ; preds = %274
  store float 0.000000e+00, ptr %275, align 4, !tbaa !93
  %277 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %249, i64 noundef 2)
          to label %278 unwind label %403

278:                                              ; preds = %276
  store float 0.000000e+00, ptr %277, align 4, !tbaa !93
  %279 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %247, i64 noundef 0)
          to label %280 unwind label %403

280:                                              ; preds = %278
  store float 0.000000e+00, ptr %279, align 4, !tbaa !93
  %281 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %247, i64 noundef 1)
          to label %282 unwind label %403

282:                                              ; preds = %280
  store float 0.000000e+00, ptr %281, align 4, !tbaa !93
  %283 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen15DenseCoeffsBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEELi1EEixEl(ptr noundef nonnull align 1 dereferenceable(1) %247, i64 noundef 2)
          to label %284 unwind label %403

284:                                              ; preds = %282
  store float 0.000000e+00, ptr %283, align 4, !tbaa !93
  %285 = getelementptr inbounds i8, ptr %0, i64 2245
  store i32 16843009, ptr %285, align 1
  invoke void @_ZN19ConvexMPCLocomotion13initSparseMPCEv(ptr noundef nonnull align 16 dereferenceable(7184) %0)
          to label %405 unwind label %403

286:                                              ; preds = %.preheader148.preheader
  %287 = landingpad { ptr, i32 }
          cleanup
  br label %290

288:                                              ; preds = %159
  %289 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #8
  br label %290

290:                                              ; preds = %288, %286
  %.pn = phi { ptr, i32 } [ %289, %288 ], [ %287, %286 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %14) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %14) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %12) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %11) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %10) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %9) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %7) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %6) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %5) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %4) #8
  br label %434

291:                                              ; preds = %160
  %292 = landingpad { ptr, i32 }
          cleanup
  br label %301

293:                                              ; preds = %163
  %294 = landingpad { ptr, i32 }
          cleanup
  br label %300

295:                                              ; preds = %164
  %296 = landingpad { ptr, i32 }
          cleanup
  br label %299

297:                                              ; preds = %165
  %298 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #8
  br label %299

299:                                              ; preds = %297, %295
  %.pn86 = phi { ptr, i32 } [ %298, %297 ], [ %296, %295 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %26) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %26) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %25) #8
  br label %300

300:                                              ; preds = %299, %293
  %.pn86.pn = phi { ptr, i32 } [ %.pn86, %299 ], [ %294, %293 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %24) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %23) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %22) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %21) #8
  br label %301

301:                                              ; preds = %300, %291
  %.pn86.pn.pn = phi { ptr, i32 } [ %.pn86.pn, %300 ], [ %292, %291 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %19) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %18) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %17) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %16) #8
  br label %433

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

304:                                              ; preds = %169
  %305 = landingpad { ptr, i32 }
          cleanup
  br label %311

306:                                              ; preds = %170
  %307 = landingpad { ptr, i32 }
          cleanup
  br label %310

308:                                              ; preds = %171
  %309 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #8
  br label %310

310:                                              ; preds = %308, %306
  %.pn90 = phi { ptr, i32 } [ %309, %308 ], [ %307, %306 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %38) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %38) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %37) #8
  br label %311

311:                                              ; preds = %310, %304
  %.pn90.pn = phi { ptr, i32 } [ %.pn90, %310 ], [ %305, %304 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %36) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %35) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %34) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %33) #8
  br label %312

312:                                              ; preds = %311, %302
  %.pn90.pn.pn = phi { ptr, i32 } [ %.pn90.pn, %311 ], [ %303, %302 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %31) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %30) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %29) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %28) #8
  br label %432

313:                                              ; preds = %172
  %314 = landingpad { ptr, i32 }
          cleanup
  br label %323

315:                                              ; preds = %175
  %316 = landingpad { ptr, i32 }
          cleanup
  br label %322

317:                                              ; preds = %176
  %318 = landingpad { ptr, i32 }
          cleanup
  br label %321

319:                                              ; preds = %177
  %320 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #8
  br label %321

321:                                              ; preds = %319, %317
  %.pn94 = phi { ptr, i32 } [ %320, %319 ], [ %318, %317 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %50) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %50) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %49) #8
  br label %322

322:                                              ; preds = %321, %315
  %.pn94.pn = phi { ptr, i32 } [ %.pn94, %321 ], [ %316, %315 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %48) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %47) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %46) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %45) #8
  br label %323

323:                                              ; preds = %322, %313
  %.pn94.pn.pn = phi { ptr, i32 } [ %.pn94.pn, %322 ], [ %314, %313 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %43) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %42) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %41) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %40) #8
  br label %431

324:                                              ; preds = %178
  %325 = landingpad { ptr, i32 }
          cleanup
  br label %334

326:                                              ; preds = %181
  %327 = landingpad { ptr, i32 }
          cleanup
  br label %333

328:                                              ; preds = %182
  %329 = landingpad { ptr, i32 }
          cleanup
  br label %332

330:                                              ; preds = %183
  %331 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #8
  br label %332

332:                                              ; preds = %330, %328
  %.pn98 = phi { ptr, i32 } [ %331, %330 ], [ %329, %328 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %62) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %62) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %61) #8
  br label %333

333:                                              ; preds = %332, %326
  %.pn98.pn = phi { ptr, i32 } [ %.pn98, %332 ], [ %327, %326 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %60) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %59) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %58) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %57) #8
  br label %334

334:                                              ; preds = %333, %324
  %.pn98.pn.pn = phi { ptr, i32 } [ %.pn98.pn, %333 ], [ %325, %324 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %55) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %54) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %53) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %52) #8
  br label %430

335:                                              ; preds = %184
  %336 = landingpad { ptr, i32 }
          cleanup
  br label %345

337:                                              ; preds = %187
  %338 = landingpad { ptr, i32 }
          cleanup
  br label %344

339:                                              ; preds = %188
  %340 = landingpad { ptr, i32 }
          cleanup
  br label %343

341:                                              ; preds = %189
  %342 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #8
  br label %343

343:                                              ; preds = %341, %339
  %.pn102 = phi { ptr, i32 } [ %342, %341 ], [ %340, %339 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %74) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %74) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %73) #8
  br label %344

344:                                              ; preds = %343, %337
  %.pn102.pn = phi { ptr, i32 } [ %.pn102, %343 ], [ %338, %337 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %72) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %71) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %70) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %69) #8
  br label %345

345:                                              ; preds = %344, %335
  %.pn102.pn.pn = phi { ptr, i32 } [ %.pn102.pn, %344 ], [ %336, %335 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %67) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %66) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %65) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %64) #8
  br label %429

346:                                              ; preds = %190
  %347 = landingpad { ptr, i32 }
          cleanup
  br label %356

348:                                              ; preds = %193
  %349 = landingpad { ptr, i32 }
          cleanup
  br label %355

350:                                              ; preds = %194
  %351 = landingpad { ptr, i32 }
          cleanup
  br label %354

352:                                              ; preds = %195
  %353 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %85) #8
  br label %354

354:                                              ; preds = %352, %350
  %.pn106 = phi { ptr, i32 } [ %353, %352 ], [ %351, %350 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %86) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %86) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %85) #8
  br label %355

355:                                              ; preds = %354, %348
  %.pn106.pn = phi { ptr, i32 } [ %.pn106, %354 ], [ %349, %348 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %84) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %83) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %82) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %81) #8
  br label %356

356:                                              ; preds = %355, %346
  %.pn106.pn.pn = phi { ptr, i32 } [ %.pn106.pn, %355 ], [ %347, %346 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %79) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %78) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %77) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %76) #8
  br label %428

357:                                              ; preds = %196
  %358 = landingpad { ptr, i32 }
          cleanup
  br label %367

359:                                              ; preds = %207
  %360 = landingpad { ptr, i32 }
          cleanup
  br label %366

361:                                              ; preds = %213
  %362 = landingpad { ptr, i32 }
          cleanup
  br label %365

363:                                              ; preds = %214
  %364 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %97) #8
  br label %365

365:                                              ; preds = %363, %361
  %.pn110 = phi { ptr, i32 } [ %364, %363 ], [ %362, %361 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %98) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %98) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %97) #8
  br label %366

366:                                              ; preds = %365, %359
  %.pn110.pn = phi { ptr, i32 } [ %.pn110, %365 ], [ %360, %359 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %96) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %95) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %94) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %93) #8
  br label %367

367:                                              ; preds = %366, %357
  %.pn110.pn.pn = phi { ptr, i32 } [ %.pn110.pn, %366 ], [ %358, %357 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %91) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %90) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %89) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %88) #8
  br label %427

368:                                              ; preds = %215
  %369 = landingpad { ptr, i32 }
          cleanup
  br label %378

370:                                              ; preds = %218
  %371 = landingpad { ptr, i32 }
          cleanup
  br label %377

372:                                              ; preds = %219
  %373 = landingpad { ptr, i32 }
          cleanup
  br label %376

374:                                              ; preds = %220
  %375 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %109) #8
  br label %376

376:                                              ; preds = %374, %372
  %.pn114 = phi { ptr, i32 } [ %375, %374 ], [ %373, %372 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %110) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %110) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %109) #8
  br label %377

377:                                              ; preds = %376, %370
  %.pn114.pn = phi { ptr, i32 } [ %.pn114, %376 ], [ %371, %370 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %108) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %107) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %106) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %105) #8
  br label %378

378:                                              ; preds = %377, %368
  %.pn114.pn.pn = phi { ptr, i32 } [ %.pn114.pn, %377 ], [ %369, %368 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %103) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %102) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %101) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %100) #8
  br label %426

379:                                              ; preds = %221
  %380 = landingpad { ptr, i32 }
          cleanup
  br label %389

381:                                              ; preds = %224
  %382 = landingpad { ptr, i32 }
          cleanup
  br label %388

383:                                              ; preds = %225
  %384 = landingpad { ptr, i32 }
          cleanup
  br label %387

385:                                              ; preds = %226
  %386 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %121) #8
  br label %387

387:                                              ; preds = %385, %383
  %.pn118 = phi { ptr, i32 } [ %386, %385 ], [ %384, %383 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %122) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %122) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %121) #8
  br label %388

388:                                              ; preds = %387, %381
  %.pn118.pn = phi { ptr, i32 } [ %.pn118, %387 ], [ %382, %381 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %120) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %119) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %118) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %117) #8
  br label %389

389:                                              ; preds = %388, %379
  %.pn118.pn.pn = phi { ptr, i32 } [ %.pn118.pn, %388 ], [ %380, %379 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %115) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %114) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %113) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %112) #8
  br label %425

390:                                              ; preds = %227
  %391 = landingpad { ptr, i32 }
          cleanup
  br label %400

392:                                              ; preds = %230
  %393 = landingpad { ptr, i32 }
          cleanup
  br label %399

394:                                              ; preds = %231
  %395 = landingpad { ptr, i32 }
          cleanup
  br label %398

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

398:                                              ; preds = %396, %394
  %.pn122 = phi { ptr, i32 } [ %397, %396 ], [ %395, %394 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %134) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %134) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %133) #8
  br label %399

399:                                              ; preds = %398, %392
  %.pn122.pn = phi { ptr, i32 } [ %.pn122, %398 ], [ %393, %392 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %132) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %131) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %130) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %129) #8
  br label %400

400:                                              ; preds = %399, %390
  %.pn122.pn.pn = phi { ptr, i32 } [ %.pn122.pn, %399 ], [ %391, %390 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %127) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %126) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %125) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %124) #8
  br label %424

.loopexit:                                        ; preds = %254, %253, %252, %250
  %lpad.loopexit = landingpad { ptr, i32 }
          cleanup
  br label %423

.loopexit.split-lp:                               ; preds = %233, %235, %237, %239, %241, %243, %246, %248, %255, %257
  %lpad.loopexit.split-lp = landingpad { ptr, i32 }
          cleanup
  br label %423

401:                                              ; preds = %261
  %402 = landingpad { ptr, i32 }
          cleanup
  br label %422

403:                                              ; preds = %409, %407, %405, %284, %282, %280, %278, %276, %274, %263
  %404 = landingpad { ptr, i32 }
          cleanup
  br label %421

405:                                              ; preds = %284
  %406 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZN5Eigen9DenseBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEEE7setZeroEv(ptr noundef nonnull align 1 dereferenceable(1) %135)
          to label %407 unwind label %403

407:                                              ; preds = %405
  %408 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZN5Eigen9DenseBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEEE7setZeroEv(ptr noundef nonnull align 1 dereferenceable(1) %136)
          to label %409 unwind label %403

409:                                              ; preds = %407
  %410 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZN5Eigen9DenseBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEEE7setZeroEv(ptr noundef nonnull align 1 dereferenceable(1) %137)
          to label %.preheader.preheader unwind label %403

.preheader.preheader:                             ; preds = %409
  %411 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZN5Eigen9DenseBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEEE7setZeroEv(ptr noundef nonnull align 1 dereferenceable(1) %.ptr77)
          to label %.preheader.1 unwind label %419

.preheader.1:                                     ; preds = %.preheader.preheader
  %412 = getelementptr inbounds i8, ptr %0, i64 348
  %413 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZN5Eigen9DenseBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEEE7setZeroEv(ptr noundef nonnull align 1 dereferenceable(1) %412)
          to label %.preheader.2 unwind label %419

.preheader.2:                                     ; preds = %.preheader.1
  %414 = getelementptr inbounds i8, ptr %0, i64 360
  %415 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZN5Eigen9DenseBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEEE7setZeroEv(ptr noundef nonnull align 1 dereferenceable(1) %414)
          to label %.preheader.3 unwind label %419

.preheader.3:                                     ; preds = %.preheader.2
  %416 = getelementptr inbounds i8, ptr %0, i64 372
  %417 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZN5Eigen9DenseBaseINS_6MatrixIfLi3ELi1ELi0ELi3ELi1EEEE7setZeroEv(ptr noundef nonnull align 1 dereferenceable(1) %416)
          to label %418 unwind label %419

418:                                              ; preds = %.preheader.3
  ret void

419:                                              ; preds = %.preheader.3, %.preheader.2, %.preheader.1, %.preheader.preheader
  %420 = landingpad { ptr, i32 }
          cleanup
  br label %421

421:                                              ; preds = %419, %403
  %.pn131 = phi { ptr, i32 } [ %420, %419 ], [ %404, %403 ]
  call void @_ZN10SparseCMPCD2Ev(ptr noundef nonnull align 16 dereferenceable(964) %262) #8
  br label %422

422:                                              ; preds = %421, %401
  %.pn131.pn = phi { ptr, i32 } [ %.pn131, %421 ], [ %402, %401 ]
  call void @_ZNSt6vectorIN5Eigen6MatrixIdLi12ELi1ELi0ELi12ELi1EEENS0_17aligned_allocatorIS2_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %260) #8
  br label %423

423:                                              ; preds = %.loopexit, %.loopexit.split-lp, %422
  %.pn131.pn.pn = phi { ptr, i32 } [ %.pn131.pn, %422 ], [ %lpad.loopexit, %.loopexit ], [ %lpad.loopexit.split-lp, %.loopexit.split-lp ]
  call void @_ZN18OffsetDurationGaitD1Ev(ptr noundef nonnull align 16 dereferenceable(124) %228) #8
  br label %424

424:                                              ; preds = %423, %400
  %.pn131.pn.pn.pn = phi { ptr, i32 } [ %.pn131.pn.pn, %423 ], [ %.pn122.pn.pn, %400 ]
  call void @_ZN18OffsetDurationGaitD1Ev(ptr noundef nonnull align 16 dereferenceable(124) %222) #8
  br label %425

425:                                              ; preds = %424, %389
  %.pn131.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn131.pn.pn.pn, %424 ], [ %.pn118.pn.pn, %389 ]
  call void @_ZN18OffsetDurationGaitD1Ev(ptr noundef nonnull align 16 dereferenceable(124) %216) #8
  br label %426

426:                                              ; preds = %425, %378
  %.pn131.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn131.pn.pn.pn.pn, %425 ], [ %.pn114.pn.pn, %378 ]
  call void @_ZN18OffsetDurationGaitD1Ev(ptr noundef nonnull align 16 dereferenceable(124) %197) #8
  br label %427

427:                                              ; preds = %426, %367
  %.pn131.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn131.pn.pn.pn.pn.pn, %426 ], [ %.pn110.pn.pn, %367 ]
  call void @_ZN18OffsetDurationGaitD1Ev(ptr noundef nonnull align 16 dereferenceable(124) %191) #8
  br label %428

428:                                              ; preds = %427, %356
  %.pn131.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn131.pn.pn.pn.pn.pn.pn, %427 ], [ %.pn106.pn.pn, %356 ]
  call void @_ZN18OffsetDurationGaitD1Ev(ptr noundef nonnull align 16 dereferenceable(124) %185) #8
  br label %429

429:                                              ; preds = %428, %345
  %.pn131.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn131.pn.pn.pn.pn.pn.pn.pn, %428 ], [ %.pn102.pn.pn, %345 ]
  call void @_ZN18OffsetDurationGaitD1Ev(ptr noundef nonnull align 16 dereferenceable(124) %179) #8
  br label %430

430:                                              ; preds = %429, %334
  %.pn131.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn131.pn.pn.pn.pn.pn.pn.pn.pn, %429 ], [ %.pn98.pn.pn, %334 ]
  call void @_ZN18OffsetDurationGaitD1Ev(ptr noundef nonnull align 16 dereferenceable(124) %173) #8
  br label %431

431:                                              ; preds = %430, %323
  %.pn131.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn131.pn.pn.pn.pn.pn.pn.pn.pn.pn, %430 ], [ %.pn94.pn.pn, %323 ]
  call void @_ZN18OffsetDurationGaitD1Ev(ptr noundef nonnull align 16 dereferenceable(124) %167) #8
  br label %432

432:                                              ; preds = %431, %312
  %.pn131.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn131.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %431 ], [ %.pn90.pn.pn, %312 ]
  call void @_ZN18OffsetDurationGaitD1Ev(ptr noundef nonnull align 16 dereferenceable(124) %161) #8
  br label %433

433:                                              ; preds = %432, %301
  %.pn131.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn131.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %432 ], [ %.pn86.pn.pn, %301 ]
  call void @_ZN18OffsetDurationGaitD1Ev(ptr noundef nonnull align 16 dereferenceable(124) %150) #8
  br label %434

434:                                              ; preds = %433, %290
  %.pn131.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn131.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %433 ], [ %.pn, %290 ]
  resume { ptr, i32 } %.pn131.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn
}

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

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #3 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 #0 align 2

declare i32 @__gxx_personality_v0(...)

declare void @_ZN18OffsetDurationGaitC1EiN5Eigen6MatrixIiLi4ELi1ELi0ELi4ELi1EEES2_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 16 dereferenceable(124), i32 noundef, ptr noundef, ptr noundef, ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #4

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5Eigen6MatrixIfLi3ELi3ELi0ELi3ELi3EEC2Ev(ptr noundef nonnull align 4 dereferenceable(36)) unnamed_addr #1 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN11CMPC_ResultIfEC2Ev(ptr noundef nonnull align 16 dereferenceable(880)) unnamed_addr #1 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN9CMPC_JumpC2Ev(ptr noundef nonnull align 4 dereferenceable(16)) unnamed_addr #5 align 2

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

declare void @_ZN10SparseCMPCC1Ev(ptr noundef nonnull align 16 dereferenceable(964)) unnamed_addr #4

; Function Attrs: nofree nounwind
declare noundef i32 @printf(ptr nocapture noundef readonly, ...) local_unnamed_addr #6

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN19ConvexMPCLocomotion13initSparseMPCEv(ptr noundef nonnull align 16 dereferenceable(7184)) 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 #1 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN10SparseCMPCD2Ev(ptr noundef nonnull align 16 dereferenceable(964)) unnamed_addr #5 align 2

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

; Function Attrs: nounwind
declare void @_ZN18OffsetDurationGaitD1Ev(ptr noundef nonnull align 16 dereferenceable(124)) unnamed_addr #7

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

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

!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, !7, i64 0}
!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, !18, i64 272}
!92 = !{!6, !18, i64 280}
!93 = !{!18, !18, i64 0}
!94 = !{!6, !18, i64 308}
!95 = !{!6, !19, i64 312}
!96 = !{!6, !19, i64 316}
!97 = !{!6, !18, i64 324}
!98 = !{!6, !19, i64 332}
!99 = !{!19, !19, i64 0}
!100 = !{!6, !7, i64 2244}
!101 = !{!6, !18, i64 2336}
!102 = !{!6, !18, i64 6160}
!103 = !{!6, !18, i64 328}
!104 = !{!6, !19, i64 320}


; Effective O3 passes: EarlyCSEPass,GVNPass,GlobalOptPass,IndVarSimplifyPass,InferFunctionAttrsPass,InstCombinePass,LICMPass,LoopIdiomRecognizePass,LoopRotatePass,LoopSimplifyPass,SLPVectorizerPass,SROAPass,SimplifyCFGPass,TailCallElimPass