I see nothing wrong in replacing 'i + 9' with '*p + 9'. It would
probably not be efficient, but I can't see it being wrong.
If an optimizer pessimizes the code, I'd consider that "wrong".
This isn't a machine-dependent issue: with CPU speeds the way they are,
a memory reference is *always* many times more expensive than an addition.