let e_getfield f r =
match r with
| Tsetfield(g,s,w) when simpl() ->
if Fieldinfo.equal f g
then w (* get set same field *)
else
if f.Cil_types.fcomp.Cil_types.cstruct then
Tgetfield(f,s) (* get set other of record only *)
else
Tgetfield(f,r)
| r -> Tgetfield(f,r)