“…Since l 0 ≤ u 0 , the execution enters the loop body, adds the constraint m 0 = (l 0 + u 0 )/2, which simplifies to m 0 = 3 (3.5 is rounded down to the integer 3, since / is the division on integers), and considers the conditional statement on lines 6-7. The execution of the statement is nondeterministic: Indeed, both t 0 [3] = v 0 and t 0 [3] = v 0 are consistent with the constraint store, and thus the two alternatives, which give rise to two execution paths, must be explored. Note that these two alternatives correspond to actual execution paths in which t [3] in the input is equal to, or different from, input v. The first alternative adds the constraint t 0 [3] = v 0 to the store and executes line 7, which adds the constraint result = m 0 .…”