Multiway branch
Multiway branch is the change to a program's control flow based upon a value matching a selected criteria. It is a form of conditional statement. A multiway branch is often the most efficient method of passing control to one of a set of program labels, especially if an index has been created beforehand from the raw data.
Examples
Branch table
Switch statement - see also alternatives below
Multiple dispatch - where a subroutine is invoked and a return is made
Alternatives
A multiway branch can, frequently, be replaced with an efficient indexed table lookup (using the data value itself or a calculated derivative of the data value, as the index of an array)
"A Superoptimizer Analysis of Multiway Branch Code Generation" by Roger Anthony Sayle
can be replaced, using a "safe-hashing" technique, with -
or it can be replaced, using an index mapping table lookup, with -
(in view of the simplicity of the latter case, it would be preferable to implement it in-line, since the overhead of using a function call may be greater than the indexed lookup itself.)