posix compliant negate