Second version, just a bit cleaner code, less bug-prone, etc: http://codepad.org/BlwSIBKl Timings on linux on DMD 2.0 with * as operation seems much better. Bater, bearophile