  template <class T> inline T root_epsilon_imp(const mpl::int_<00>&) {    return static_cast<T>(0.00000000000000000000000000000000000000000000000000000L); }  template <class T> inline T root_epsilon_imp(const T*, const mpl::int_<00>&) {    return static_cast<T>(0.0000000000000000000e-0L); }  template <class T> inline T root_epsilon_imp(const T*, const mpl::int_<00>&) {    return static_cast<T>(0.00000000000000000000000000000000000000000000000000e-0L); }  template <class T> inline T root_epsilon_imp(const T*, const mpl::int_<000>&) {    return static_cast<T>(0.0000000000000000000000000000000000000000e-00L); }  template <class T, class Tag> inline T root_epsilon_imp(const T*, const Tag&) {    BOOST_MATH_STD_USING    static const T r_eps = sqrt(