On Sat, 27 Dec 2014, Tamas Papp wrote:
The only reasonably cogent argument I know is mentioned in #8750 (unbiasedness). I am glad that the issue is now closed, since that means no more electrons are wasted on it, but I am still curious about practical examples where rounding mode makes a difference in numerical code. All I have seen rely on ill-conditioning, which is a separate issue.
My understanding is that the ability to round up or down is useful for examining your computation's sensitivity to round off errors. This use case assumes you can manually set the rounding mode to one of the flavors supported by IEEE-754. For example, you'd set rounding to "round towards +inf", do your computation and get your result. Then you'd set rounding to "round towards -inf", and do the same thing. Then compare the two results. If they're "close enough", then your computation is robust. If the results differ wildly, then you have a problem -- probably your computation is ill conditioned, as you say. FWIW, this is similar to (but not the same as) "interval arithmetic", another way to quantify your computation's sensitivity to round-off errors. http://en.wikipedia.org/wiki/Interval_arithmetic I don't know if Julia supports the ability to change rounding mode on the fly. However, I believe that the Intel C compiler does support changing rounding modes at compile time, albeit using compiler flags -- not as convenient as issuing a library call or typing a command at a command prompt. Stuart
