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