The first lambda computes the expression over the range, giving a result for that range.
The second lambda combines the results from two range computations, giving a result for the combination of the two ranges.
The second lambda will only get called if the parallel_reduce
breaks up the operation into multiple ranges.