Are you sure that using **bitwise or** `p1 | p3` is correct here? Shouldn't it rather be a **logical or** `p1 || p3`?