recursive_reduce function

recursive_reduce