anchor.diff:      SMAT_INV= matrix( (/  1.0_dp, s1*s2/c2, c1*s2/c2, &
            &0.0_dp, c1, -s1, 0.0_dp,&
            & s1/c2, c1/c2 /))
  -
  -  end function get_angrate_inv
  +    
  +  end function get_angrate_inv_cosines
   
     !*******************************************************************!
     ! routine that prints the state and properties of the body
  
positive.code:           &get_angrate_dot_vec, get_angrate_dot_cosines
    end interface get_angrate_dot
  
  contains
  
    !*******************************************************************!
  
negative.code:   ! mass   : mass of the body
    ! re     : interested point on the body measure in body frame
    !*******************************************************************!
    function create_body(mass, re, q, qdot) result(alpha)
  
      ! inputs
      real(dp), intent(in)        :: mass 
      type(vector), intent(in)    :: re 
      real(dp), intent(in)        :: q(NDOF_PBODY)
      real(dp), intent(in)        :: qdot(NDOF_PBODY)
      ! output
      type(body)                  :: alpha
  
  