observable behaviour
What a program does that the outside world can see - its output, files and volatile accesses. The optimizer must keep it; everything else may change.
Observable behaviour is the sequence of volatile accesses, the data written to files at termination, and interactive I/O; it is the only thing the as-if rule obliges an optimized program to preserve.
See also