https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60540
--- Comment #9 from Harald van Dijk <harald at gigawatt dot nl> --- (In reply to Rich Felker from comment #8) > So arguments about generality to non-Annex-F C > environments are not relevant to the topic here. The comment it was a reply to suggested (possibly unintentionally) that evaluating (float)16777217 would have undefined behaviour if 16777217 could not be represented by float. A clarification that no, the standard says it only has undefined behaviour if it is out of float's range, so GCC cannot optimise on the assumption that such conversions do not happen, is absolutely relevant to the topic here.