5.1.2.3 jprob Instruction

This instruction has the following forms:

        jprob   number, loc_label
var_def jprob   number, loc_label
        jprob   var_use, loc_label

The instruction specifies control transfer to a location label loc_label with probability number or with profile probability stored in a previously defined variable var_use. A data label var_def defines a probability variable var_def with initial value number. The parameter number must be in the range 0 to 1 inclusive. The assembler supports fixed-point and exponential notation for number.

The jprob instruction effectively sets a profile probability in the action emission matrix or at least one profile probability in the state transition matrix:

Let us consider a block of jprob instructions like this:

        jprob   prob1, L1
        jprob   prob2, L2
        jprob   prob3, L3

The probabilities of jumps to various destinations are the following:

Jump DestinationProbability Value
The location label L1prob1
The second jprob instruction1−prob1
The location label L2(1−prob1)*prob2
The third jprob instruction(1−prob1)*(1−prob2)
The location label L3(1−prob1)*(1−prob2)*prob3
An instruction following the third jprob instruction(1−prob1)*(1−prob2)*(1−prob3)