let rec pp_loc fmt l = match l with
      | L0addr v -> Format.fprintf fmt "@@%s" v.vname
      | L0depl (x, ch) ->
          Format.fprintf fmt "%a+%a" pp_loc x pp_epath ch
      | L0shift (p, i) ->
          Format.fprintf fmt "(%a+%a)" pp_loc p F.pp_term i
      | L0ptr p -> Format.fprintf fmt "%a" F.pp_term p
    and pp_epath fmt ch = match ch with
      | Pfield f -> Format.fprintf fmt ".%s" f.fname
      | Pidx i -> Format.fprintf fmt "(%a)" F.pp_term i