User
% time ./v1 ./v1 0.57s user 0.00s system 63% cpu 0.906 total
% time ./v3 ./v3 0.23s user 0.00s system 59% cpu 0.394 total
Решил проверить, и оказалось что наоборот. Вариант без переменой работает быстрее в два раза.
% time ./v1
./v1 0.57s user 0.00s system 63% cpu 0.906 total
% time ./v3
./v3 0.23s user 0.00s system 59% cpu 0.394 total
Также решил проверить насколько быстрее (len>>1) от (len/2), но компилятор компилирует этот код совершенно одинаково.