Boost C++ Libraries: Ticket #12018: rounded_arith_opp doesn't work in Release configuration under msvc 14 https://svn.boost.org/trac10/ticket/12018 <p> Interval calculations with <code>rounded_arith_opp</code> in Release under msvc 14 result in zero-size intervals. </p> <p> It seems that compiler optimizes too much, e.g. in </p> <pre class="wiki">BOOST_UP_NEG(x / (-y)); </pre><p> it moves minus operation and calculates something like </p> <pre class="wiki">BOOST_UP_NEG(-(x / y)); </pre><p> which returns the same result as </p> <pre class="wiki">BOOST_UP(x / y); </pre><p> It looks more like compiler bug. Attached patch is a workaround which solves the issue. </p> <p> Tested on x64 platform with /fp:strict and /fp:precise under MS Visual Studio Community 2015 Version 14.0.24720.00 Update 1. </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/12018 Trac 1.4.3 peter.azmanov@… Thu, 25 Feb 2016 14:37:46 GMT attachment set https://svn.boost.org/trac10/ticket/12018 https://svn.boost.org/trac10/ticket/12018 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">rounded_arith.patch</span> </li> </ul> Ticket