The CReal type implements (constructive) real numbers.
Note that the comparison operations on CReal may diverge
since it is (by necessity) impossible to implementent them
correctly and always terminating.
This implementation is really David Lester's ERA package.