Message305191
| Author |
serhiy.storchaka |
| Recipients |
davin, jeff.allen, mark.dickinson, rhettinger, serhiy.storchaka, skrah, tim.peters |
| Date |
2017年10月29日.20:58:34 |
| SpamBayes Score |
-1.0 |
| Marked as misclassified |
Yes |
| Message-id |
<1509310714.69.0.213398074469.issue31630@psf.upfronthosting.co.za> |
| In-reply-to |
| Content |
I have got both (!) results in the same binary on NetBSD (gcc 4.8.5).
tan(1.57079632679489611) = 1978937966095219.000000
tan(0x1.921fb54442d16p+0) = 0x1.c1f559a01adccp+50
tan(1.57079632679489611) = 1978945885716843.000000
tan(0x1.921fb54442d16p+0) = 0x1.c1f5cfa3105acp+50
Seems the first result is calculated at compile time while the second result is calculated at run time.
On OpenBSD (gcc 4.2.1):
tan(1.57079632679489611) = 1978945885716843.000000
tan(0x1.921fb54442d16p+0) = 0x1.c1f5cfa3105acp+50
tan(1.57079632679489611) = 1978945885716843.000000
tan(0x1.921fb54442d16p+0) = 0x1.c1f5cfa3105acp+50
On Linux (gcc 7.2.0) and FreeBSD (clang 4.0.0):
tan(1.57079632679489611) = 1978937966095219.000000
tan(0x1.921fb54442d16p+0) = 0x1.c1f559a01adccp+50
tan(1.57079632679489611) = 1978937966095219.000000
tan(0x1.921fb54442d16p+0) = 0x1.c1f559a01adccp+50 |
|