do i=a1, a2, a3 end do loop_splitting (x) if a3>0 do a=a1, min(a2,x), a3 end do do a=max(a1, int(((x-a1)/a3)+1)*a3+a1), a2, a3 end do else do a=a1, max(a2,x), a3 end do do a=min(a1, int(((x-a1)/a3)+1)*a3+a1), a2, a3 end do end if