This must have been found by Newman himself but I only just noticed. Enumerate the nonnegative rationals by iterating "Newman's function": In[96]:= NestList[1/(2*Floor[#] + 1 - #) &, 0, 9] Out[96]= {0, 1, 1/2, 2, 1/3, 3/2, 2/3, 3, 1/4, 4/3} "Oldman's function" runs the sequence back to 0, counting the rationals: In[97]:= NestList[2*Ceiling[1/#] - 1 - 1/# &, 4/3, 9] Out[97]= {4/3, 1/4, 3, 2/3, 3/2, 1/3, 2, 1/2, 1, 0} E.g., 0 is the zeroth rational, 4/3 is the ninth. Oldman is completely unnecessary! Just negate and reciprocate the last value, and Newman runs backwards: In[100]:= NestList[1/(2*Floor[#] + 1 - #) &, -3/4, 9] Out[100]= {-3/4, -4, -1/3, -3/2, -2/3, -3, -1/2, -2, -1, ComplexInfinity} (with a much louder completion announcement). Or if you prefer, Oldman runs the negative rationals forwards: In[99]:= NestList[2*Ceiling[1/#] - 1 - 1/# &, -1, 9] Out[99]= {-1, -2, -1/2, -3, -2/3, -3/2, -1/3, -4, -3/4, -5/3} obviating Newman. --rwg