tail vs divide recursion