> OK, but why is Gate producing this code: Precisely for the same reason (operator precedence), e.g -(a & b) is different from (-a & b) Arno