Merging these functions allows merging some loops, which makes the results (particularly after SIMD optimizations) much faster.