Addition tiene matematicamente la proprietà associativa:Le operazioni in virgola mobile sono associate in C?
(a + b) + c = a + (b + c)
Nel caso generale, questa struttura non vale per i numeri a virgola mobile perché rappresentano valori in precisione finita.
Un compilatore è autorizzato a eseguire la sostituzione di cui sopra durante la generazione di codice macchina da un programma C come parte di un'ottimizzazione? Dove dice esattamente nello standard C?
Per la moltiplicazione almeno, guarda qui: http://stackoverflow.com/questions/6430448/why-doesnt-gcc-optimize-aaaaaa-to-aaaaaa –