<html><head><meta http-equiv="Content-Type" content="text/html charset=iso-8859-1"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">With the help of Nuno and the Alive tool, I figured out the new condition.  <span style="font-size: 11px;">The original condition actually refers to the following two ranges:</span><div><span style="font-size: 11px;">(icmp ult/ule (A + C1), C3) | (icmp ult/ule (A + C2), C3)</span><span style="font-size: 11px;"> ==</span><span style="font-size: 11px;"> </span><span style="font-size: 11px;"> [MAX_UINT-C1+1, MAX_UINT-C1+1+C3] and [MAX_UINT-C2+1, MAX_UINT-C2+1+C3]</span><div style="margin: 0px; font-size: 11px;"> We can fold these two range sif:</div><div style="margin: 0px; font-size: 11px;"> 1) C1 and C2 is unsigned greater than C3</div><div style="margin: 0px; font-size: 11px;"> 2) The two ranges are separated.  abs(LowRange1-LowRange2) > C3</div><div style="margin: 0px; font-size: 11px;"> 3) C1 ^ C2 is one-bit mask.</div><div style="margin: 0px; font-size: 11px;"> 4) LowRange1 ^ LowRange2 and HighRange1 ^ HighRange2 are one-bit mask.</div><div><br></div><div>Here is the new patch:</div><div></div></div></body></html>