On 08/17/2017 07:56 AM, Wilco Dijkstra wrote: > This patch simplifies pow (C, x) into exp (x * C1) if C > 0, C1 = log (C). > Do this only for fast-math as accuracy is reduced. This is much faster > since pow is more complex than exp - with current GLIBC the speedup is > more than 7 times for this transformation. Right. exp is painful in glibc, but pow is *dramatically* more painful and likely always will be.
Siddhesh did some great work in bringing those costs down in glibc but the more code we can reasonably shunt into exp instead of pow, the better. It's likely pow will always be significantly more expensive than exp. It's also likely that predicting when these functions are going to go off the fast paths is painful. I think Richi already ack'd the V2 patch. Just wanted to chime in given I've been fairly deep on this in the past with customers on the glibc side. jeff