let neg_interval r =
match r.D.inf,r.D.sup with
| Some j, None -> {D.inf = None ; D.sup = Some (F.e_ineg j)}
| None , Some j -> {D.inf = Some (F.e_ineg j) ; D.sup = None}
| Some j, Some k -> {D.inf = Some (F.e_ineg k) ; D.sup = Some (F.e_ineg j)}
| None, None -> r