finished branch predictor, tested and synthesized