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)}
      | NoneNone -> r