Progress on if-then-else



>>>>> "Henry" == Henry Baker <hbaker1 at pipeline.com> writes:

    Henry> Using my range analysis program:
    Henry> Given: sqrt(1-sqr(x))

    Henry> where sqr(x) is x^2, we conclude that the result is in the
    Henry> range [0,1], and x must be in the range [-1,1].

So you're saying if we know that sqrt(1-sqr(x)) is in [0, 1], then x
must be in [-1, 1]?  That makes sense to me.

    Henry> Given: sqrt(1-x*x)

    Henry> we conclude that the result is in the range [0,inf), and x
    Henry> must be in the range (minf,inf).  [Note that x*x is not the
    Henry> same as x^2, because x*x is a binary operation on two
    Henry> arguments that happen to be the same ranges, while x^2 is a
    Henry> unary operation on a single range.]

This I don't understand.  How can sqrt(1-x*x) be in the range [0,
inf)?  If x is in the range (minf, inf), then x*x is (minf, inf)
(assuming the x's are different) and 1 - x*x is (minf, inf).  The sqrt
would then be some complex result union [0, inf).  Is that what you
mean?

    Henry> Given: (exp(x)+exp(-x))/2 = 3

    Henry> we conclude that x is in the range (-30/17, 30/17), which
    Henry> is pretty good, considering we don't know about acosh() !

How do you derive that result?

Ray