Loop unrolling is generally done to reduce the number of condition checking and branching. Branching and control instruction create control hazards in the pipelining mechanism. We use several approaches to deal with this control hazard, either we take some branch prediction or we put NOP (stall cycles) in the pipeline. In this particular question, the loop is running two times. If a compiler does not perform any loop unrolling then there will condition check for 3 times, and each of the time either we stall the pipeline or use some branch prediction. Suppose if we are using stall mechanism then 3 times we need to stall the pipeline. But due to unrolling, this condition check, hence the number of control hazard reduces. As the loop is running only two times and unrolling is done we do not need to consider any control hazards and directly can compute the number of cycles required.