https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97635
--- Comment #1 from Joseph S. Myers <jsm28 at gcc dot gnu.org> --- With some analysis of the worst cases (for every possible pair of source and target exponents) using continued fractions, it would also be possible to determine a single precision value that is always correct for any given pair of formats, so that computing a string to that precision will produce a correct result and exceptions regardless of the binary and decimal rounding modes, without any special handling of subnormals being needed. Heuristically, that would be roughly the precision of the decimal format that's the target of the conversion, plus log to base 10 of the number of different values in the source format.