------- Additional Comments From pcarlini at suse dot de  2005-03-07 01:32 
-------
> We have log(x) == -inf for x == 0+.  The exp call is returning 0+
> but the argument isn't -inf.  It's -5.9923104495410517e+307.  -inf
> is -1.7976931348623157e+308.

Interesting. Therefore, 1/3*(-inf) instead of giving the very same -inf, as
should happen in IEEE, gives 1/3*(-1.79769..e+308)! Still, this cannot
explain the NaN, because, then, the involved exp can only be slighlty bigger
than zero... The only other tricky bit of the computation seems atan2(0.0, 0.0)
which should be also zero, of course. Then those two zeros (the latter mult
be 1/3) are passed to complex::polar which only computes sin and cos,
always defined.

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20352

Reply via email to