True that GCC outputs a bit better code than I do with this.
I may copy what it outputs instead.
http://pastie.org/9114064