A slightly different arrangement frees up an extra register in the core inner loop