The macro needs parentheses around the expression, otherwise the negation is applied in the wrong place.