This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

calling sincosf on subnormal argument is wrong


Hello all.

An attempt to run "make check" with new optimized SSE Sincos we are
testing now failed due to an issue but not on sincosf side.

The reason of fails is that the ccos, ccosh, cexp, csin, csinh
functions must not raise Underflow, because result is not subnormal.
But all they call to sincosf(x) on x=0x1p-149, that now raises
Underflow (new sincosf is correct here).
To fix the problems, the mentioned functions (ccos,etc) must not call
sincosf on subnormal argument.

testing float (without inline functions)

>From test-float.out:
Failure: Real part of: ccos (0x1p-149 + 180 i) == inf -
1.043535896672617552965983803453927655332e33 i: Exception "Underflow"
set
Failure: Real part of: ccosh (180 + 0x1p-149 i) == inf +
1.043535896672617552965983803453927655332e33 i: Exception "Underflow"
set
Failure: Real part of: cexp (180 + 0x1p-149 i) == inf +
2.087071793345235105931967606907855310664e33 i: Exception "Underflow"
set
Failure: Real part of: csin (0x1p-149 + 180 i) ==
1.043535896672617552965983803453927655332e33 + inf i: Exception
"Underflow" set
Failure: Real part of: csinh (180 + 0x1p-149 i) == inf +
1.043535896672617552965983803453927655332e33 i: Exception "Underflow"
set

--
Liubov Dmitrieva
Intel Corporation


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]