rev-num without creating a list and all
Using multiple-value-bind reduces time by ~3%. But still slow.

Real time: 57.77757 sec.
Run time: 57.76361 sec.
Space: 39520 Bytes

                                                   Cons
                 %      %                          Per      Total     Total
Function        Time   Cons    Calls  Sec/Call     Call     Time      Cons
------------------------------------------------------------------------------
REV-NUM:       83.35    0.00  5518049  0.000007        0    40.785           0
NESTED-LOOPS:  16.65  100.00        1  8.148481    39520     8.148       39520
------------------------------------------------------------------------------
TOTAL:        100.00  100.00  5518050                       48.934       39520
Estimated monitoring overhead:  8.83 seconds
Estimated total monitoring overhead:  8.83 seconds
Alright, C-c C-k will compile and load in Emacs, 30 sec -> 3 sec!
Nested function hurts. If it is declared outside, takes 2.72 sec, but nested func takes 11.2 sec!
Replaced (do ...) with (loop ...). No speed improvement.
Removed old definitions (list-based traversal)
Put back old definitions