     (asin(x), { v in v / sqrt(1 - x.squared()) })
 }
 
-/// Returns `atan` of the specified tensor element-wise.
+/// Returns the inverse tangent of the specified tensor element-wise.
 @inlinable
 @differentiable(vjp: _vjpAtan(_:))
 public func atan<T: TensorFlowFloatingPoint>(_ x: Tensor<T>) -> Tensor<T> {

    (cosh(x), { v in v * sinh(x) })
}

/// Returns `tanh` of the specified tensor element-wise.
@inlinable
@differentiable(vjp: _vjpTanh(_:))
public func tanh<T: TensorFlowFloatingPoint>(_ x: Tensor<T>) -> Tensor<T> {

    (atan(x), { v in v / (1 + x.squared()) })
}

/// Returns the inverse hyperbolic cosine of the specified tensor element-wise.
@inlinable
@differentiable(vjp: _vjpAcosh(_:))
public func acosh<T: TensorFlowFloatingPoint>(_ x: Tensor<T>) -> Tensor<T> {
