let subst_lval env _t lval v_exp p =
debug1 "[subst_lval] %a <- %a@." pp_loc lval pp_value v_exp;
let wp = subst env lval (logic_of_value v_exp) p in
if X.with_guards
then
(* be carreful that the guard is computed on [p], NOT on wp *)
let g = prepare_guard lval p in F.p_and g wp
else wp