same optimizations for uints
same optimization for longs; gonna need a test for these since doubling the # of branch points isn't exactly a no-brainer
same optimizations for ulongs
test that unrolling is faster for longs; it's not, which makes some since since it's literally double the number of branches
remove long unrolled versions; this ints are where the gains are; closes #37