If the iteration bounds are statically known (i.e. 0...10 in above example) you can avoid the loop by unrolling it, or using some kind of explicit parallelism, like SIMD for example.
In general, the iteration bounds aren't known and some kind of loop is required.
In general, the iteration bounds aren't known and some kind of loop is required.