https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109008
--- Comment #22 from Richard Biener <rguenth at gcc dot gnu.org> --- New real.h API could be extern void real_unround (REAL_VALUE_TYPE *, format_helper, int dir); where for dir < 0 it produces the least significant bits so that rounding produces the original while for dir > 0 it produces the most significant bits so that rounding produces the original.