Addition hält die assoziative Eigenschaft:Sind Fließkommaoperationen in C assoziativ? mathematisch
(a + b) + c = a + (b + c)
Im allgemeinen Fall, diese Eigenschaft nicht für Gleitkommazahlen hält, weil sie Werte in einer endlichen Genauigkeit darstellen.
Darf ein Compiler die obige Ersetzung vornehmen, wenn er Maschinencode aus einem C-Programm als Teil einer Optimierung generiert? Wo sagt es genau in der C-Norm?
Für mindestens Multiplikation, schau hier: http://StackOverflow.com/Questions/6430448/Why-doesnt-Gcc-optimize-aaaaaa-to-aaaaaa –