[RFC] Log: Ensure negate doesn't loop

Previously it was defined in terms of `negInf`, which itself is defined
in terms of `negate`. We now just define it as `NaN`.

Does this seem reasonable?