Hmm, what is the difference between your 2nd and 3rd example?

Finally is result the same for all cases?

My sense is that a good compiler should deal with all these more effectively.

Ioannis