You could always run several searches in parallel with normal binary searches as well, since this offers no substantial advantages over a branching method.
Unless I'm missing something major?
How would you run several searches in parallel on a single core without doing something like this?