1. A computer-implemented method for producing a binary-level conditional branch reversal within a binary program on a computer architecture that supports a predicated execution, comprising: obtaining a predicate expression representing a condition that influences a direction of program flow of the binary-level conditional branch to be reversed; determining a binary-level transformation that causes the binary-level conditional branch to be triggered when an opposite condition is true; and modifying the binary-level conditional branch with the determined binary-level transformation, wherein the binary-level conditional branch is reversed.