When %piargs is true, atan2 sometimes does an asksign.
In atan2(x,x), if x is zero (maybe that's far-fetched, I suppose), you're stuck:
(%i1) atan2(x,x);
Is x positive or negative? pos;
(%o1) %pi/4
As a general rule, I think simplifying functions shouldn't do asksign. Setting %piargs to false, prevents atan2 from doing an asksign (undocumented). But %piargs : false causes bugs in limit and integrate.
Dan Gildea
2008-11-30
as of comm2.lisp rev 1.22, simpatan2 doesn't ask questions:
(%i2) atan2(x,x);
(%o2) atan2(x,x)
(%i3) assume(x>0);
(%o3) [x > 0]
(%i4) atan2(x,x);
(%o4) %pi/4
(%i5) atan2(-x,-x);
(%o5) -3*%pi/4
Dan Gildea
2008-11-30