Michael,
The result you obtained is not very suprising: you assign the old
values of f to G first and then generate new values for f. When you
plot G, you're plotting the old values of f.
With a fresh kernel, the first time you run this you'll see that the
plot won't work. That's because G has been assigned the value f which
the first time is omly a symbol and not a value at all.
Cheers -- Sjoerd