P1788
(A)
On 20 Jun 2013, at 19:10, G. William (Bill) Walster wrote:
In my opinion, as long as the syntax and semantics are made clear, so there is no confusion about when multiple occurrences of the same interval variable are dependent, I think any cset invariant simplification should be permitted by the standard.
I agree (except for the word "cset", unfortunately). But with respect, the issues raised by Richard & Bill are not Level 2 issues. They are independent of precision, and concern language semantics and algorithms.
(B)
On Baker's comment below. I don't think the standard has anything to say about such a P. I think you are assuming some implementer who says
"Here's an implementation of 1788 with all the required functions"
-- and someone checks that out and it's all OK --
"and by the way, here is an interval implementation of function P which isn't mentioned in 1788"
(or a compiler facility, such as Richard mentions, that produces such implementations automatically for a class of functions)
-- but it turns out not to ensure containment.
As far as I can see
- The question "Does P violate 1788"? is as meaningless as
"Does this piece of cheese violate 1788"?
since 1788 says nothing about P.
- The fact that P is no good doesn't make the rest of the
implementation non-conforming. Unless our conformance
requirements explicitly say the contrary, and that seems
a bit OTT to me.
On 20 Jun 2013, at 16:03, Ralph Baker Kearfott wrote:
If P were not explicitly listed in the standard, and the value
it returned would contain the actual range, that certainly
would not be prohibited by the standard. (However, I would think
it would not be controversial that, if the evaluation of P were
part of a package claimed to be standard-conforming, the value of P
shall contain the actual range. I'll need to check our present
draft document carefully to see whether or not that is clear.)
That's just my personal take on it.
Best regards,
Baker
On 06/20/2013 09:27 AM, Richard Fateman wrote:
I am unclear as to whether you are excluding from consideration as
standard-conforming the following compiler
"optimization":
let y := ...some explicit polynomial P in the interval variable x.
The compiler recognizes P as a polynomial, computes (at compile time)
locations and values at
its relative maxima and minima, and at run-time uses this information to
compute inf(y) and sup(y) on the interval x entirely without
dependency slop.
John Pryce