Quick answer, got to run...
> Which would you like? My recollection is that there is some
> "epsilon" in the rationalize code in maxima.
Yes, though it's not user-settable in the float/bfloat case.
> If you set it to less than one-unit-in-the-last-place
> (ULP) of the single or double float representation, then you
> get the version that Stavros wants.
No, that doesn't work. It is perfectly possible that there is a
rational other than xxxx/2^53 which is in the range << 2*xxxx-1 ..
2*xxxx+1 >> /2^53. Anyway, the code doesn't work for ratepsilon <
floatepsilon.
> I would prefer having that epsilon around if possible.
That's certainly a possibility, but it is yet another random option....
I don't think it's wise to conflate it with ratepsilon. If we at least
had some rational structure to all these options and their names, it
might be better.
-s