Print

Print


Bill

>Very interesting set of tests.   In the Discussion section you mention that some of these functions might be implemented by calling the system libm routines. (And hence matching output of similar tests written in C.)  To the extent that is the case, the results are indicative of the OS (SUSE, RedHat, …) that supplied the libm library, rather than the compiler used.  For example, if you ran the tests for Cray and PGI on the same system, then for the libm cases you would expect the same outcome.  Of course, it is useful information that the libm routines are wrong, and the compiler vendors need to supply “native” code for those cases (or get SUSE, RedHat, … to fix their libm code).   I’m guessing that Intel wrote their own routines for all the cases.   It would be a useful addition to the paper to indicate which of the routines were being linked in from libm and for those cases what OS the system was running. 

If vendors volunteer such details,
I'm happy to include these into a revision.

I could find very little specific details
in vendor documentation,
e.g. Cray intro_intrin(3i) says that
ACOS, ACOSH, ATAN, ATANH and ASINH (but not ASIN!)
are evaluated "by calling external code".
libm is not mentioned in that page, but
is in some other docs.

Anton