add maybe_negate