static inline A0 cot_eval(const A0& x, int_type n ) { A0 y = base_tan_eval(x); if (n == 1) return rec(y); else return -y; }
static inline A0 tan_eval(const A0& x, const A0&, int_type n ) { A0 y = base_tan_eval(x); if (n == 1) return y; else return -rec(y); }
static inline A0 cot_eval(const A0& z, const A0&, const int n ) { const A0 y = base_tan_eval(z); if (n == 1) return rec(y); else return -y; }
static inline A0 tan_eval(const A0& z, const int n ) { const A0 y = base_tan_eval(z); if (n == 1) return y; else return -nt2::rec(y); }