<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">On 09/09/2013 11:49 AM, Richard Hadsell
      wrote:<br>
    </div>
    <blockquote cite="mid:522DEE07.20207@blueskystudios.com" type="cite">
      <meta content="text/html; charset=ISO-8859-1"
        http-equiv="Content-Type">
      This may not be necessary.  I found another clue here, in section
      1.1: <a moz-do-not-send="true" class="moz-txt-link-freetext"
        href="https://sourceware.org/newlib/libm.html">https://sourceware.org/newlib/libm.html</a><br>
      <br>
      When I tested the initial value of libm's <code>_LIB_VERSION, I
        found that my G++ version starts up with _IEEE_, the fastest
        mode (no exception handling, no warnings, ignoring errno.  The
        Clang++ version starts up with _POSIX_, which sets errno
        correctly.<br>
        <br>
        I will test our code's behavior, when I set </code><code>_LIB_VERSION

        to </code><code>_IEEE_ explicitly, and I'll let you know if
        this explains the difference.<br>
      </code> </blockquote>
    Unfortunately, that did not help.  The version change did not
    improve the behavior of exp2 -- it is still slower than pow.  I will
    have to stick with my workaround, giving pow a const double with the
    value 2.0 instead of a literal 2.0.<br>
    <br>
    You may continue to consider how Clang++ could be controlled to
    avoid converting to the slower function.<br>
    <br>
    <pre class="moz-signature" cols="256">-- 
Dick Hadsell                    203-992-6320  Fax: 203-992-6001
Reply-to:                       <a class="moz-txt-link-abbreviated" href="mailto:hadsell@blueskystudios.com">hadsell@blueskystudios.com</a>
Blue Sky Studios                <a class="moz-txt-link-freetext" href="http://www.blueskystudios.com">http://www.blueskystudios.com</a>
1 American Lane, Greenwich, CT 06831-2560
</pre>
  </body>
</html>