avoided the creation of temporary variables when an argument is passed to the recursive call unchanged, or only a single argument is passed