Grund ist dass sehr einfach auf "=0" geprüft werden kann. ein "=100?" läuft also auf ein "x-100=0?" 'raus
Aber eigentlich sollte die Compileroptimierung keine Änderung des Verhaltens zeigen - wie du richtig festgestellt hast, lässt der Compilrr die Schleife vorwärts laufen sobald es einen Unterschied macht (=> eine Ausgabe erzeugt o.ä.)
Kann mit
{O+} und {O-}
gesteuert werden