www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Unum rebuttal

reply Walter Bright <newshound2 digitalmars.com> writes:
https://people.eecs.berkeley.edu/~wkahan/UnumSORN.pdf

Prof Kahan, who pretty much invented IEEE 754 floating point arithmetic,
debunks 
unums. Unums pop up now and then with "why don't we support them?"

The bottom line is there is no magic solution to floating point problems. Unums 
just trade one set of problems for another.
Sep 14 2017
next sibling parent reply Joseph <JE342 gmail.com> writes:
On Friday, 15 September 2017 at 03:49:02 UTC, Walter Bright wrote:
 https://people.eecs.berkeley.edu/~wkahan/UnumSORN.pdf

 Prof Kahan, who pretty much invented IEEE 754 floating point 
 arithmetic, debunks unums. Unums pop up now and then with "why 
 don't we support them?"

 The bottom line is there is no magic solution to floating point 
 problems. Unums just trade one set of problems for another.
It's hard to know what's going on when there are mistakes in his examples that lead to wrong behavior. How can be be taken seriously if his rebuttle has basic mistakes and typos? https://people.eecs.berkeley.edu/~wkahan/EndErErs.pdf page 5: (y - sqrt(y^2 + 1)) - 1/(y + sqrt(y^2 + 1)) is not zero for all y. I assume he means (y - sqrt(y^2 + 1)) + 1/(y + sqrt(y^2 + 1))
Sep 14 2017
parent reply Timon Gehr <timon.gehr gmx.ch> writes:
On 15.09.2017 06:14, Joseph wrote:
 ... How can be be taken seriously if
 his rebuttle has basic mistakes and typos?
 
:-)
 https://people.eecs.berkeley.edu/~wkahan/EndErErs.pdf
 page 5:
 
 (y - sqrt(y^2 + 1)) - 1/(y + sqrt(y^2 + 1))
 
 is not zero for all y.
 
 I assume he means
 at
 (y - sqrt(y^2 + 1)) + 1/(y + sqrt(y^2 + 1))
 
 
No, he means what he wrote, which is |y-√(y²+1)| - 1/(y+√(y²+1)). In D notation: abs(y-sqrt(y^^2+1)) - 1/(y+sqrt(y^^2+1)).
Sep 15 2017
parent reply Joseph <JE342 gmail.com> writes:
On Saturday, 16 September 2017 at 02:27:23 UTC, Timon Gehr wrote:
 On 15.09.2017 06:14, Joseph wrote:
 ... How can be be taken seriously if
 his rebuttle has basic mistakes and typos?
 
:-)
 https://people.eecs.berkeley.edu/~wkahan/EndErErs.pdf
 page 5:
 
 (y - sqrt(y^2 + 1)) - 1/(y + sqrt(y^2 + 1))
 
 is not zero for all y.
 
 I assume he means
 at
 (y - sqrt(y^2 + 1)) + 1/(y + sqrt(y^2 + 1))
 
 
No, he means what he wrote, which is |y-√(y²+1)| - 1/(y+√(y²+1)). In D notation: abs(y-sqrt(y^^2+1)) - 1/(y+sqrt(y^^2+1)).
What are you saying? You haven't changed anything but slight notational differences. It's still wrong, so if he really means that then he is wrong, else it's just you.
Sep 15 2017
parent Timon Gehr <timon.gehr gmx.ch> writes:
On 16.09.2017 05:32, Joseph wrote:
 On Saturday, 16 September 2017 at 02:27:23 UTC, Timon Gehr wrote:
 On 15.09.2017 06:14, Joseph wrote:
 ... How can be be taken seriously if
 his rebuttle has basic mistakes and typos?
:-)
 https://people.eecs.berkeley.edu/~wkahan/EndErErs.pdf
 page 5:

 (y - sqrt(y^2 + 1)) - 1/(y + sqrt(y^2 + 1))

 is not zero for all y.

 I assume he means
 at
 (y - sqrt(y^2 + 1)) + 1/(y + sqrt(y^2 + 1))
No, he means what he wrote, which is |y-√(y²+1)| - 1/(y+√(y²+1)). In D notation: abs(y-sqrt(y^^2+1)) - 1/(y+sqrt(y^^2+1)).
What are you saying?
I'm saying that there is no mistake in the expression you indicate nor in the claims made about it.
 You haven't changed anything but slight notational 
 differences.
The first expression you showed did not take the absolute value of the minuend. The second expression you showed also demonstrates rounding error, but it is not what he meant to write.
 It's still wrong,
He says the function Q is zero for all positive arguments, which it is.
 so if he really means that then he is 
 wrong, else it's just you.
 
I'll go as far as to agree that one of the three of us is wrong. (Or let's make it four; the expression and a slightly weaker version of the claim also occur in Gustafson's book.)
Sep 16 2017
prev sibling next sibling parent mate <aiueo aiueo.aiueo> writes:
On Friday, 15 September 2017 at 03:49:02 UTC, Walter Bright wrote:
 https://people.eecs.berkeley.edu/~wkahan/UnumSORN.pdf

 Prof Kahan, who pretty much invented IEEE 754 floating point 
 arithmetic, debunks unums. Unums pop up now and then with "why 
 don't we support them?"

 The bottom line is there is no magic solution to floating point 
 problems. Unums just trade one set of problems for another.
Prof. Gustafson refutes the critique on this one paper during a debate with Prof. Kahan: https://www.youtube.com/watch?v=LZAeZBVAzVw It seems to me unums are a nice design to make floating point computation accessible to more. It does not solve all problems, but it does not need to to improve the situation.
Sep 14 2017
prev sibling next sibling parent reply Timon Gehr <timon.gehr gmx.ch> writes:
On 15.09.2017 05:49, Walter Bright wrote:
 
 The bottom line is there is no magic solution to floating point 
 problems.
What about implicit precision-tampering? ;)
Sep 15 2017
parent Walter Bright <newshound2 digitalmars.com> writes:
On 9/15/2017 7:53 PM, Timon Gehr wrote:
 What about implicit precision-tampering? ;)
User error, do not pass Go, do not collect $200. --- That reminds me, we do have a solution for the rounding issue: https://github.com/dlang/druntime/pull/1621 It's been drifting there for over a year.
Sep 15 2017
prev sibling parent Nick Barbalich <nick.barbalich gmail.com> writes:
On Friday, 15 September 2017 at 03:49:02 UTC, Walter Bright wrote:

 The bottom line is there is no magic solution to floating point 
 problems. Unums just trade one set of problems for another.
Walter so what do you see as the trade-offs as being ? Nick
Sep 15 2017