Extended Description
If the loop is a loot with random access iterators and the iteration
construct is represented it += n, then the compiler crashed because of
reusing of the same MaterializedTemporaryExpr around N. Patch fixes it
by using the expression as written, without any special kind of
wrappings.
Note: I'm not really sure if we should merge this one: It touches quite a few tests and needs the second commit to fix the test. Just marking this for discussion, feel free to close if we don't want to merge it.