Please note that, despite the misleading title, TFA is about the precedence of bitwise operators & and | with respect to the comparison operators (== and all the others). In particular it was asked to Ritchie why the former are weaker than the latter in C, a rule generally considered a mistake because it makes it impossible to write common expressions like
if (addr & mask == 0)
without adding extra parentheses:
if ((addr & mask) == 0)
TFA is not about the relative precedence between & and | (which is well understood, although disputed, and has mathematical basis), or between && and || (which mimics & and |). And TFA is not even about the precedence of the logical operators && and || vs. the comparison operators.
I'm writing this because I've seen a lot of comments that, while interesting in themselves, completely misunderstood the premise.
I'm writing this because I've seen a lot of comments that, while interesting in themselves, completely misunderstood the premise.