#include <iostream>
#include <cmath>
#include <cfloat>
int main()
{
double d = 1'000'000;
double nextEpsilon = d + DBL_EPSILON;
double next = nextafter(d, 2 * d);
std::cout.precision(17);
std::cout << d << std::endl;
std::cout << nextEpsilon << std::endl;
std::cout << next << std::endl;
if (d == nextEpsilon) {
std::cout << "nextEpsilon is identical\n";
}
if (d == next) {
std::cout << "next is identical\n";
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y21hdGg+CiNpbmNsdWRlIDxjZmxvYXQ+CgppbnQgbWFpbigpCnsKICAgIGRvdWJsZSBkID0gMScwMDAnMDAwOwogICAgZG91YmxlIG5leHRFcHNpbG9uID0gZCArIERCTF9FUFNJTE9OOwogICAgZG91YmxlIG5leHQgPSBuZXh0YWZ0ZXIoZCwgMiAqIGQpOwoKICAgIHN0ZDo6Y291dC5wcmVjaXNpb24oMTcpOwogICAgc3RkOjpjb3V0IDw8IGQgPDwgc3RkOjplbmRsOwogICAgc3RkOjpjb3V0IDw8IG5leHRFcHNpbG9uIDw8IHN0ZDo6ZW5kbDsKICAgIHN0ZDo6Y291dCA8PCBuZXh0IDw8IHN0ZDo6ZW5kbDsKCiAgICBpZiAoZCA9PSBuZXh0RXBzaWxvbikgewogICAgICAgIHN0ZDo6Y291dCA8PCAibmV4dEVwc2lsb24gaXMgaWRlbnRpY2FsXG4iOyAgIAogICAgfQogICAgaWYgKGQgPT0gbmV4dCkgewogICAgICAgIHN0ZDo6Y291dCA8PCAibmV4dCBpcyBpZGVudGljYWxcbiI7CiAgICB9Cn0=