Auxiliary variables remain unchanged after last cycle

Sometimes a loop requires auxiliary variables, which change each cycle, but after the last one, they must either remain unchanged or it is useless to change them.

For these cases it would be useful this improvement.




/* author: ncomputers.org */
int main(){
    unsigned int loop1=0;
    unsigned int loop2;
    unsigned int result=0;
    unsigned int auxiliary1=1,auxiliary2=2,auxiliary3=3;
    while(loop1++<1000000000){
        /*
         * Allow initializers (extra improvement)
         */

        do(loop2=0){
            result+=auxiliary1;
            result-=auxiliary2;
            result*=auxiliary3;
        }while(++loop2<10){
            /*
             * Statements that will happen after the execution of each cycle
             * and only if there is a next cycle.
             */

            auxiliary1+=auxiliary3;
            auxiliary2*=auxiliary1;
            auxiliary3-=auxiliary2;
        }
    }
    return 0;
}