public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
* [Bug c/111741] New: gcc long double precision @ 2023-10-09 17:12 bernardwidynski at gmail dot com 2023-10-09 17:12 ` [Bug c/111741] " bernardwidynski at gmail dot com ` (2 more replies) 0 siblings, 3 replies; 4+ messages in thread From: bernardwidynski at gmail dot com @ 2023-10-09 17:12 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111741 Bug ID: 111741 Summary: gcc long double precision Product: gcc Version: 11.4.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: bernardwidynski at gmail dot com Target Milestone: --- Created attachment 56081 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=56081&action=edit C program to compute sum of numbers 1, 2, 3, ... N It is my understanding the long double in gcc has 80 bits precision. I've run a simple program which shows that it is less than 80 bits precision. The numbers 1, 2, 3, ... N are summed and compared with N*(N+1)/2 For the case where N = 2^32, the sums compare correctly. For the case where N = 2^33, the sums are different. 2^33*(2^33-1)/2 is less than 80 bits in precision. Why doesn't the long double have the capacity for this computation? See attached program and output file. This was run on Cygwin64 using gcc version 11.4.0 on an Intel Core i7-9700 ^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug c/111741] gcc long double precision 2023-10-09 17:12 [Bug c/111741] New: gcc long double precision bernardwidynski at gmail dot com @ 2023-10-09 17:12 ` bernardwidynski at gmail dot com 2023-10-09 17:20 ` pinskia at gcc dot gnu.org 2023-10-09 17:30 ` bernardwidynski at gmail dot com 2 siblings, 0 replies; 4+ messages in thread From: bernardwidynski at gmail dot com @ 2023-10-09 17:12 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111741 --- Comment #1 from bernardwidynski at gmail dot com --- Created attachment 56082 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=56082&action=edit Output file ^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug c/111741] gcc long double precision 2023-10-09 17:12 [Bug c/111741] New: gcc long double precision bernardwidynski at gmail dot com 2023-10-09 17:12 ` [Bug c/111741] " bernardwidynski at gmail dot com @ 2023-10-09 17:20 ` pinskia at gcc dot gnu.org 2023-10-09 17:30 ` bernardwidynski at gmail dot com 2 siblings, 0 replies; 4+ messages in thread From: pinskia at gcc dot gnu.org @ 2023-10-09 17:20 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111741 Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |INVALID --- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> --- 80bit is the full precission and that 80bits includes 1 bit sign bit, 64bits for the mantissa and 15bits for the exponent. So anything above 64bits will start to lose precission in the last digits. ^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug c/111741] gcc long double precision 2023-10-09 17:12 [Bug c/111741] New: gcc long double precision bernardwidynski at gmail dot com 2023-10-09 17:12 ` [Bug c/111741] " bernardwidynski at gmail dot com 2023-10-09 17:20 ` pinskia at gcc dot gnu.org @ 2023-10-09 17:30 ` bernardwidynski at gmail dot com 2 siblings, 0 replies; 4+ messages in thread From: bernardwidynski at gmail dot com @ 2023-10-09 17:30 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111741 --- Comment #3 from bernardwidynski at gmail dot com --- Thanks for the quick response. That explains it. On Mon, Oct 9, 2023 at 10:20 AM pinskia at gcc dot gnu.org < gcc-bugzilla@gcc.gnu.org> wrote: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111741 > > Andrew Pinski <pinskia at gcc dot gnu.org> changed: > > What |Removed |Added > > ---------------------------------------------------------------------------- > Status|UNCONFIRMED |RESOLVED > Resolution|--- |INVALID > > --- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> --- > 80bit is the full precission and that 80bits includes 1 bit sign bit, > 64bits > for the mantissa and 15bits for the exponent. > > So anything above 64bits will start to lose precission in the last digits. > > -- > You are receiving this mail because: > You reported the bug. ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2023-10-09 17:30 UTC | newest] Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2023-10-09 17:12 [Bug c/111741] New: gcc long double precision bernardwidynski at gmail dot com 2023-10-09 17:12 ` [Bug c/111741] " bernardwidynski at gmail dot com 2023-10-09 17:20 ` pinskia at gcc dot gnu.org 2023-10-09 17:30 ` bernardwidynski at gmail dot com
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).