If neg produces simplified results, then this would be a bug in 'great'.
and it would have to be fixed.
I assumed neg had a bug in it and that it doesn't produce simplified results
and that replacing neg as Barton suggests would fix it.
For example,
:lisp (defun neg(x)(mul x -1))
and see if that fixes it. But that doesn't fix it.
So the bug is in great, involving mboxes.
Rather than clutter great with more checks on mboxes, a feature that is
rarely used,
maybe we can simply decide that ((mbox) E) is 'greater' than E, and
eliminate
all special checks on mboxes.
RJF