Optimized prolog recursion