it appears we're just a few registers short in the 'rolled' case
unrolled variants seem to work also
prepared for use in the round function
split off general purpose macros
nearly there