https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110476
--- Comment #1 from Peter Dimov <pdimov at gmail dot com> --- As discussed in https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108742, this is a consequence of applying the FLT_EVAL_METHOD=2 rules, and can be fixed by casting 3.14f to (float). That's... incredibly surprising, though. 3.14f is already a float. For context, I encountered this regression in the Boost.Variant2 test suite when I added GCC 13 to CI.