Thread overview
Unum rebuttal
Sep 15, 2017
Walter Bright
Sep 15, 2017
Joseph
Sep 16, 2017
Timon Gehr
Sep 16, 2017
Joseph
Sep 16, 2017
Timon Gehr
Sep 15, 2017
mate
Sep 16, 2017
Timon Gehr
Sep 16, 2017
Walter Bright
Sep 16, 2017
Nick Barbalich
September 14, 2017
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.
September 15, 2017
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))


September 15, 2017
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.
September 16, 2017
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)).
September 16, 2017
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? ;)
September 16, 2017
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.




September 15, 2017
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.
September 16, 2017
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


September 16, 2017
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.)