https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109008
--- Comment #9 from Richard Biener <rguenth at gcc dot gnu.org> --- (In reply to Richard Biener from comment #8) > We basically have to consider an input range [a, b] as [a - x, b + y] > with the largest positive x and y so that correctly rounding the value > yields a and b again. So when we have [a, b] = x + [c, d]; we have to compute x = [a + a', b + b'] - [c + c', d + d']; and because we deal with FP actually do x = [a, b] - [c, d]; x' = [a', b'] - [c', d']; and yield x U x' as result. For other operations it might get more complicated.