bug-gplusplus
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Error Report


From: Juergen Sauermann
Subject: Error Report
Date: Sat, 16 Apr 2016 18:05:12 +0200
User-agent: Mozilla/5.0 (X11; Linux i686; rv:31.0) Gecko/20100101 Thunderbird/31.4.0

Hi,

I habe received the error report below on the bug-apl mailing list.

But the problem seems to be with the g++ compiler.

The effect is that -8 to the 1/3-power (= cubic root of -8) gives the
correct result when compiled with -O2, but 0 with -O5.

See http://lists.gnu.org/archive/html/bug-apl/2016-04/index.html for the entire thread.

Best Regards,
Jürgen Sauermann

On Apr 13, 2016, at 7:03 PM, Kacper Gutowski<address@hidden>  wrote:

On Thu, Apr 14, 2016 at 1:54 AM, Xiao-Yong Jin wrote:
Exactly so.  ‘-Ofast -fno-finite-math-only’ gives correct results.
What’s going on here?  I don’t expect this has anything to do with NaN or Inf.
pow(-8., 1./3) is nan.
And -ffinite-math-only eliminates isfinite check at FloatCell.cc:422.

That explains it.  Thanks.

Here is some amusement:

g++ -Ofast -fno-unsafe-math-optimizations:
    pow(-8., 1./3.)  =>  nan
    isfinite         =>  1

g++ -Ofast -fno-unsafe-math-optimizations -fno-finite-math-only:
    pow(-8., 1./3.)  =>  nan
    isfinite         =>  0

g++ -Ofast -fno-finite-math-only:
    pow(-8., 1./3.)  =>  -2
    isfinite         =>  1

clang++ -march=native -Ofast:
    pow(-8., 1./3.)  =>  nan
    isfinite         =>  0





reply via email to

[Prev in Thread] Current Thread [Next in Thread]