Faster implementation of sum

This implementation still uses pairwise summation, which accumulates the sequential sum of small blocks.

The sequential sum uses a faster implementation, where the sum is unrolled into four way accumulation. This not only makes more effective use of the instruction pipeline, but also allows larger (4x) block size while achieving the same level of accuracy.