Code is not always evaluated from left to right.

For example:

push(pop() - pop());

we have no guarantee whether the left pop or right pop will occur first. This may lead to unintentional results.

To circumvent this, make sure to abuse ; chronology.

op2 = pop();
push(pop() - op2);

this way it will always do the same thing 100% of the time

The danger of forgetting the K&R Rearrangement license proves itself deadly when working with Extern Variables that have sequential effects for its shared actions.