No, the intent [of the standard] is to support segmented memory architectures. The "one after"
rule is a concession for prototypical looping patterns.
When you loop in reverse you have to be careful, because there's no "one before" rule.
Compilers like TinyCC, in debug mode, will insert instrumentation code which relies on these
rules to check buffer under and overflows (not just accesses, but actual pointer
arithmetic--it can detect invalid pointer values). So it's smart to stick to the ISO standard,
because these rules can cut both ways; that is, they can help not only optimization, but