Apply UB constraints only on the relevant Phi branches

This patch fixes the unsoundness issue #13.
This doesn't look like valid IR. From the langref:

> For the purposes of the SSA form, the use of each incoming value is deemed to occur on the edge from the corresponding predecessor block to the current block