template<class T, class Policies> inline interval<T, Policies> tanh(const interval<T, Policies>& x) { typedef interval<T, Policies> I; if (interval_lib::detail::test_input(x)) return I::empty(); typename Policies::rounding rnd; return I(rnd.tanh_down(x.lower()), rnd.tanh_up(x.upper()), true); }