Unfold range as loop parameter if unrolling failed

Otherwise we end up with very long literals where a simple for loop is
much more efficient.
I am just waiting travis validation for merging this PR but if you have motivation, a test with negative range and range != 1 may be good.