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: 
    end function get_angrate_dot_cosines
  
    ! ******************************************************************!
    ! Returns the inverse of the angular rate matrix for the supplied
    ! direction cosines
    ! ******************************************************************!
    function get_angrate_inv( c1, c2, c3, s1, s2, s3) &
         &result(SMAT_INV)
  
      real(dp)     :: c1, c2, c3, s1, s2, s3
  
negative.code:           &get_angrate_dot_vec, get_angrate_dot_cosines
    end interface get_angrate_dot
  
    !*******************************************************************!
    ! A common interface for different ways of getting the inverse
    ! of the ang rate matrix
    !-------------------------------------------------------------------!
    ! (a) get_angrate_inv_vec -- > input VECTOR theta, theta_dot
    ! (b) get_angrate_inv_array -- > input theta(3), theta_dot(3)
    ! (c) get_angrate_inv_cosines  -- > input dir cosines and sines
    !*******************************************************************!
    interface get_angrate_inv
       module procedure get_angrate_inv_vec, &
            &get_angrate_inv_array, &
            &get_angrate_inv_cosines
    end interface get_angrate_inv
  
  contains
  
    !*******************************************************************!
  