https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119014
--- Comment #21 from Vincent Lefèvre <vincent-gcc at vinc17 dot net> --- (In reply to Jakub Jelinek from comment #20) > C23 documents it in detail, and so does float.h: [...] > So, only __FLT_EVAL_METHOD_TS_18661_3__ should be possibly 16 for > -fexcess-precision=16. What C23 documents applies *only* when -fexcess-precision=standard, as this is the only -fexcess-precision value for which GCC is documented to be conforming concerning the range and precision ("When compiling C or C++, if -fexcess-precision=standard is specified then excess precision follows the rules specified in ISO C99 or C++"). So, with -fexcess-precision=standard, one cannot deduce anything from what C23 says.