<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">On 12/11/13 12:40 PM, Owen Anderson
      wrote:<br>
    </div>
    <blockquote cite="mid:B86BCF07-0482-44F7-96EE-3498E8AEF317@mac.com"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html;
        charset=ISO-8859-1">
      <br>
      <div>
        <div>On Dec 11, 2013, at 12:33 PM, Tim Northover <<a
            moz-do-not-send="true" href="mailto:t.p.northover@gmail.com">t.p.northover@gmail.com</a>>
          wrote:</div>
        <br class="Apple-interchange-newline">
        <blockquote type="cite">On 11 December 2013 20:25, Raoux, Thomas
          F <<a moz-do-not-send="true"
            href="mailto:thomas.f.raoux@intel.com">thomas.f.raoux@intel.com</a>>
          wrote:<br>
          <blockquote type="cite">Well in IEEE-754 Nan + any value
            returns Nan, so doing Nan + undef -> undef is wrong.<br>
          </blockquote>
          <br>
          I see what you mean having re-read the language reference. It
          looks<br>
          like LLVM's "undef" has to be *some* bitpattern at any point,
          and that<br>
          allows IEEE room to come in and say what the result is.<br>
        </blockquote>
      </div>
      <br>
      <div>To generalize this, undef can be any bit pattern, but it
        still has to respect universal constraints of its type.  This
        means that predicates that are true <i>for all</i> <i>values of
          a type</i> must also be true for undef.  Because NaN + x ==
        NaN is true for all values of x, it must also be true for undef.</div>
    </blockquote>
    Seems like this might be another pattern to consider adding (if we
    don't already have it.)<br>
    <br>
    Just to review the patterns which we've discussed so far:<br>
    NaN + any == NaN<br>
    undef + any == NaN (since undef can be NaN) or undef + any (since
    undef could be zero)<br>
    <br>
    Philip<br>
  </body>
</html>