"The behavior is non-deterministic if binary_op is not associative or not commutative."
But the sample program uses an operator that is not associative - floating point addition.