1. Yes, the difference is constant.

2. It is not really constant, but approximately, yes.  With exceptions.

With binary floating point numbers, the expression (f(r)−r)/r is constant within a factor of 2.  For rounding error computations, you can assume it is constant.

A note on 0:  
Obviously, you cannot apply the formula to r=0.  But it is important to know that while f(r)-r decreases when r becomes small, f(0)-0 is much larger than, for instance, f(f(r))-f(r).  There is a huge non-representable gap around 0.