Split predit into multiple functions

Split predictor function into multiple parts to make
the usage for hybrid style more easier, as the counters change.