The article rests on the notion that this is confusing, but fails to prove it:
int x = 0, y = 1, z = 0;
int r = (x & y) == z; // 1
int s = x & (y == z); // 0
int t = x & y == z; // 0
None of that surprises me, but moreover I would never expect myself or anyone else to be sure about it, I would refer to the operator table to be check. The article also supposes that this line has some natural meaning that everyone expects, but I'm not seeing it: if(x() & a() == y)
I think the author is projecting their own cognitive patterns onto the rest of us without justification.