[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Bug-apl] fractional power ¯8⋆÷3
From: |
Xiao-Yong Jin |
Subject: |
Re: [Bug-apl] fractional power ¯8⋆÷3 |
Date: |
Thu, 14 Apr 2016 23:13:55 -0500 |
> 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