let inv i =
match i.lo, i.hi with
| Some(alpha, l), Some(h, beta)
when Q.is_pos l || Q.is_neg h ->
let lo = Some(beta, Q.inv h) and hi = Some(Q.inv l, alpha) in
make (Dom.Real, lo, hi)
| _ ->
mk_real