Большое предположение: если вы действительно хотите использовать свою собственную библиотеку, я бы сначала заменил алгоритм деления на длинное деление.
Чтобы подтвердить мои предположения: у вас есть cmp и shr во внутреннем цикле вашего подразделения, являются ли эти вызовы основным вкладчиком в вашем профиле или они приходят откуда-то еще? В общем, когда вы профилируете, вы должны сначала взглянуть на функции более высокого уровня, которые вносят большой вклад, и изменение там алгоритмов обычно более полезно, чем настройка функций низкого уровня.