Re:Why doesn't GCC optimize a*a*a*a*a*a to (a*a*a)*(a*a*a)? ...
by pascal_cuoq on Thursday March 27, 2014 @10:22AM
(#7480533)
It doesn't. If we forget about FPU flags, floating-point multiplication is pure. That does not change anything to the fact that a * (b * c) is different from (a * b) * c.
The problem is not side-effects in multiplication. The problem is that * is not associative.
The problem is not side-effects in multiplication. The problem is that * is not associative.