[Bug libgcc/59714] complex division is inaccurate on aarch64
joseph at codesourcery dot com
gcc-bugzilla@gcc.gnu.org
Wed Jan 8 02:33:00 GMT 2014
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59714
--- Comment #3 from joseph at codesourcery dot com <joseph at codesourcery dot com> ---
You'll find other cases where fused operations make complex multiplication
and division *more* accurate.
There is, I suppose, a case for having a version of complex multiplication
and division that follow the same accuracy goals as glibc libm (i.e. real
and imaginary parts within a few ulp of the mathematically exact values,
with corresponding exceptions, avoiding spurious overflow / underflow) -
or even correctly rounding versions. But (a) people wouldn't want them as
default, on grounds of speed, and (b) they would be tricky to implement in
libgcc because of needing to change the rounding mode temporarily (libgcc
can't depend on libm) and because of depending on details of the
floating-point formats that libgcc otherwise doesn't need to depend on.
Maybe people interested in complex arithmetic should propose new
facilities for accurate multiplication / division when the C standard is
next being revised (there's some interest in other new functions, see
N1704, but no current project in which they could be added to the
standard).
More information about the Gcc-bugs
mailing list