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]

different results for expf on x86_64


       Hi,

sorry if I ask a dummy question, I'm new to the list.

While performing my exhaustive tests on binary32 math functions on x86_64,
I've noticed that for some functions, I get different numbers of incorrectly
rounded results on different processors (all with the brand new glibc-2.31).

For example for expf, on a i5-4590, I get 170648 incorrectly rounded results,
while on a E7540, I get only 170646, i.e., 2 less.

The two inputs are 3.256463242e+01 and -6.309946060e+01. For example
on the i5-4590 I get exp(3.256463242e+01) = 1.388801499e+14.

After investigating more, if I simply add printf ("z=%.16e\n", z) after
z = InvLn2N * xd (line 80) in e_expf.c, I get 1.388801415e+14 instead,
like on the E7540.

Is that issue known? How many "flavours" of x86_64 can we have? To which
flavour does correspond the "Wrong count: 170635" at the top of e_expf.c?

Best regards,
Paul


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