<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div>On Feb 17, 2012, at 1:11 AM, Jordy Rose <<a href="mailto:jediknil@belkadan.com">jediknil@belkadan.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; display: inline !important; float: none; ">Nice idea for a checker. The one thing I'm wondering is why you decided to use this less than / greater than approach...it might not matter here, but in general statements about equality and inequality are a bit easier for the analyzer to reason about than less than and greater than. It requires the same number of checks, too:</span><br style="color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "></blockquote></div><br><div>Hi Jordy,</div><div><br></div><div>Thanks. This is my first checker and the patch I submitted is the result of a few iterations with Ted. Indeed I originally wrote it using equality and inequality as you suggested, but Ted recommended the approach used now:</div><div><br></div><div><blockquote type="cite">[...] I can say that you are definitely going into territory where the current solver isn't going to handle this well.  It currently doesn't reason about arbitrary disjunctions.  We currently accomplish that feat in the static analyzer by bifurcating states.<br></blockquote><br></div><div>So, we settled on (x <= 1) && (x >= 0) as you see in the patch.</div><div><br></div><div>Best,</div><div>Ryan</div></body></html>