Optimal Separable Algorithms to Compute the Reverse