in reply to does perl have branch prediction

With respect to your condition fun_a($x) && fun_b($x) &&.....&&fun_z($x):

As C++ like Perl short-circuits && (Short-circuit_evaluation), it should not re-order the evaluation as there can always be side-effects (like changing the value of a global variable) in fun_z($x). The program logic could be very different even if the (boolean) result of the expression is the same.