Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Michael S Newsgroups: comp.lang.c,comp.arch Subject: Re: Radians Or Degrees? Date: Thu, 21 Mar 2024 14:51:33 +0200 Organization: A noiseless patient Spider Lines: 48 Message-ID: <20240321145133.0000160f@yahoo.com> References: <20240222015920.00000260@yahoo.com> <20240222233838.0000572f@yahoo.com> <3b2e86cdb0ee8785b4405ab10871c5ca@www.novabbs.org> <936a852388e7e4414cb7e529da7095ea@www.novabbs.org> <20240314112655.000011f8@yahoo.com> <9a5b9a6a445bd41ff75a93b589982970@www.novabbs.org> <20240320182147.000067e1@yahoo.com> <7df63e6620be0871ed9201ae9bedf765@www.novabbs.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Injection-Info: dont-email.me; posting-host="9aa046efa41c2e95b44878331137a41b"; logging-data="2271091"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+x+Yhw/5BfUKWn/A1rM2l07fEJpDISWaE=" Cancel-Lock: sha1:v0a44iWMmRhiACi7y1v38AR3uZ0= X-Newsreader: Claws Mail 3.19.1 (GTK+ 2.24.33; x86_64-w64-mingw32) Bytes: 3592 On Thu, 21 Mar 2024 08:52:18 +0100 Terje Mathisen wrote: > MitchAlsup1 wrote: > > Stefan Monnier wrote: =20 > >> IIUC that was not the case before their work: it was "easy" to get > >> the correct result in 99% of the cases, but covering all 100% of > >> the cases used to be costly because those few cases needed a lot > >> more internal precision. =20 > >=20 > > Muller indicates one typically need 2=C3=97n+6 to 2=C3=97n+12 bits to g= et > > correct roundings 100% of the time. FP128 only has 2=C3=97n+3 and is > > insufficient by itself. =20 >=20 > I agree with everything else you've written about this subject, but=20 > afair, fp128 is using 1:15:112 while double is of course 1:10:53. >=20 IEEE-754 binary64 is 1:11:52 :-) But anyway I am skeptical about Miller's rules of thumb. I'd expect that different transcendental functions would exercise non-trivially different behaviors, mostly because they have different relationships between input and output ranges. Some of them compress wider inputs into narrower output and some do the opposite. Yet another factor is luck. Besides, I see nothing special about binary128 as a helper format. It is not supported on wast majority of HW, And even when it is supported, like on IBM POWER, for majority of operations it is slower than emulated 128-bit fixed-point. Fix-point is more work for coder, but sounds like more sure path to success. > On the one hand, 53*2+6 -> 112, on the other hand (if we include the=20 > hidden bits) we get 54*2+5 -> 113. >=20 > So significantly more than 2n+3 but not enough on its own to > guarantee correct rounding. >=20 > As Michael S have mentioned, we want these algorithms to work for=20 > vector/SIMD calculations, and at that point both lookup tables and=20 > widening the size of the temporaries are very costly. >=20 > Terje >=20