From: Clemens Helf <helf@xxxxxxxxxxxxxxxxxxxx>
The function 'double pow (double x, double y)' (libmsgi.a) seems to
have a severe performance problem.
Substituting the call by 'exp(log(x)*y)' cuts down execution time
by about one third.
I checked with our math expert, and his response was:
> Calling exp(log(x)*y) in place of pow(x, y) drops too many bits
> to be useful. If that's what the user wants, he should code it
> that way.
Annother question is related to vector math:
Will the compiler substitute a call to e.g. 'exp(x)' by the
corresponding vector math function after loop optimization ?
Again there are some precision issues:
> One other problem in automatically generating calls to
> the vector math intrinsics is that they are not as
> accurate as the standard library. Moreover, the vector
> log function doesn't support denormal arguments.
-- Mike Murphy
-- mpm@xxxxxxx
-- quote of the day:
-- "In marriage, being the right person is as important as
-- finding the right person." (Wilbert Gough)
|