Thread Links Date Links
Thread Prev Thread Next Thread Index Date Prev Date Next Date Index

Re: Revised FlavorsText



Guillaume

On 2014 Mar 19, at 09:25, Guillaume Melquiond wrote:
>> I agree with Guillaume in the sense that two different implementations of an operation phi are often (usually?) incomparable de facto, in the sense that for a general xx, neither of yy1=phi1(xx) and yy2=phi2(xx) is guaranteed to be a subset of the other. But a mode is a *named assertion about* accuracy. How many of those is it useful to have? We don't invent one for each implementation of phi.
> 
> I understand that there is a difference between "documented" and "actual" accuracy of a function, and I am fine with that. But I don't think it invalidates my point. Let us take an example.
> 
> Consider an interval cosine function with an implementation such that the results are optimal enclosures for inputs smaller than 4pi and just noise (that is, [-1;1]) for inputs larger than 2^50. (I know of at least one interval library that somehow behaves like that.) In other words, the function does not satisfy the prerequisites of the "accurate" mode (overestimation by at most one ulp in the inputs), yet for most intent and purpose, it fits the "tight" mode.
> 
> So the implementer has three choices:
> 1. classifying the function in a "not even accurate" mode
> 2. improving the quality of the function at the cost of some heavy work
> 3. coming up with a new mode "tight in practice"

Isn't your objection met by what the text says:
In 12.10.1
> Each mode is in the first instance a property of an individual evaluation of an operation f of type T over an input box x...


and further on
> 12.10.3. Documentation requirements. An implementation shall document the tightness of each of its interval operations for each supported bare interval type. This shall be done by dividing the set of possible inputs into disjoint subsets (“ranges”) and stating a tightness achieved in each range...

And it gives a suggested table, with an example similar to yours. So AFAICS the implementer can issue the code as is, plus a statement of achieved accuracies in various ranges. Am I missing something?

John