Hi Am 2025-07-26 15:45, schrieb Rowan Tommins [IMSoP]:
can_lossless_cast<float>(2 ** 54) === false
That one is incorrect, 2**54 *can* be exactly represented as a `float`. The magic 2**53 boundary just means that the difference between consecutive representable values becomes larger than `1`.
See: https://float.exposed/0x4350000000000000 and try incrementing or decrementing the "Raw Decimal Integer Value".
Best regards Tim Düsterhus