Getting all that working is pretty heavy stuff. Good on you :-)
I love doing that.well, the change from my original looping algorithm to this algorithm is a change from linear search to binary search (if I understand this algorithm correctly) and the speed up is well over 4 times =)
"What did you do at work today, dear?"
"Oh, I just made something several hundred times faster..."