Sourceware Bugzilla – Attachment 5996 Details for
Bug 13304
fma, fmaf, fmal produce wrong results
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
test case #6 for fma()
fma-bug6.c (text/x-csrc), 776 bytes, created by
Bruno Haible
on 2011-10-17 02:07:01 UTC
(
hide
)
Description:
test case #6 for fma()
Filename:
MIME Type:
Creator:
Bruno Haible
Created:
2011-10-17 02:07:01 UTC
Size:
776 bytes
patch
obsolete
>/* Bug in fma() of glibc 2.11.3 on x86_64. */ > >#include <math.h> >#include <stdio.h> > >int >main () >{ > volatile double x = 1.0 + ldexp (1.0, -27); /* 2^0 + 2^-27 */ > volatile double y = 1.0 - ldexp (1.0, -27); /* 2^0 - 2^-27 */ > volatile double z = - ldexp (1.0, -1074); /* - 2^-1074 */ > /* x * y + z with infinite precision: 2^0 - 2^-54 - 2^-1074. > Lies between (2^53 - 1) * 2^-53 and 2^53 * 2^-53 and is closer to > (2^53 - 1) * 2^-53, therefore the rounding must round down and > produce (2^53 - 1) * 2^-53. */ > volatile double expected = 1.0 - ldexp (1.0, -53); > volatile double result = fma (x, y, z); > > if (result != expected) > { > printf ("Expected: %A\n", expected); > printf ("Actual: %A\n", result); > return 1; > } > > return 0; >}
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 13304
:
5990
|
5991
|
5992
|
5993
|
5994
|
5995
| 5996 |
5997
|
5998
|
5999
|
6000
|
6001
|
6002
|
6003
|
6004
|
6005
|
6006
|
6008
|
6014
|
6015
|
6017
|
6657