When he has a spare moment, he prepares both a deposit and withdrawal slip for each customer. Then he uses the appropriate slip and discards the other. The teller now works more efficiently without causing the customers in line to wait. This is similar to predication. The predicates allow both sets of instructions to be executed, but only those that are needed actually get used.
Predication can remove many branches and reduce mispredicts significantly.
A study in ISCA '95 by S. Malhlke, et. Thus, predication enables increased performance resulting from greater parallelism and better utilization of an IA-64 based processor's performance capabilities. When new customers open accounts, they hold up the entire line while they fill out the paperwork at the counter. Similarly, memory latency stalls the processor, leaving it idle until the data arrives from memory. The new 64-bit ISA uses speculation, a method of allowing the compiler to initiate a load earlier, even before it is known to be needed.