However, because they are each generated within a separate loop, they may require preparatory steps such as the distribution of the loop over the then and else cases in order to get the two if tests positioned so that there is an opportunity to merge them.