Специально для желающих сделать итерации самостоятельно, возможно, не до конца, если не нужна полная точность, в SSE добавили быстрые инструкции для получения начального приближения и для обратного корня, и для обратной величины.
Про SSE, наверное, неплохая идея - надо будет попробовать.
Иногда возможно эти другие выражения преобразовать, чтобы уменьшить количество медленных операций.
Это не тот случай, к сожалению.
Ещё одна идея: можно хранить длины векторов отдельно от самих векторов и пересчитывать по необходимости.
Вот это неплохая идея, хотя и требует памяти. Дело в том, что мне эти корни для каждого вектора надо вычислять много раз, при чём каждый раз величина корня меняется не слишком значительно - это можно использовать.