I suspect the single pipe is breaking everything. Did you intend || for OR? That would always return true though.
Unfortunately this is not Java, rules are written in a OH specific version of Xtend. Mostly very like Java. But distinctly quirky so far as handling Numbers bitwise goes.
Googling for OpenHAB bitwise throws up tidbits worth reading, example