Спасибо за помощь в создании сдвига. Вот только одна загвоздка: при оптимизации сдвига его число стремиться к числу "начинать с", которое в свою очередь тоже не оптимизируется.