Hi,
I figured out another workaround: just defining comparison operators taking into account approximate equality:
(≲)(x,y) = <(x,y) | ≈(x,y)
(⋦)(x,y) = <(x,y) & !≈(x,y)
(≳)(x,y) = >(x,y) | ≈(x,y)
(⋧)(x,y) = >(x,y) & !≈(x,y)
So, replacing >= by ≳ and < by ⋦ seems to make the range examples work with floats work as expected for rationals/integers.