static RCP<const Basic> diff(const Tan &self, const RCP<const Symbol> &x) { RCP<const Integer> two = integer(2); return mul(add(one, pow(tan(self.get_arg()), two)), self.get_arg()->diff(x)); }
void bvisit(const Tan &x) { apply(result_, *(x.get_arg())); mpfr_tan(result_, result_, rnd_); }