modified gradient <=> operator