title: Why put the most likely condition first in an `if-else` statement?
body: <p>I've heard this often enough to actually question it - many people say that in an if-else statement, one should put the condition that is most likely to be true first. So, if <code>condition</code> is likely to be false most of the time, put <code>!condition</code> in the if statement, otherwise use <code>condition</code>. Some contrived illustration of what I mean:</p>
  
  <pre><code>if (likely) {
      // do this
  } else {
      // do that
  }
  
  if (!unlikely) {
      // do this
  } else {
      // do that
  }
  </code></pre>
  
  <p>Some people say that this is more efficient - perhaps due to branch prediction or some other optimization, I've never actually enquired when the topic has been breached - but as far as I can tell there will always be one test, and both paths will result in a jump.</p>
  
  <p>So my question is - is there a convincing reason (where a "convincing reason" may be a tiny efficiency gain) why the condition that is most likely to be true should come first in an if-else statement?</p>