I think not, actually.  The purpose of this is to convert a float to a rational if a float is inadequate to represent it.  Since integers and [denominators with a power of 2] can be perfectly represented by a floating point number, we should expect to find 1.0000000001 here unless the user really meant it.  It's only the case of the imperfectly represented floats that we need to be fuzzy.