You may find it easier to translate Alan Miller’s modernized version of the algorithm, rpoly.f90. His code describes eta as
! eta the maximum relative representation error which can be described
! as the smallest positive floating point number such that
! 1.d0+eta is greater than 1.
and sets it with
eta = EPSILON(1.0)
where epsilon is an intrinsic function described here.
Miller’s code declares some variables as real(kind=dp) and some as just real. I wonder if the code works if all real variables are declared in the former way.