...
If a developer wishes to violate this rule and use undefined behavior, they must not only ensure that the hardware guarantees the behavior of the object code, but they must also ensure that their compiler and compiler optimizations , along with its optimizer, also respect these guarantees.
...