1. A computer-implemented method for instruction execution in a pipeline, the method comprising: fetching, in the pipeline, a plurality of instructions, wherein the plurality of instructions includes a plurality of branch instructions; for each of the plurality of branch instructions, assigning a branch uncertainty to each of the plurality of branch instructions; for each of the plurality of instructions, assigning an instruction uncertainty that is a summation of branch uncertainties of older unresolved branches; and balancing the instructions, based on a current summation of instruction uncertainty, in the pipeline.