gradient(at:_:_:of:)

    func gradient<T, U, V, R>(at x: T, _ y: U, _ z: V, of f: (T, U, V) -> R) -> (T.TangentVector, U.TangentVector, V.TangentVector) where T : Differentiable, U : Differentiable, V : Differentiable, R : FloatingPoint, R : Differentiable, R == R.TangentVector