https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109008

--- Comment #10 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
So, can't we say compute what we compute right now for the reverse operation
and then call some helper function which will try to extended that range a
little bit in both directions by performing frange_arithmetic (or variant
thereof) on the original operation and checking if the other op's range OP the
slightly extended range still yields the result range?  Of course it would be
better if we knew how to exactly compute that rather than try to iteratively
guess, but even iterative guess could say punt after a few iterations on
smallest range extension which would already result in a different range. 
Though, I bet reverse multiplication/division are even harder because there we
perform the reverse operation of all the boundaries against each other and
union.

Reply via email to