User
private int getMillis(int ticks) { return (ticks >> 5) - 3*(ticks >> 12); }
private int getMillis(int ticks) { return (ticks - (ticks >> 7) - (ticks >> 6)) >> 5; }
к этому:
без особых усилий можно было перейти. Точность наверное меньше, чем в окончательном варианте, но больше чем у исходной реализации.