UNROLL
while (len > UNROLL) {
r += UNROLL;
a += UNROLL;
len -= UNROLL;
if (len == UNROLL) {
goto UNROLL; /* finish up with 1 good arg */
goto UNROLL; /* finish up with 1 good arg */
goto UNROLL; /* finish up with 2 good args */
goto UNROLL; /* finish up with 2 good args */
goto UNROLL; /* finish up with 2 good args */
goto UNROLL; /* finish up with 3 good args */
goto UNROLL; /* finish up with 3 good args */
UNROLL: