Optimizing Lisp Some More
nklein.com
nklein.com
It also might be good to use a macro or compiler macro to unroll the loops, then you don't have to worry about manipulating 2 looping pointers. All you'd end up with is a bunch of constant arefs and addition/multiplication.
He also might want to set debug to 0, although I don't have any way to test that (or any of this) at the moment.
Then you get something that looks like this:
http://paste.lisp.org/display/120946
I haven't tested it (I don't even know if it works!), but the disassembly looks faster...
/rampant speculation.