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