<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    On 05/04/2015 08:49 PM, Levent Erkok wrote:<br>
    <blockquote
cite="mid:CACOpX0fMYcfXq2SBmcCpWTN_rD9w-PdLvqpasA40GL7ezyR_3A@mail.gmail.com"
      type="cite">
      <div dir="ltr">Artyom: That's precisely the point. The true
        IEEE754 variants where precision does matter should be part of a
        different class. What Edward and Yitz want is an "optimized"
        multiply-add where the semantics is the same but one that goes
        faster.</div>
    </blockquote>
    No, it looks to me that Edward wants to have a more precise
    operation in Num:<br>
    <blockquote type="cite">I'd have to make a second copy of the
      function to even try to see the precision win.</blockquote>
    Unless I'm wrong, you can't have the following things
    simultaneously:<br>
    <ol>
      <li>the compiler is free to substitute <i>a+b*c</i> with <i>mulAdd
          a b c</i></li>
      <li><i>mulAdd a b c</i> is implemented as <i>fma</i> for Doubles
        (and is more precise)</li>
      <li>Num operations for Double (addition and multiplication) always
        conform to IEEE754</li>
    </ol>
    <p>
      <blockquote type="cite">The true IEEE754 variants where precision
        does matter should be part of a different class.</blockquote>
      So, does it mean that you're fine with not having point #3 because
      people who need it would be able to use a separate class for
      IEEE754 floats?<br>
    </p>
  </body>
</html>