On 2019-02-15 10:19:03 +0000, Austin Group Bug Tracker wrote:
> New proposed resolution:
> 
> On page 611 line 21228 section atan2(), change:<blockquote>[MX]If the
> correct value would cause underflow, a range error may occur, and atan(),
> atan2f(), and atan2l() shall return an implementation-defined value no
> greater in magnitude than DBL_MIN, FLT_MIN, and LDBL_MIN,
> respectively.[/MX]
> 
> [MXX]If the IEC 60559 Floating-Point option is supported, y/x should be
> returned.[/MXX]</blockquote>to:<blockquote>If the correct value would cause
> underflow, a range error may occur, and atan2(), atan2f(), and atan2l()
> shall return an implementation-defined value no greater in magnitude than
> DBL_MIN, FLT_MIN, and LDBL_MIN, respectively. [MXX]If the IEC 60559
> Floating-Point option is supported, y/x should be
> returned.[/MXX]</blockquote>

I don't understand the recommendation "y/x should be returned", while
correct rounding would be more accurate. While in case of underflow,
atan2(y,x) is mathematically very close to y/x, there may be a
difference in correct rounding when the exact value of y/x is the
midpoint of two machine numbers (which is possible in the subnormal
range). At least it should offer the choice between returning y/x
correctly rounded and returning atan2(y,x) correctly rounded.

-- 
Vincent Lefèvre <vinc...@vinc17.net> - Web: <https://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)

Reply via email to