Add bulk::noncommutative_reduce algorithm.
Implement the noncommutative path.
Use temporary_array to contain the carries.