Christian Böhme wrote:
Try to derive a syntax tree from the expression and evaluate it by walking that tree using your defined order and you'll arrive at a = 9.
You don't have to derive anything. By supplying -fdump-tree-all and/or -fdump-rtl you can see exactly what GCC is doing.
David Daney