What does GMP have to do with this? You're using regular doubles.
In any case, it's impossible for a computer to represent all values on the Real line. Libraries such as GMP only offer arbitrary precision, not infinite precision.
"Infinite" means "unbounded". Computers are physically incapable of handling infinite amounts of data.
"Arbitrary" means "as much as needed within the system's limits". The limit is the amount of available memory. For example, a computer with 2^32 bytes of memory could in principle represent all integers in the range [0;2^(8*2^32)).