"trigrat" caught in infinite loop - depending on how you call it



Setting ratfac to true prevents Maxima from going into (what seems to be) an infinite loop:

(%i3) e : 2*x/(sqrt(y)+x) - (x^2/((sqrt(y)+x)^2));
(%o3) (2*x)/(sqrt(y)+x)-x^2/(sqrt(y)+x)^2

(%i4)  (trigrat(e), trigrat(xthru(e))),ratfac : true;
(%o4) (x*(2*%i*sin(atan2(0,y)/2)*sqrt(abs(y))+2*cos(atan2(0,y)/2)*sqrt(abs(y))+x))/(2*%i*sin(atan2(0,y)/2)*x*sqrt(abs(y))+2*cos(atan2(0,y)/2)*x*sqrt(abs(y))+y+x^2)

--Barton