Interval Computation Basic Operators:
upper(x) -> return the upper bound of the given interval
lower(x) -> return the lower bound of the given interval
x + y = [lower(x) + lower(y), upper(x) + upper(y)]
x - y = [lower(x) - upper(y), upper(x) - lower(y)]
x * y = [ min{ lower(x) * lower(y), lower(x) * upper(y),
upper(x) * lower(y), upper(x) * upper(y) },
max{ lower(x) * lower(y), lower(x) * upper(y),
upper(x) * lower(y), upper(x) * upper(y) } ]
1 / x = [ 1 / upper(x), 1 / lower(x) ] if lower(x) > 0 or upper(x) < 0
x / y = x * 1/y