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)