let p_interval ~atomic (ofs,sz) te rg =
    let s = sizeof ~atomic te in
    match rg with
      | { D.inf=None ; D.sup=None } -> ofs,sz
      | { D.inf=None ; D.sup=Some p } -> ofs,F.e_iop Imul s p
      | { D.inf=Some a ; D.sup=None } -> ofs,F.e_iop Isub sz (F.e_iop Imul s a)
      | { D.inf=Some a ; D.sup=Some b } ->
          F.e_iop Iadd ofs (F.e_iop Imul s a) ,
          F.e_iop Imul s (F.e_iop Iadd (F.e_int 1) (F.e_iop Isub b a))