I actually took this code as challenge to learn how to put together idiomatic, fast Clojure code that read better than the original Java on which it is based.
Of course, nearly a year later since I wrote this version, I can see ways to make it even faster (nearly on par with Java and faster when parallel), cleaner and more elegant.