As an example, the expression x + y - z may once be evaluated as x + (y - z) and the other time as (x + y) - z. Try substituting the values x = 1.0 and y = z = 1030.
I would be very wary of doing any math in a language that doesn't enforce order of operations. While it's true that addition and subtraction have equal precedence, order is then supposed to go from left to right. If a compiler feels free to reorder the operands, then the compiler is broken.