|
|
|
|
|
by danieljh
3460 days ago
|
|
Here's an interesting anecdote for -ffast-math: the Kahan summation algorithm [1] can be used to reduce numerical errors in sums. Now have a look at the codegen [2] without and with -ffast-math. With -ffast-math the compiler rewrites the Kahan summation algorithm to a simple sum, completely screwing the code's semantic (since we told the compiler to do so!). Keep this in mind. 1 https://en.wikipedia.org/wiki/Kahan_summation_algorithm
2 https://godbolt.org/g/uWZgW2 |
|