### 5.12.15 Normal form for rational fractions : ratnormal

ratnormal rewrites an expression using its irreducible representation. The expression is viewed as a multivariate rational fraction with coefficients in ℚ (or ℚ[i]). The variables are generalized identifiers which are assumed to be algebraically independent. Unlike with normal, an algebraic extension is considered as a generalized identifier. Therefore ratnormal is faster but might miss some simplifications if the expression contains radicals or algebraically dependent transcendental functions.
Input :

ratnormal((x`^`3-1)/(x`^`2-1))

Output :

(x`^`2+x+1)/(x+1)

Input :

ratnormal((-2x`^`3+3x`^`2+5x-6)/(x`^`2-2x+1))

Output :

(-2*x`^`2+x+6)/(x-1)