def integrate_hypertangent_polynomial(p, DE):
 (q, r) = polynomial_reduce(p, DE)
 a = DE.d.exquo(Poly(((DE.t ** 2) + 1), DE.t))
 c = Poly((r.nth(1) / (2 * a.as_expr())), DE.t)
 return (q, c)

def integrate_hypertangent_polynomial ( p , DE ) : ( q , r ) = polynomial_reduce ( p , DE ) a = DE . d . exquo ( Poly ( ( ( DE . t ** 2 ) + 1 ) , DE . t ) ) c = Poly ( ( r . nth ( 1 ) / ( 2 * a . as_expr ( ) ) ) , DE . t ) return ( q , c )
integration of hypertangent polynomials .