On 14.05.2016 02:49, Timon Gehr wrote:
On 13.05.2016 23:35, Walter Bright wrote:
On 5/13/2016 12:48 PM, Timon Gehr wrote:
IMO the compiler should never be allowed to use a precision different
from the one specified.

I take it you've never been bitten by accumulated errors :-)
...

If that was the case it would be because I explicitly ask for high precision if I need it.

If the compiler using or not using a higher precision magically fixes an actual issue with accumulated errors, that means the correctness of the code is dependent on something hidden, that you are not aware of, and that could break any time, for example at a time when you really don't have time to track it down.

Reduced precision is only useful for storage formats and increasing
speed.  If a less accurate result is desired, your algorithm is wrong.

Nonsense. That might be true for your use cases. Others might actually depend on IEE 754 semantics in non-trivial ways. Higher precision for temporaries does not imply higher accuracy for the overall computation.

E.g., correctness of double-double arithmetic is crucially dependent on correct rounding semantics for double:
https://en.wikipedia.org/wiki/Quadruple-precision_floating-point_format#Double-double_arithmetic

We finally have someone on D.learn who is running into this exact problem:

http://forum.dlang.org/post/[email protected]

Reply via email to