pub fn cosh<F>(x: F) -> Fwhere F: Float,
cosh x. It stays finite up to where cosh itself overflows, beyond the point where e^x does.