jeffhain - 2012-07-02

Doing some tests improvements, I realized that the accuracy claims for xxxQuick
methods were sometimes quite wrong.

The following new max errors (computed as max(min(absolute error,relative error)))
held running tests with 1e9 random inputs (it should be possible to find larger errors
with some inputs):

- cosQuick and sinQuick max error on  range is not 1.5e-3 but rather 1.6e-3.
- logQuick max error on ]0,+Infinity[ range is not 2e-3 but rather 2.8e-4.
- powQuick max error is not 2.6e-2 for "a" (first argument) in ]0,+Infinity[,
  but rather 3.5e-2 for |a^b| < 1e10, 0.17 for |a^b| < 1e50, and worse above.

Also, some JVMs have trouble when trying to optimize
atan2(double,double) function (triggers after a few thousands
of calls in a loop), so take care if you call it intensively:
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (os_windows_x86.cpp:149), pid=4848, tid=4340
#  guarantee(result == EXCEPTION_CONTINUE_EXECUTION) failed: Unexpected result from topLevelExceptionFilter
#
# JRE version: 6.0_29-b08
# Java VM: Java HotSpot(TM) 64-Bit Server VM (20.4-b01 mixed mode windows-amd64 compressed oops)
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
#