я вообще смысла чет очень мало вижу, всё что меняется это деление на 2,3,4,5.. Так собственно в чём смысол то? Битовый сдвиг вместо деления и на это такую раскладку? Вся производительность теряется
на проверках, но все ещё остаётся (помимо вообще всего что тут происходит))) 1. вынести 3 строки в конец и выбирать ... Начальное... В каком то виде. 2. Узнать статистику случаев и начинать проверку с самых ходовых и так в порядке умеьншения вероятности