Originally posted by Marco Ehrentreich:
it's probably a good idea to make the precedence rules explicit by inserting parentheses accordingly
In fact, when writing code for yourself, ALWAYS add parentheses if the expression will become this complex. It will help you when reading your own code later on.
I myself hardly ever really rely on operator precedence, but use parentheses to make sure it will work. That way, programmers from other languages, with a possibly other precedence, can read my code just fine too.