@Override
    public @NotNull LongRangeSet negate(LongRangeType lrType) {
      LongRangeSet negated = super.negate(lrType);
      if (negated instanceof Range) {
        // Leave 0 at the place, reverse the rest
        long reverse = Long.reverse(myBits & -2);
        long negatedBits = (myMod == Long.SIZE ? reverse << 1 : reverse >>> (Long.SIZE - myMod - 1)) | (myBits & 1);
        return modRange(negated.min(), negated.max(), myMod, negatedBits);
      }
      return negated;
    }
@Override
    public @NotNull LongRangeSet negate(LongRangeType lrType)