This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: weird optimization in sin+cos, x86 backend
On 2012-02-09 12:36:01 -0500, Geert Bosch wrote:
> I think it would make sense to have a check list of properties, and
> use configure-based tests to categorize implementations. These tests
> would be added as we go along.
>
> Criteria:
>
> [ ] Conforms to C99 for exceptional values
> (accepting/producing NaNs, infinities)
C is not the only language. Other languages (e.g. Java) may have
different rules. And IEEE 754-2008 also specifies different rules.
And you may want to consider LIA-2 too, which is again different...
> [ ] Handles non-standard rounding modes,
> trapping math, errno, etc.
By "non-standard rounding modes", I assume you mean "non-default
rounding modes".
> [ ] Meets certain relative error bounds,
> copy from Ada Annex G numerical requirements
> (typically between 2 eps and 4 eps for much of range)
FYI, OpenCL also has numerical requirements.
> [ ] Guaranteed error less than 1 ulp over all arguments,
> typical max. error close to 0.5 ulp.
Instead, I would say faithful rounding (this is slightly stricter
for results close to powers of 2).
> [ ] Correctly rounded for all arguments
I would add:
[ ] Symmetry (e.g. cos(-x) = cos(x), sin(-x) = - sin(x)) in the
symmetric rounding modes.
[ ] Monotonicity (for monotonous functions).
(note that they are implied by correct rounding).
--
Vincent Lefèvre <vincent@vinc17.net> - Web: <http://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <http://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)
- References:
- Re: weird optimization in sin+cos, x86 backend
- Re: weird optimization in sin+cos, x86 backend
- Re: weird optimization in sin+cos, x86 backend
- From: James Courtier-Dutton
- Re: weird optimization in sin+cos, x86 backend
- Re: weird optimization in sin+cos, x86 backend
- Re: weird optimization in sin+cos, x86 backend
- Re: weird optimization in sin+cos, x86 backend
- Re: weird optimization in sin+cos, x86 backend
- Re: weird optimization in sin+cos, x86 backend
- Re: weird optimization in sin+cos, x86 backend