#include <iostream>
#include <iomanip>
#include <cmath>
int main(void) {
double max1 = pow(2, 64) - 1;
std::cout << "pow(2, 64) - 1 = " << std::fixed << max1 << '\n';
std::cout << "Previous representable value: " << std::nextafter(max1, 0) << '\n';
std::cout << (pow(2, 64) - 1 == pow(2, 64)) << '\n';
long double max2 = pow(2.0L, 64) - 1.0L;
std::cout << std::fixed << max2 << '\n';
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8aW9tYW5pcD4KI2luY2x1ZGUgPGNtYXRoPgoKaW50IG1haW4odm9pZCkgewoJZG91YmxlIG1heDEgPSBwb3coMiwgNjQpIC0gMTsKCXN0ZDo6Y291dCA8PCAicG93KDIsIDY0KSAtIDEgPSAiIDw8IHN0ZDo6Zml4ZWQgPDwgbWF4MSA8PCAnXG4nOwoJc3RkOjpjb3V0IDw8ICJQcmV2aW91cyByZXByZXNlbnRhYmxlIHZhbHVlOiAiIDw8IHN0ZDo6bmV4dGFmdGVyKG1heDEsIDApIDw8ICdcbic7CglzdGQ6OmNvdXQgPDwgKHBvdygyLCA2NCkgLSAxID09IHBvdygyLCA2NCkpIDw8ICdcbic7CgkKCWxvbmcgZG91YmxlIG1heDIgPSBwb3coMi4wTCwgNjQpIC0gMS4wTDsKCXN0ZDo6Y291dCA8PCBzdGQ6OmZpeGVkIDw8IG1heDIgPDwgJ1xuJzsKCQoJcmV0dXJuIDA7Cn0K