Crossing out expressions in eqn

You can read about defining a macro for canceling an expression in the man page of eqn. This macro draws a line over the expression, as an indication that it’s canceled. When using paper and pen, I usually use a cross instead, so this is how you do the same in eqn.
.\" define cancel_cross macro for expressions 
.defcolor cancelcolor rgb 0.0f 0.0f 0.0f 
.EQ } 
define cancel_cross ’special Cax’ 
.de Cax 
.  ds 0s \ 
\Z’\D’t 0.75p’’\ 
\D’l \\n(0wu -\\n(0hu-\\n(0du’\ 
\D’l \\n(0wu \\n(0hu+\\n(0du’\ 
\Z’\D’t 0.5p’’\ 

Then use it, for example, like this: { 4 times 1 } over { 4 times 5 } = { cancel_cross 4 times 1 } over { cancel_cross 4 times 5 }.

You can, of course, name your macro cancel instead of cancel_cross. The cancelcolor is also optional, and in the case above, redundant.