Rocksolid Light

Welcome to novaBBS (click a section below)

mail  files  register  newsreader  groups  login

Message-ID:  

Linux: the choice of a GNU generation -- ksh@cis.ufl.edu put this on Tshirts in '93


devel / comp.arch / Re: Configurable rounding modes (was The value of floating-point exceptions?)

SubjectAuthor
* The value of floating-point exceptions?Marcus
+* Re: The value of floating-point exceptions?Marcus
|`* Re: The value of floating-point exceptions?Stephen Fuld
| +- Re: The value of floating-point exceptions?Marcus
| `* Re: The value of floating-point exceptions?luke.l...@gmail.com
|  `- Re: The value of floating-point exceptions?BGB
+* Re: The value of floating-point exceptions?John Dallman
|+* Re: The value of floating-point exceptions?Marcus
||`* Re: The value of floating-point exceptions?John Dallman
|| +- Re: The value of floating-point exceptions?MitchAlsup
|| `* Re: The value of floating-point exceptions?Quadibloc
||  `* Re: The value of floating-point exceptions?MitchAlsup
||   +* Re: The value of floating-point exceptions?Marcus
||   |+* Re: The value of floating-point exceptions?Ivan Godard
||   ||`* Re: The value of floating-point exceptions?Quadibloc
||   || +* Re: The value of floating-point exceptions?Ivan Godard
||   || |+* Re: The value of floating-point exceptions?Anton Ertl
||   || ||`* Re: The value of floating-point exceptions?MitchAlsup
||   || || `- Re: The value of floating-point exceptions?Quadibloc
||   || |`- Re: The value of floating-point exceptions?Terje Mathisen
||   || `* Re: The value of floating-point exceptions?MitchAlsup
||   ||  +* Re: The value of floating-point exceptions?Quadibloc
||   ||  |+* Re: The value of floating-point exceptions?MitchAlsup
||   ||  ||+- Re: The value of floating-point exceptions?BGB
||   ||  ||`* Re: The value of floating-point exceptions?Terje Mathisen
||   ||  || `* Re: The value of floating-point exceptions?BGB
||   ||  ||  `* Re: The value of floating-point exceptions?MitchAlsup
||   ||  ||   +* Re: The value of floating-point exceptions?Ivan Godard
||   ||  ||   |+* Re: The value of floating-point exceptions?BGB
||   ||  ||   ||`* Re: The value of floating-point exceptions?Terje Mathisen
||   ||  ||   || `- Re: The value of floating-point exceptions?BGB
||   ||  ||   |+* Re: The value of floating-point exceptions?MitchAlsup
||   ||  ||   ||`* Re: The value of floating-point exceptions?Marcus
||   ||  ||   || `- Re: The value of floating-point exceptions?BGB
||   ||  ||   |`* Re: The value of floating-point exceptions?EricP
||   ||  ||   | `* Re: The value of floating-point exceptions?Ivan Godard
||   ||  ||   |  `* Re: The value of floating-point exceptions?MitchAlsup
||   ||  ||   |   +* Re: Configurable rounding modes (was The value of floating-pointMarcus
||   ||  ||   |   |+- Re: Configurable rounding modes (was The value of floating-pointTerje Mathisen
||   ||  ||   |   |`* Re: Configurable rounding modes (was The value of floating-point exceptions?)MitchAlsup
||   ||  ||   |   | +- Re: Configurable rounding modes (was The value of floating-pointStephen Fuld
||   ||  ||   |   | `- Re: Configurable rounding modes (was The value of floating-pointMarcus
||   ||  ||   |   `* Re: The value of floating-point exceptions?EricP
||   ||  ||   |    `* Re: The value of floating-point exceptions?MitchAlsup
||   ||  ||   |     `- Re: The value of floating-point exceptions?Quadibloc
||   ||  ||   +* Re: The value of floating-point exceptions?Quadibloc
||   ||  ||   |`* Re: The value of floating-point exceptions?MitchAlsup
||   ||  ||   | `- Re: The value of floating-point exceptions?Quadibloc
||   ||  ||   `* Re: The value of floating-point exceptions?Marcus
||   ||  ||    +* Re: The value of floating-point exceptions?Thomas Koenig
||   ||  ||    |`* Re: The value of floating-point exceptions?MitchAlsup
||   ||  ||    | `- Re: The value of floating-point exceptions?Thomas Koenig
||   ||  ||    +* Re: The value of floating-point exceptions?MitchAlsup
||   ||  ||    |+* Re: The value of floating-point exceptions?Ivan Godard
||   ||  ||    ||`- Re: The value of floating-point exceptions?BGB
||   ||  ||    |+* Re: The value of floating-point exceptions?Quadibloc
||   ||  ||    ||`* Re: The value of floating-point exceptions?MitchAlsup
||   ||  ||    || +* Re: The value of floating-point exceptions?Ivan Godard
||   ||  ||    || |`* Re: The value of floating-point exceptions?MitchAlsup
||   ||  ||    || | `* Re: The value of floating-point exceptions?Ivan Godard
||   ||  ||    || |  +* Re: The value of floating-point exceptions?MitchAlsup
||   ||  ||    || |  |`- Re: The value of floating-point exceptions?Ivan Godard
||   ||  ||    || |  `* Re: The value of floating-point exceptions?Marcus
||   ||  ||    || |   +- Re: The value of floating-point exceptions?Quadibloc
||   ||  ||    || |   +* Re: The value of floating-point exceptions?Anton Ertl
||   ||  ||    || |   |`* Re: The value of floating-point exceptions?Michael S
||   ||  ||    || |   | `* Re: The value of floating-point exceptions?MitchAlsup
||   ||  ||    || |   |  `- Re: The value of floating-point exceptions?Terje Mathisen
||   ||  ||    || |   `* Re: The value of floating-point exceptions?Quadibloc
||   ||  ||    || |    +- Re: The value of floating-point exceptions?Quadibloc
||   ||  ||    || |    `* Re: The value of floating-point exceptions?Marcus
||   ||  ||    || |     `* Re: The value of floating-point exceptions?MitchAlsup
||   ||  ||    || |      `* Re: The value of floating-point exceptions?Marcus
||   ||  ||    || |       `- Re: The value of floating-point exceptions?MitchAlsup
||   ||  ||    || `- Re: Configurable rounding modes (was The value of floating-pointMarcus
||   ||  ||    |`* Re: Configurable rounding modes (was The value of floating-pointMarcus
||   ||  ||    | +* Re: Configurable rounding modes (was The value of floating-point exceptions?)MitchAlsup
||   ||  ||    | |`* Re: Configurable rounding modes (was The value of floating-pointIvan Godard
||   ||  ||    | | +* Re: Configurable rounding modes (was The value of floating-pointBGB
||   ||  ||    | | |`* Re: Configurable rounding modes (was The value of floating-pointMarcus
||   ||  ||    | | | `- Re: Configurable rounding modes (was The value of floating-pointBGB
||   ||  ||    | | +* Re: Configurable rounding modes (was The value of floating-point exceptions?)Quadibloc
||   ||  ||    | | |+- Re: Configurable rounding modes (was The value of floating-point exceptions?)Quadibloc
||   ||  ||    | | |`* Re: Configurable rounding modes (was The value of floating-pointIvan Godard
||   ||  ||    | | | `- Re: Configurable rounding modes (was The value of floating-point exceptions?)Quadibloc
||   ||  ||    | | `* Re: Configurable rounding modes (was The value of floating-point exceptions?)MitchAlsup
||   ||  ||    | |  `* Re: Configurable rounding modes (was The value of floating-pointIvan Godard
||   ||  ||    | |   `* Re: Configurable rounding modes (was The value of floating-point exceptions?)Quadibloc
||   ||  ||    | |    `* Re: Configurable rounding modes (was The value of floating-point exceptions?)Quadibloc
||   ||  ||    | |     +- Re: Configurable rounding modes (was The value of floating-point exceptions?)Quadibloc
||   ||  ||    | |     `- Re: Configurable rounding modes (was The value of floating-point exceptions?)Quadibloc
||   ||  ||    | `* Re: Configurable rounding modes (was The value of floating-pointBGB
||   ||  ||    |  `* Re: Configurable rounding modes (was The value of floating-point exceptions?)MitchAlsup
||   ||  ||    |   `- Re: Configurable rounding modes (was The value of floating-pointBGB
||   ||  ||    `* Re: The value of floating-point exceptions?antispam
||   ||  ||     +- Re: The value of floating-point exceptions?BGB
||   ||  ||     +* Re: The value of floating-point exceptions?Terje Mathisen
||   ||  ||     |+- Re: The value of floating-point exceptions?BGB
||   ||  ||     |`* Re: The value of floating-point exceptions?antispam
||   ||  ||     | `* Re: The value of floating-point exceptions?Quadibloc
||   ||  ||     |  +* Re: The value of floating-point exceptions?antispam
||   ||  ||     |  `* Re: The value of floating-point exceptions?MitchAlsup
||   ||  ||     `- Re: The value of floating-point exceptions?John Dallman
||   ||  |`* Re: The value of floating-point exceptions?John Dallman
||   ||  +* Re: The value of floating-point exceptions?Quadibloc
||   ||  `* Re: The value of floating-point exceptions?Thomas Koenig
||   |`* Re: The value of floating-point exceptions?Quadibloc
||   `- Re: The value of floating-point exceptions?Quadibloc
|`* Re: The value of floating-point exceptions?Marcus
+- Re: The value of floating-point exceptions?Terje Mathisen
+* Re: The value of floating-point exceptions?Ivan Godard
+- Re: The value of floating-point exceptions?BGB
+* Re: The value of floating-point exceptions?EricP
+* Re: The value of floating-point exceptions?Anton Ertl
+* Re: The value of floating-point exceptions?MitchAlsup
`- Re: The value of floating-point exceptions?antispam

Pages:12345678910
Re: The value of floating-point exceptions?

<seqpj6$1bni$1@gioia.aioe.org>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=19684&group=comp.arch#19684

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!aioe.org!pIhVuqI7njB9TMV+aIPpbg.user.46.165.242.91.POSTED!not-for-mail
From: terje.ma...@tmsw.no (Terje Mathisen)
Newsgroups: comp.arch
Subject: Re: The value of floating-point exceptions?
Date: Mon, 9 Aug 2021 10:39:01 +0200
Organization: Aioe.org NNTP Server
Message-ID: <seqpj6$1bni$1@gioia.aioe.org>
References: <sd9a9h$ro6$1@dont-email.me>
<7cf5713e-f138-488b-9ccf-d85df84c50can@googlegroups.com>
<e7e0b9a2-7990-4ec8-9c40-a6e9a07bd306n@googlegroups.com>
<fc5a33d0-7c17-4855-8ab3-162884bd6b7bn@googlegroups.com>
<713a35af-9cce-4954-b968-1b4b754e7b1en@googlegroups.com>
<sdjghd$1i4a$1@gioia.aioe.org> <sdk2kd$lu1$1@dont-email.me>
<476a9f6b-5fa0-4606-aed6-cf31089b8c5bn@googlegroups.com>
<sdlo5n$da3$1@dont-email.me> <sdua2r$avt$1@z-news.wcss.wroc.pl>
<sdunr1$qje$1@gioia.aioe.org> <sdv19d$2t7$3@z-news.wcss.wroc.pl>
<588a5b12-0b5b-4ef4-8d4d-6c9273dcb5dfn@googlegroups.com>
<f586970f-d104-482f-b26a-70a145da70cbn@googlegroups.com>
<861r7d5ei2.fsf@linuxsc.com>
<2b097c60-ffcb-4afb-8cb6-3c061693c25cn@googlegroups.com>
<86k0l445ht.fsf@linuxsc.com> <se961p$fka$1@dont-email.me>
<861r733mag.fsf@linuxsc.com>
<f75b7425-1cd2-434a-b58b-9f145b2ad5c6n@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Info: gioia.aioe.org; logging-data="44786"; posting-host="pIhVuqI7njB9TMV+aIPpbg.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org";
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:60.0) Gecko/20100101
Firefox/60.0 SeaMonkey/2.53.8.1
X-Notice: Filtered by postfilter v. 0.9.2
 by: Terje Mathisen - Mon, 9 Aug 2021 08:39 UTC

MitchAlsup wrote:
> On Sunday, August 8, 2021 at 11:59:22 AM UTC-5, Tim Rentsch wrote:
>> which makes me wonder what IEEE-754 behaviors you think would
>> not be observed in such an implementation.
> <
> There is stuff in IEEE 754-2008 and -2019 that is not in -1985.
> <
> FMAC for example.
> <
> List of transcendental functions which must be "accurately" implemented
> --more about the various boundary conditions and resultant values than
> properly rounded.
> <
> 5th rounding mode (Round away from zero == round nearest magnitude.)
> <
> Return to -1985 MAX() and MIN() {which -2009 totally blew}
>
We did fix min/max in 2019, specifically because 2008 did in fact mess
it up horribly. :-(

We did not manage to reach consensus on fixing all the other ways NaNs
can silently disappear, but you can at least mostly avoid those situations.

Converting a FP value to int is a typical example: If you have
suppressed floating point traps, then there is no way to propagate the
NaN-ness of the input.

Terje

--
- <Terje.Mathisen at tmsw.no>
"almost all programming can be viewed as an exercise in caching"

Re: The value of floating-point exceptions?

<seqtb5$rtn$1@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=19688&group=comp.arch#19688

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: iva...@millcomputing.com (Ivan Godard)
Newsgroups: comp.arch
Subject: Re: The value of floating-point exceptions?
Date: Mon, 9 Aug 2021 02:43:01 -0700
Organization: A noiseless patient Spider
Lines: 30
Message-ID: <seqtb5$rtn$1@dont-email.me>
References: <sd9a9h$ro6$1@dont-email.me>
<7cf5713e-f138-488b-9ccf-d85df84c50can@googlegroups.com>
<e7e0b9a2-7990-4ec8-9c40-a6e9a07bd306n@googlegroups.com>
<fc5a33d0-7c17-4855-8ab3-162884bd6b7bn@googlegroups.com>
<713a35af-9cce-4954-b968-1b4b754e7b1en@googlegroups.com>
<sdjghd$1i4a$1@gioia.aioe.org> <sdk2kd$lu1$1@dont-email.me>
<476a9f6b-5fa0-4606-aed6-cf31089b8c5bn@googlegroups.com>
<sdlo5n$da3$1@dont-email.me> <sdua2r$avt$1@z-news.wcss.wroc.pl>
<sdunr1$qje$1@gioia.aioe.org> <sdv19d$2t7$3@z-news.wcss.wroc.pl>
<588a5b12-0b5b-4ef4-8d4d-6c9273dcb5dfn@googlegroups.com>
<f586970f-d104-482f-b26a-70a145da70cbn@googlegroups.com>
<861r7d5ei2.fsf@linuxsc.com>
<2b097c60-ffcb-4afb-8cb6-3c061693c25cn@googlegroups.com>
<86k0l445ht.fsf@linuxsc.com> <se961p$fka$1@dont-email.me>
<861r733mag.fsf@linuxsc.com>
<f75b7425-1cd2-434a-b58b-9f145b2ad5c6n@googlegroups.com>
<seqpj6$1bni$1@gioia.aioe.org>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Mon, 9 Aug 2021 09:43:01 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="70868e40d4e9a4d947a368c35fa5b614";
logging-data="28599"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+dRaeMCDT7GZvLOwMv8rhJ"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
Thunderbird/78.12.0
Cancel-Lock: sha1:BgLxZFAw0qU0Dj4SGrQt9ydPdzI=
In-Reply-To: <seqpj6$1bni$1@gioia.aioe.org>
Content-Language: en-US
 by: Ivan Godard - Mon, 9 Aug 2021 09:43 UTC

On 8/9/2021 1:39 AM, Terje Mathisen wrote:
> MitchAlsup wrote:
>> On Sunday, August 8, 2021 at 11:59:22 AM UTC-5, Tim Rentsch wrote:
>>> which makes me wonder what IEEE-754 behaviors you think would
>>> not be observed in such an implementation.
>> <
>> There is stuff in IEEE 754-2008 and -2019 that is not in -1985.
>> <
>> FMAC for example.
>> <
>> List of transcendental functions which must be "accurately" implemented
>> --more about the various boundary conditions and resultant values than
>> properly rounded.
>> <
>> 5th rounding mode (Round away from zero == round nearest magnitude.)
>> <
>> Return to -1985 MAX() and MIN() {which -2009 totally blew}
>>
> We did fix min/max in 2019, specifically because 2008 did in fact mess
> it up horribly. :-(
>
> We did not manage to reach consensus on fixing all the other ways NaNs
> can silently disappear, but you can at least mostly avoid those situations.
>
> Converting a FP value to int is a typical example: If you have
> suppressed floating point traps, then there is no way to propagate the
> NaN-ness of the input.

On most machines, but not all.

Re: The value of floating-point exceptions?

<86k0ku249m.fsf@linuxsc.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=19692&group=comp.arch#19692

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: tr.17...@z991.linuxsc.com (Tim Rentsch)
Newsgroups: comp.arch
Subject: Re: The value of floating-point exceptions?
Date: Mon, 09 Aug 2021 05:26:13 -0700
Organization: A noiseless patient Spider
Lines: 102
Message-ID: <86k0ku249m.fsf@linuxsc.com>
References: <sd9a9h$ro6$1@dont-email.me> <7cf5713e-f138-488b-9ccf-d85df84c50can@googlegroups.com> <e7e0b9a2-7990-4ec8-9c40-a6e9a07bd306n@googlegroups.com> <fc5a33d0-7c17-4855-8ab3-162884bd6b7bn@googlegroups.com> <713a35af-9cce-4954-b968-1b4b754e7b1en@googlegroups.com> <sdjghd$1i4a$1@gioia.aioe.org> <sdk2kd$lu1$1@dont-email.me> <476a9f6b-5fa0-4606-aed6-cf31089b8c5bn@googlegroups.com> <sdlo5n$da3$1@dont-email.me> <sdua2r$avt$1@z-news.wcss.wroc.pl> <sdunr1$qje$1@gioia.aioe.org> <sdv19d$2t7$3@z-news.wcss.wroc.pl> <588a5b12-0b5b-4ef4-8d4d-6c9273dcb5dfn@googlegroups.com> <f586970f-d104-482f-b26a-70a145da70cbn@googlegroups.com> <861r7d5ei2.fsf@linuxsc.com> <2b097c60-ffcb-4afb-8cb6-3c061693c25cn@googlegroups.com> <86k0l445ht.fsf@linuxsc.com> <se961p$fka$1@dont-email.me> <861r733mag.fsf@linuxsc.com> <sep6np$lcc$1@dont-email.me>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Injection-Info: reader02.eternal-september.org; posting-host="ca1220c11487cbc05c2e95614c155ae2";
logging-data="25929"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19G7cSOwSES6vNLld+r7nAEJlgS2ffy4Xc="
User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.4 (gnu/linux)
Cancel-Lock: sha1:aMxDuyu+zJSqo3cbf3g6Vt4eioo=
sha1:pvDC5k6+ItDOwYwxnyVlLditK2w=
 by: Tim Rentsch - Mon, 9 Aug 2021 12:26 UTC

BGB <cr88192@gmail.com> writes:

> On 8/8/2021 11:59 AM, Tim Rentsch wrote:
>
>> BGB <cr88192@gmail.com> writes:
>>
>>> On 8/2/2021 3:26 AM, Tim Rentsch wrote:
>>>
>>>> Quadibloc <jsavard@ecn.ab.ca> writes:
>>>>
>>>>> On Sunday, August 1, 2021 at 10:14:16 AM UTC-6, Tim Rentsch
>>>>> quoted, in part:
>>>>>
>>>>>> There was strong agreement in the C89 Committee that
>>>>>> floating values should truncate toward zero when converted
>>>>>> to an integer type,
>>>>>
>>>>> I have no problem with that. Of course the integer part of a
>>>>> float would be what you get from round towards zero.
>>>>>
>>>>> Where I think round-to-nearest is preferable is after an
>>>>> arithmetic operation, where the result is rounded to go back
>>>>> in the same floating-point type.
>>>>
>>>> Then you are in luck - the C standard allows C implementations
>>>> to use that rule.
>>>
>>> Yeah. If one directly follows the C standard, they are can use
>>> hard-wired truncate-towards-zero for integer, and round-to-nearest for
>>> floating point.
>>>
>>> While IEEE-754 asks a bit more, the stuff it asks doesn't map exactly
>>> to C, and many traditional sorts of compiler optimizations are likely
>>> to break any sort of bit-exactness one could otherwise expect from it.
>>
>> I am curious to know what you think these might be. The C standard
>> does include the conditional feature macro __STDC_IEC_559__ :
>>
>> The integer constant 1, intended to indicate conformance to
>> the specifications in annex F (IEC 60559 floating-point
>> arithmetic).
>>
>> which references the normative annex F, which says in its introduction
>>
>> This annex specifies C language support for the IEC 60559
>> floating-point standard. The IEC 60559 floating-point
>> standard is specifically Binary floating-point arithmetic for
>> microprocessor systems, second edition (IEC 60559:1989),
>> previously designated IEC 559:1989 and as IEEE Standard for
>> Binary Floating-Point Arithmetic (ANSI/IEEE 754.1985). IEEE
>> Standard for Radix-Independent Floating-Point Arithmetic
>> (ANSI/IEEE 854.1987) generalizes the binary standard to
>> remove dependencies on radix and word length. IEC 60559
>> generally refers to the floating-point standard, as in IEC
>> 60559 operation, IEC 60559 format, etc. An implementation
>> that defines __STDC_IEC_559__ shall conform to the
>> specifications in this annex. Where a binding between the C
>> language and IEC 60559 is indicated, the IEC 60559-specified
>> behavior is adopted by reference, unless stated otherwise.
>> Since negative and positive infinity are representable in IEC
>> 60559 formats, all real numbers lie within the range of
>> representable values.
>>
>> Annex F is quite detailed, occupying 25 pages in the C standard.
>> An example requirement:
>>
>> The +, -, *, and / operators provide the IEC 60559 add,
>> subtract, multiply, and divide operations.
>>
>> which makes me wonder what IEEE-754 behaviors you think would
>> not be observed in such an implementation.
>
> Hmm...
>
> Was going to note the lack of any standard way to specify the rounding
> mode, ...
>
> But, then went and looked at it and noted that it seems to be that I
> had failed to notice that "fenv.h" was a thing, which does provide a
> means to specify this.
>
>
> So, it appears that a function is used to get/set the rounding mode,
> but a pragma may be required to tell the compiler to actually use the
> rounding mode and similar (and also disable some types of
> optimizations):
> #pragma STDC FENV_ACCESS ON //enable FPU magic
> fesetround(FE_TOWARDZERO); //set to truncate
> ...
>
> With:
> #pragma fenv_access(on) //apparent alternate notation
>
>
> I guess I could maybe look into this some more...

If you do I expect you will find that C implementations can
be completely in line with IEEE-754, including later versions
of that, if they choose to be. Heaven knows I'm not an
expert on floating point, but there are such experts around,
with at least one serving on the C standards committee for
quite a long time.

Re: The value of floating-point exceptions?

<86fsvi20wf.fsf@linuxsc.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=19693&group=comp.arch#19693

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: tr.17...@z991.linuxsc.com (Tim Rentsch)
Newsgroups: comp.arch
Subject: Re: The value of floating-point exceptions?
Date: Mon, 09 Aug 2021 06:38:56 -0700
Organization: A noiseless patient Spider
Lines: 104
Message-ID: <86fsvi20wf.fsf@linuxsc.com>
References: <sd9a9h$ro6$1@dont-email.me> <7cf5713e-f138-488b-9ccf-d85df84c50can@googlegroups.com> <e7e0b9a2-7990-4ec8-9c40-a6e9a07bd306n@googlegroups.com> <fc5a33d0-7c17-4855-8ab3-162884bd6b7bn@googlegroups.com> <713a35af-9cce-4954-b968-1b4b754e7b1en@googlegroups.com> <sdjghd$1i4a$1@gioia.aioe.org> <sdk2kd$lu1$1@dont-email.me> <476a9f6b-5fa0-4606-aed6-cf31089b8c5bn@googlegroups.com> <sdlo5n$da3$1@dont-email.me> <sdua2r$avt$1@z-news.wcss.wroc.pl> <sdunr1$qje$1@gioia.aioe.org> <sdv19d$2t7$3@z-news.wcss.wroc.pl> <588a5b12-0b5b-4ef4-8d4d-6c9273dcb5dfn@googlegroups.com> <f586970f-d104-482f-b26a-70a145da70cbn@googlegroups.com> <861r7d5ei2.fsf@linuxsc.com> <2b097c60-ffcb-4afb-8cb6-3c061693c25cn@googlegroups.com> <86k0l445ht.fsf@linuxsc.com> <se961p$fka$1@dont-email.me> <861r733mag.fsf@linuxsc.com> <f75b7425-1cd2-434a-b58b-9f145b2ad5c6n@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Injection-Info: reader02.eternal-september.org; posting-host="ca1220c11487cbc05c2e95614c155ae2";
logging-data="17076"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19oN3WU4JLHqoC9LFwlV6h07vbUERCn5do="
User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.4 (gnu/linux)
Cancel-Lock: sha1:8IcF9+OIawkFs0t8FPJhnnpDWl8=
sha1:aCXpLxyAcPjQqMHmS2w19HsqUkE=
 by: Tim Rentsch - Mon, 9 Aug 2021 13:38 UTC

MitchAlsup <MitchAlsup@aol.com> writes:

> On Sunday, August 8, 2021 at 11:59:22 AM UTC-5, Tim Rentsch wrote:
>
>> BGB <cr8...@gmail.com> writes:
>>
>>> On 8/2/2021 3:26 AM, Tim Rentsch wrote:
>>>
>>>> Quadibloc <jsa...@ecn.ab.ca> writes:
>>>>
>>>>> On Sunday, August 1, 2021 at 10:14:16 AM UTC-6, Tim Rentsch
>>>>> quoted, in part:
>>>>>
>>>>>> There was strong agreement in the C89 Committee that
>>>>>> floating values should truncate toward zero when converted
>>>>>> to an integer type,
>>>>>
>>>>> I have no problem with that. Of course the integer part of a
>>>>> float would be what you get from round towards zero.
>>>>>
>>>>> Where I think round-to-nearest is preferable is after an
>>>>> arithmetic operation, where the result is rounded to go back
>>>>> in the same floating-point type.
>>>>
>>>> Then you are in luck - the C standard allows C implementations
>>>> to use that rule.
>>>
>>> Yeah. If one directly follows the C standard, they are can use
>>> hard-wired truncate-towards-zero for integer, and round-to-nearest for
>>> floating point.
>>>
>>> While IEEE-754 asks a bit more, the stuff it asks doesn't map exactly
>>> to C, and many traditional sorts of compiler optimizations are likely
>>> to break any sort of bit-exactness one could otherwise expect from it.
>>
>> I am curious to know what you think these might be. The C standard
>> does include the conditional feature macro __STDC_IEC_559__ :
>>
>> The integer constant 1, intended to indicate conformance to
>> the specifications in annex F (IEC 60559 floating-point
>> arithmetic).
>>
>> which references the normative annex F, which says in its introduction
>>
>> This annex specifies C language support for the IEC 60559
>> floating-point standard. The IEC 60559 floating-point
>> standard is specifically Binary floating-point arithmetic for
>> microprocessor systems, second edition (IEC 60559:1989),
>> previously designated IEC 559:1989 and as IEEE Standard for
>> Binary Floating-Point Arithmetic (ANSI/IEEE 754.1985). IEEE
>> Standard for Radix-Independent Floating-Point Arithmetic
>> (ANSI/IEEE 854.1987) generalizes the binary standard to
>> remove dependencies on radix and word length. IEC 60559
>> generally refers to the floating-point standard, as in IEC
>> 60559 operation, IEC 60559 format, etc. An implementation
>> that defines __STDC_IEC_559__ shall conform to the
>> specifications in this annex. Where a binding between the C
>> language and IEC 60559 is indicated, the IEC 60559-specified
>> behavior is adopted by reference, unless stated otherwise.
>> Since negative and positive infinity are representable in IEC
>> 60559 formats, all real numbers lie within the range of
>> representable values.
>>
>> Annex F is quite detailed, occupying 25 pages in the C standard.
>> An example requirement:
>>
>> The +, -, *, and / operators provide the IEC 60559 add,
>> subtract, multiply, and divide operations.
>>
>> which makes me wonder what IEEE-754 behaviors you think would
>> not be observed in such an implementation.
>
> There is stuff in IEEE 754-2008 and -2019 that is not in -1985.
> FMAC for example.
> List of transcendental functions which must be "accurately" implemented
> --more about the various boundary conditions and resultant values than
> properly rounded.
> 5th rounding mode (Round away from zero == round nearest magnitude.)
> Return to -1985 MAX() and MIN() {which -2009 totally blew}

I'm not familiar with the details of differences between different
versions of IEEE 754. Also I haven't looked closely at any
version of the C standard since the C11 standard. So I don't know
to what extent these added functionalities may have been added to
Annex F following the IEEE 754 changes.

In any case my point is not that C must be IEEE 754 compliant, and
indeed any particular C implementation might not be. Rather what
I am saying is that AFAIK a C implementation may be completely
compliant with IEEE 754, including the later versions, if it
chooses to be. Some of that conformance is guaranteed by the
C standards for implementations that define __STDC_IEC_559__.

Incidentally, as far as multiply-add goes, since C99 there has
been a standard C function to do this. Section 7.12.13.1
describes the fma functions

The fma functions compute (x*y)+z, rounded as one ternary
operation: they compute the value (as if) to infinite
precision and round once to the result format, according to
the current rounding mode. A range error may occur.

and fma is listed in Annex F as part of support for IEEE 754
floating point.

Re: The value of floating-point exceptions?

<d5e11715-3204-4544-9e88-9e17085601fan@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20313&group=comp.arch#20313

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a05:6214:134a:: with SMTP id b10mr15398560qvw.67.1630996101289;
Mon, 06 Sep 2021 23:28:21 -0700 (PDT)
X-Received: by 2002:a9d:6c94:: with SMTP id c20mr14312236otr.142.1630996101069;
Mon, 06 Sep 2021 23:28:21 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Mon, 6 Sep 2021 23:28:20 -0700 (PDT)
In-Reply-To: <10a5151f-d8b9-4ff3-a22c-85b0b92fb5f9n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2001:56a:f39d:2c00:e49d:4d06:f041:56af;
posting-account=1nOeKQkAAABD2jxp4Pzmx9Hx5g9miO8y
NNTP-Posting-Host: 2001:56a:f39d:2c00:e49d:4d06:f041:56af
References: <sd9a9h$ro6$1@dont-email.me> <memo.20210721153537.10680P@jgd.cix.co.uk>
<e9c738bd-7c0e-4b3b-9385-3a0d0658b059n@googlegroups.com> <a74c6bf2-9ad1-4969-b3cb-b650ae8ebdadn@googlegroups.com>
<sde6m7$kr1$1@dont-email.me> <sde74m$nio$1@dont-email.me> <7cf5713e-f138-488b-9ccf-d85df84c50can@googlegroups.com>
<e7e0b9a2-7990-4ec8-9c40-a6e9a07bd306n@googlegroups.com> <sdf4t3$6cl$2@newsreader4.netcologne.de>
<c0917435-65c8-45f1-b745-5fd7ff4f58c0n@googlegroups.com> <548e3590-e939-40b7-8f78-3040d59358f7n@googlegroups.com>
<98ee6cd3-1a1e-44a6-848b-20a8d81a6adfn@googlegroups.com> <10a5151f-d8b9-4ff3-a22c-85b0b92fb5f9n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <d5e11715-3204-4544-9e88-9e17085601fan@googlegroups.com>
Subject: Re: The value of floating-point exceptions?
From: jsav...@ecn.ab.ca (Quadibloc)
Injection-Date: Tue, 07 Sep 2021 06:28:21 +0000
Content-Type: text/plain; charset="UTF-8"
 by: Quadibloc - Tue, 7 Sep 2021 06:28 UTC

On Sunday, July 25, 2021 at 11:25:49 PM UTC-6, Quadibloc wrote:
> On Saturday, July 24, 2021 at 9:40:14 PM UTC-6, Quadibloc wrote:
> > On Saturday, July 24, 2021 at 3:24:21 PM UTC-6, Quadibloc wrote:
>
> > And the SS format instructions would be a mess:
> >
> > opcode: 8 bits
> > source base register: 1 bit
> > length: 8 bits
> > destination base register: 4 bits
> > destination address: 15 bits
> > source base register (continued): 3 bits
> > source address: 15 bits
>
> Silly me. Just move the destination address constant to an *odd*
> byte position, and everything is fine.
>
> opcode: 8 bits
> destination base register: 4 bits
> destination address: 15 bits
> length: 8 bits
> source base register: 4 bits
> source address: 15 bits
>
> So all I have to do is accept that the order of fields will be
> different from that in the System/360, and I get a reasonable
> 36-bit version of the System/360.

On my web page at

http://www.quadibloc.com/comp/cardint.htm

I now show, at the bottom of the page, a proposal for what the card
code for a 9-bit version of EBCDIC for such a computer could have
looked like.

John Savard

Re: The value of floating-point exceptions?

<b31f1167-1d4c-40fd-84f4-5a14b4250635n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20314&group=comp.arch#20314

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a05:620a:4001:: with SMTP id h1mr14585441qko.454.1630996208124;
Mon, 06 Sep 2021 23:30:08 -0700 (PDT)
X-Received: by 2002:a05:6808:1404:: with SMTP id w4mr1834661oiv.155.1630996207909;
Mon, 06 Sep 2021 23:30:07 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Mon, 6 Sep 2021 23:30:07 -0700 (PDT)
In-Reply-To: <9f14668a-1878-4763-8c1f-fdc9ad2a9c9fn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2001:56a:f39d:2c00:e49d:4d06:f041:56af;
posting-account=1nOeKQkAAABD2jxp4Pzmx9Hx5g9miO8y
NNTP-Posting-Host: 2001:56a:f39d:2c00:e49d:4d06:f041:56af
References: <sd9a9h$ro6$1@dont-email.me> <sde6m7$kr1$1@dont-email.me>
<sde74m$nio$1@dont-email.me> <7cf5713e-f138-488b-9ccf-d85df84c50can@googlegroups.com>
<e7e0b9a2-7990-4ec8-9c40-a6e9a07bd306n@googlegroups.com> <sdf4t3$6cl$2@newsreader4.netcologne.de>
<c0917435-65c8-45f1-b745-5fd7ff4f58c0n@googlegroups.com> <548e3590-e939-40b7-8f78-3040d59358f7n@googlegroups.com>
<sdj9rq$ue1$2@newsreader4.netcologne.de> <jwvmtqalefg.fsf-monnier+comp.arch@gnu.org>
<bdd7738f-1b15-4970-a3d5-dcbf62496ffen@googlegroups.com> <2021Jul26.093622@mips.complang.tuwien.ac.at>
<9f14668a-1878-4763-8c1f-fdc9ad2a9c9fn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <b31f1167-1d4c-40fd-84f4-5a14b4250635n@googlegroups.com>
Subject: Re: The value of floating-point exceptions?
From: jsav...@ecn.ab.ca (Quadibloc)
Injection-Date: Tue, 07 Sep 2021 06:30:08 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 8
 by: Quadibloc - Tue, 7 Sep 2021 06:30 UTC

On Monday, July 26, 2021 at 5:21:42 AM UTC-6, Quadibloc wrote:
> or ARM
> or RISC-V even...

And, of course, just before Ryzen came out, AMD was working on
ARM-based server chips, using some of the same technology that
Ryzen was based on.

John Savard

Re: The value of floating-point exceptions?

<32d73646-b68a-4da1-917a-45d0cb02f26cn@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20330&group=comp.arch#20330

  copy link   Newsgroups: comp.arch
X-Received: by 2002:ad4:4ab1:: with SMTP id i17mr941187qvx.11.1631059352042;
Tue, 07 Sep 2021 17:02:32 -0700 (PDT)
X-Received: by 2002:a4a:a9ce:: with SMTP id h14mr677923oon.89.1631059351765;
Tue, 07 Sep 2021 17:02:31 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Tue, 7 Sep 2021 17:02:31 -0700 (PDT)
In-Reply-To: <d5e11715-3204-4544-9e88-9e17085601fan@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2001:56a:f39d:2c00:3082:90df:1aec:2058;
posting-account=1nOeKQkAAABD2jxp4Pzmx9Hx5g9miO8y
NNTP-Posting-Host: 2001:56a:f39d:2c00:3082:90df:1aec:2058
References: <sd9a9h$ro6$1@dont-email.me> <memo.20210721153537.10680P@jgd.cix.co.uk>
<e9c738bd-7c0e-4b3b-9385-3a0d0658b059n@googlegroups.com> <a74c6bf2-9ad1-4969-b3cb-b650ae8ebdadn@googlegroups.com>
<sde6m7$kr1$1@dont-email.me> <sde74m$nio$1@dont-email.me> <7cf5713e-f138-488b-9ccf-d85df84c50can@googlegroups.com>
<e7e0b9a2-7990-4ec8-9c40-a6e9a07bd306n@googlegroups.com> <sdf4t3$6cl$2@newsreader4.netcologne.de>
<c0917435-65c8-45f1-b745-5fd7ff4f58c0n@googlegroups.com> <548e3590-e939-40b7-8f78-3040d59358f7n@googlegroups.com>
<98ee6cd3-1a1e-44a6-848b-20a8d81a6adfn@googlegroups.com> <10a5151f-d8b9-4ff3-a22c-85b0b92fb5f9n@googlegroups.com>
<d5e11715-3204-4544-9e88-9e17085601fan@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <32d73646-b68a-4da1-917a-45d0cb02f26cn@googlegroups.com>
Subject: Re: The value of floating-point exceptions?
From: jsav...@ecn.ab.ca (Quadibloc)
Injection-Date: Wed, 08 Sep 2021 00:02:32 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 18
 by: Quadibloc - Wed, 8 Sep 2021 00:02 UTC

On Tuesday, September 7, 2021 at 12:28:22 AM UTC-6, Quadibloc wrote:
> On my web page at
>
> http://www.quadibloc.com/comp/cardint.htm
>
> I now show, at the bottom of the page, a proposal for what the card
> code for a 9-bit version of EBCDIC for such a computer could have
> looked like.

And now, seeing as on the page

http://www.quadibloc.com/arch/perint.htm

I had already placed an illustration of the instruction set for another 36-bit
version of the System/360, I added a diagram of the form I described here
there as well (with an additional modification).

John Savard

Re: The value of floating-point exceptions?

<dce18e70-5186-43ec-b56f-f67a0791548bn@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20331&group=comp.arch#20331

  copy link   Newsgroups: comp.arch
X-Received: by 2002:ac8:489a:: with SMTP id i26mr1154930qtq.372.1631060206164;
Tue, 07 Sep 2021 17:16:46 -0700 (PDT)
X-Received: by 2002:a05:6808:1404:: with SMTP id w4mr560343oiv.155.1631060205864;
Tue, 07 Sep 2021 17:16:45 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Tue, 7 Sep 2021 17:16:45 -0700 (PDT)
In-Reply-To: <32d73646-b68a-4da1-917a-45d0cb02f26cn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=104.59.204.55; posting-account=H_G_JQkAAADS6onOMb-dqvUozKse7mcM
NNTP-Posting-Host: 104.59.204.55
References: <sd9a9h$ro6$1@dont-email.me> <memo.20210721153537.10680P@jgd.cix.co.uk>
<e9c738bd-7c0e-4b3b-9385-3a0d0658b059n@googlegroups.com> <a74c6bf2-9ad1-4969-b3cb-b650ae8ebdadn@googlegroups.com>
<sde6m7$kr1$1@dont-email.me> <sde74m$nio$1@dont-email.me> <7cf5713e-f138-488b-9ccf-d85df84c50can@googlegroups.com>
<e7e0b9a2-7990-4ec8-9c40-a6e9a07bd306n@googlegroups.com> <sdf4t3$6cl$2@newsreader4.netcologne.de>
<c0917435-65c8-45f1-b745-5fd7ff4f58c0n@googlegroups.com> <548e3590-e939-40b7-8f78-3040d59358f7n@googlegroups.com>
<98ee6cd3-1a1e-44a6-848b-20a8d81a6adfn@googlegroups.com> <10a5151f-d8b9-4ff3-a22c-85b0b92fb5f9n@googlegroups.com>
<d5e11715-3204-4544-9e88-9e17085601fan@googlegroups.com> <32d73646-b68a-4da1-917a-45d0cb02f26cn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <dce18e70-5186-43ec-b56f-f67a0791548bn@googlegroups.com>
Subject: Re: The value of floating-point exceptions?
From: MitchAl...@aol.com (MitchAlsup)
Injection-Date: Wed, 08 Sep 2021 00:16:46 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 27
 by: MitchAlsup - Wed, 8 Sep 2021 00:16 UTC

On Tuesday, September 7, 2021 at 7:02:32 PM UTC-5, Quadibloc wrote:
> On Tuesday, September 7, 2021 at 12:28:22 AM UTC-6, Quadibloc wrote:
>
> > On my web page at
> >
> > http://www.quadibloc.com/comp/cardint.htm
> >
> > I now show, at the bottom of the page, a proposal for what the card
> > code for a 9-bit version of EBCDIC for such a computer could have
> > looked like.
> And now, seeing as on the page
>
> http://www.quadibloc.com/arch/perint.htm
>
> I had already placed an illustration of the instruction set for another 36-bit
> version of the System/360, I added a diagram of the form I described here
> there as well (with an additional modification).
>
> John Savard
<
John, by now you should have both learned and taken to heart we use DADDA
trees to build multipliers, not Wallace trees.
<
Also note: 754 chose the exponent bias such that the largest denormal number
could be reciprocated and not overflow. I suggest you follow.
<
It also seems to follow that if you have 36-bit single, you should have a 72-bit double.
{Not complaining about the others in the middle, just the lack of a true double.}

Re: The value of floating-point exceptions?

<09524196-320e-484d-9454-68b3e098915bn@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20332&group=comp.arch#20332

  copy link   Newsgroups: comp.arch
X-Received: by 2002:ac8:7b4a:: with SMTP id m10mr1406528qtu.121.1631065213318;
Tue, 07 Sep 2021 18:40:13 -0700 (PDT)
X-Received: by 2002:a4a:dbc7:: with SMTP id t7mr952622oou.35.1631065212993;
Tue, 07 Sep 2021 18:40:12 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Tue, 7 Sep 2021 18:40:12 -0700 (PDT)
In-Reply-To: <dce18e70-5186-43ec-b56f-f67a0791548bn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2001:56a:f39d:2c00:3082:90df:1aec:2058;
posting-account=1nOeKQkAAABD2jxp4Pzmx9Hx5g9miO8y
NNTP-Posting-Host: 2001:56a:f39d:2c00:3082:90df:1aec:2058
References: <sd9a9h$ro6$1@dont-email.me> <memo.20210721153537.10680P@jgd.cix.co.uk>
<e9c738bd-7c0e-4b3b-9385-3a0d0658b059n@googlegroups.com> <a74c6bf2-9ad1-4969-b3cb-b650ae8ebdadn@googlegroups.com>
<sde6m7$kr1$1@dont-email.me> <sde74m$nio$1@dont-email.me> <7cf5713e-f138-488b-9ccf-d85df84c50can@googlegroups.com>
<e7e0b9a2-7990-4ec8-9c40-a6e9a07bd306n@googlegroups.com> <sdf4t3$6cl$2@newsreader4.netcologne.de>
<c0917435-65c8-45f1-b745-5fd7ff4f58c0n@googlegroups.com> <548e3590-e939-40b7-8f78-3040d59358f7n@googlegroups.com>
<98ee6cd3-1a1e-44a6-848b-20a8d81a6adfn@googlegroups.com> <10a5151f-d8b9-4ff3-a22c-85b0b92fb5f9n@googlegroups.com>
<d5e11715-3204-4544-9e88-9e17085601fan@googlegroups.com> <32d73646-b68a-4da1-917a-45d0cb02f26cn@googlegroups.com>
<dce18e70-5186-43ec-b56f-f67a0791548bn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <09524196-320e-484d-9454-68b3e098915bn@googlegroups.com>
Subject: Re: The value of floating-point exceptions?
From: jsav...@ecn.ab.ca (Quadibloc)
Injection-Date: Wed, 08 Sep 2021 01:40:13 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 39
 by: Quadibloc - Wed, 8 Sep 2021 01:40 UTC

On Tuesday, September 7, 2021 at 6:16:47 PM UTC-6, MitchAlsup wrote:

> John, by now you should have both learned and taken to heart we use DADDA
> trees to build multipliers, not Wallace trees.

I mention Dadda trees on my site.

http://www.quadibloc.com/comp/cp0202.htm

is the page where I get into this level of detail. The Dadda Tree is a modified form of the Wallace
tree, invented one year later, in which some of the carry save additions take place latelr as an
additional optimization. That page even mentions a DEC patent which takes the Dadda Tree and
improves on it further.

By using the generic term, I don't exclude the 360/91, the Stretch, and several other early machines.

> It also seems to follow that if you have 36-bit single, you should have a 72-bit double.
> {Not complaining about the others in the middle, just the lack of a true double.}

Some designs do have a 72-bit double, because they're built around a 36-bit word, so anything
shorter would be inconvenient.

Basically, though, I'm going on the premise that 64 bit floats provide more precision than is actually
needed for almost all scientific work - 60 bits, as used in the 6600, is as much as almost anyone
would need. But the howls of outrage when the 360 replaced the 7090 indicates that 36 bits is the
minimum.

Maybe there are applications in which a "true double" is needed; I'm thinking in terms of programs that
only use *one* floating-point precision, the one suited to whatever it is they're calculating. While I see
36, 48, and 60 bits as being lengths with something to recommend them, of course there would also
be a 'temporary real'; that might be 96 bits on an architecture built around a 12 bit basic unit, and thus
24, 48, and 96 bit words. And since a temporary real doesn't have a hidden first bit, it can be unnormalized,
and so one can have a 'true double' made of two floats with one blank or offset exponent field - like on the
7090, or 128 bit floats on a 360.

So for the case where one precision that's a 'true double' of another is needed, something would be present;
48 and 96, or 96 and 192, but those would play a relatively minor role, which is why they didn't lead off
the discussion.

John Savard

Re: The value of floating-point exceptions?

<6a3a5fc7-8f86-4df9-9fee-d3d65bb17f61n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20333&group=comp.arch#20333

  copy link   Newsgroups: comp.arch
X-Received: by 2002:ac8:74b:: with SMTP id k11mr1481085qth.46.1631065686754;
Tue, 07 Sep 2021 18:48:06 -0700 (PDT)
X-Received: by 2002:aca:ea8b:: with SMTP id i133mr838110oih.44.1631065686437;
Tue, 07 Sep 2021 18:48:06 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Tue, 7 Sep 2021 18:48:06 -0700 (PDT)
In-Reply-To: <09524196-320e-484d-9454-68b3e098915bn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=104.59.204.55; posting-account=H_G_JQkAAADS6onOMb-dqvUozKse7mcM
NNTP-Posting-Host: 104.59.204.55
References: <sd9a9h$ro6$1@dont-email.me> <memo.20210721153537.10680P@jgd.cix.co.uk>
<e9c738bd-7c0e-4b3b-9385-3a0d0658b059n@googlegroups.com> <a74c6bf2-9ad1-4969-b3cb-b650ae8ebdadn@googlegroups.com>
<sde6m7$kr1$1@dont-email.me> <sde74m$nio$1@dont-email.me> <7cf5713e-f138-488b-9ccf-d85df84c50can@googlegroups.com>
<e7e0b9a2-7990-4ec8-9c40-a6e9a07bd306n@googlegroups.com> <sdf4t3$6cl$2@newsreader4.netcologne.de>
<c0917435-65c8-45f1-b745-5fd7ff4f58c0n@googlegroups.com> <548e3590-e939-40b7-8f78-3040d59358f7n@googlegroups.com>
<98ee6cd3-1a1e-44a6-848b-20a8d81a6adfn@googlegroups.com> <10a5151f-d8b9-4ff3-a22c-85b0b92fb5f9n@googlegroups.com>
<d5e11715-3204-4544-9e88-9e17085601fan@googlegroups.com> <32d73646-b68a-4da1-917a-45d0cb02f26cn@googlegroups.com>
<dce18e70-5186-43ec-b56f-f67a0791548bn@googlegroups.com> <09524196-320e-484d-9454-68b3e098915bn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <6a3a5fc7-8f86-4df9-9fee-d3d65bb17f61n@googlegroups.com>
Subject: Re: The value of floating-point exceptions?
From: MitchAl...@aol.com (MitchAlsup)
Injection-Date: Wed, 08 Sep 2021 01:48:06 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 76
 by: MitchAlsup - Wed, 8 Sep 2021 01:48 UTC

On Tuesday, September 7, 2021 at 8:40:14 PM UTC-5, Quadibloc wrote:
> On Tuesday, September 7, 2021 at 6:16:47 PM UTC-6, MitchAlsup wrote:
>
> > John, by now you should have both learned and taken to heart we use DADDA
> > trees to build multipliers, not Wallace trees.
> I mention Dadda trees on my site.
>
> http://www.quadibloc.com/comp/cp0202.htm
>
> is the page where I get into this level of detail. The Dadda Tree is a modified form of the Wallace
> tree, invented one year later, in which some of the carry save additions take place latelr as an
> additional optimization. That page even mentions a DEC patent which takes the Dadda Tree and
> improves on it further.
>
> By using the generic term, I don't exclude the 360/91, the Stretch, and several other early machines.
<
A Wallace tree is a member of the family of multipliers annotated by Dadda.
It happens to be a not very good multiplier tree, but as used in /91 and Stretch is not harmful.
But they are ALL Dadda trees.
<
> > It also seems to follow that if you have 36-bit single, you should have a 72-bit double.
> > {Not complaining about the others in the middle, just the lack of a true double.}
<
> Some designs do have a 72-bit double, because they're built around a 36-bit word, so anything
> shorter would be inconvenient.
<
I am designing a machine with ½ cache line data transfers (256-bits) yet I still support signed
and unsigned Bytes !
>
> Basically, though, I'm going on the premise that 64 bit floats provide more precision than is actually
> needed for almost all scientific work - 60 bits, as used in the 6600, is as much as almost anyone
> would need. But the howls of outrage when the 360 replaced the 7090 indicates that 36 bits is the
> minimum.
<
I remember the howls, and how IBM had to field upgrade all the early deliveries with FP
that used a guard digit.
<
But 60-bits may have been enough in the days of 1 Gflop, it is no longer in the days of 1 PFlops;
or so I have been advised by some people running codes that take server farms months to run.
>
> Maybe there are applications in which a "true double" is needed; I'm thinking in terms of programs that
> only use *one* floating-point precision, the one suited to whatever it is they're calculating. While I see
> 36, 48, and 60 bits as being lengths with something to recommend them, of course there would also
> be a 'temporary real'; that might be 96 bits on an architecture built around a 12 bit basic unit, and thus
> 24, 48, and 96 bit words. And since a temporary real doesn't have a hidden first bit, it can be unnormalized,
> and so one can have a 'true double' made of two floats with one blank or offset exponent field - like on the
> 7090, or 128 bit floats on a 360.
>
> So for the case where one precision that's a 'true double' of another is needed, something would be present;
> 48 and 96, or 96 and 192, but those would play a relatively minor role, which is why they didn't lead off
> the discussion.
>
> John Savard

Re: The value of floating-point exceptions?

<1a55754c-b3de-41c8-9c2a-117d3fb72cadn@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20334&group=comp.arch#20334

  copy link   Newsgroups: comp.arch
X-Received: by 2002:ac8:187:: with SMTP id x7mr1641040qtf.66.1631070181757;
Tue, 07 Sep 2021 20:03:01 -0700 (PDT)
X-Received: by 2002:a9d:6c94:: with SMTP id c20mr1372805otr.142.1631070181491;
Tue, 07 Sep 2021 20:03:01 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Tue, 7 Sep 2021 20:03:01 -0700 (PDT)
In-Reply-To: <6a3a5fc7-8f86-4df9-9fee-d3d65bb17f61n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2001:56a:f39d:2c00:3082:90df:1aec:2058;
posting-account=1nOeKQkAAABD2jxp4Pzmx9Hx5g9miO8y
NNTP-Posting-Host: 2001:56a:f39d:2c00:3082:90df:1aec:2058
References: <sd9a9h$ro6$1@dont-email.me> <memo.20210721153537.10680P@jgd.cix.co.uk>
<e9c738bd-7c0e-4b3b-9385-3a0d0658b059n@googlegroups.com> <a74c6bf2-9ad1-4969-b3cb-b650ae8ebdadn@googlegroups.com>
<sde6m7$kr1$1@dont-email.me> <sde74m$nio$1@dont-email.me> <7cf5713e-f138-488b-9ccf-d85df84c50can@googlegroups.com>
<e7e0b9a2-7990-4ec8-9c40-a6e9a07bd306n@googlegroups.com> <sdf4t3$6cl$2@newsreader4.netcologne.de>
<c0917435-65c8-45f1-b745-5fd7ff4f58c0n@googlegroups.com> <548e3590-e939-40b7-8f78-3040d59358f7n@googlegroups.com>
<98ee6cd3-1a1e-44a6-848b-20a8d81a6adfn@googlegroups.com> <10a5151f-d8b9-4ff3-a22c-85b0b92fb5f9n@googlegroups.com>
<d5e11715-3204-4544-9e88-9e17085601fan@googlegroups.com> <32d73646-b68a-4da1-917a-45d0cb02f26cn@googlegroups.com>
<dce18e70-5186-43ec-b56f-f67a0791548bn@googlegroups.com> <09524196-320e-484d-9454-68b3e098915bn@googlegroups.com>
<6a3a5fc7-8f86-4df9-9fee-d3d65bb17f61n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <1a55754c-b3de-41c8-9c2a-117d3fb72cadn@googlegroups.com>
Subject: Re: The value of floating-point exceptions?
From: jsav...@ecn.ab.ca (Quadibloc)
Injection-Date: Wed, 08 Sep 2021 03:03:01 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 15
 by: Quadibloc - Wed, 8 Sep 2021 03:03 UTC

On Tuesday, September 7, 2021 at 7:48:08 PM UTC-6, MitchAlsup wrote:

> But 60-bits may have been enough in the days of 1 Gflop, it is no longer in the days of 1 PFlops;
> or so I have been advised by some people running codes that take server farms months to run.

I am going to have to look into that further.

I didn't address your point about reciprocals - I will have to check closely, but there is one
thing about my pages that may be confusing.

To allow consistency between IEEE 754 and "classic" floating-point formats, I refer to
the exponent as "excess-n" for a different valule of n: I put the binary point before the
hidden first bit, instead of at the start of the significand field. That way, the significand
is in the range [-0,1) for all formats.

John Savard

Re: The value of floating-point exceptions?

<sh9jan$rh2$1@newsreader4.netcologne.de>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20335&group=comp.arch#20335

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!4.us.feeder.erje.net!2.eu.feeder.erje.net!feeder.erje.net!newsreader4.netcologne.de!news.netcologne.de!.POSTED.2001-4dd7-c002-0-7285-c2ff-fe6c-992d.ipv6dyn.netcologne.de!not-for-mail
From: tkoe...@netcologne.de (Thomas Koenig)
Newsgroups: comp.arch
Subject: Re: The value of floating-point exceptions?
Date: Wed, 8 Sep 2021 05:56:39 -0000 (UTC)
Organization: news.netcologne.de
Distribution: world
Message-ID: <sh9jan$rh2$1@newsreader4.netcologne.de>
References: <sd9a9h$ro6$1@dont-email.me>
<memo.20210721153537.10680P@jgd.cix.co.uk>
<e9c738bd-7c0e-4b3b-9385-3a0d0658b059n@googlegroups.com>
<a74c6bf2-9ad1-4969-b3cb-b650ae8ebdadn@googlegroups.com>
<sde6m7$kr1$1@dont-email.me> <sde74m$nio$1@dont-email.me>
<7cf5713e-f138-488b-9ccf-d85df84c50can@googlegroups.com>
<e7e0b9a2-7990-4ec8-9c40-a6e9a07bd306n@googlegroups.com>
<sdf4t3$6cl$2@newsreader4.netcologne.de>
<c0917435-65c8-45f1-b745-5fd7ff4f58c0n@googlegroups.com>
<548e3590-e939-40b7-8f78-3040d59358f7n@googlegroups.com>
<98ee6cd3-1a1e-44a6-848b-20a8d81a6adfn@googlegroups.com>
<10a5151f-d8b9-4ff3-a22c-85b0b92fb5f9n@googlegroups.com>
<d5e11715-3204-4544-9e88-9e17085601fan@googlegroups.com>
<32d73646-b68a-4da1-917a-45d0cb02f26cn@googlegroups.com>
<dce18e70-5186-43ec-b56f-f67a0791548bn@googlegroups.com>
<09524196-320e-484d-9454-68b3e098915bn@googlegroups.com>
Injection-Date: Wed, 8 Sep 2021 05:56:39 -0000 (UTC)
Injection-Info: newsreader4.netcologne.de; posting-host="2001-4dd7-c002-0-7285-c2ff-fe6c-992d.ipv6dyn.netcologne.de:2001:4dd7:c002:0:7285:c2ff:fe6c:992d";
logging-data="28194"; mail-complaints-to="abuse@netcologne.de"
User-Agent: slrn/1.0.3 (Linux)
 by: Thomas Koenig - Wed, 8 Sep 2021 05:56 UTC

Quadibloc <jsavard@ecn.ab.ca> schrieb:
> But the howls of outrage when the 360 replaced the 7090 indicates that 36 bits is the
> minimum.

One main reason for the howls of outrage was the choice of
hexadecimal base. Read Hacker's Delight for a rationale of the
criticism from an IBM insider; this choice basically reduced
accuracy to 21 bits.

Re: The value of floating-point exceptions?

<sh9khf$1p9g$1@gioia.aioe.org>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20336&group=comp.arch#20336

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!aioe.org!ppYixYMWAWh/woI8emJOIQ.user.46.165.242.91.POSTED!not-for-mail
From: terje.ma...@tmsw.no (Terje Mathisen)
Newsgroups: comp.arch
Subject: Re: The value of floating-point exceptions?
Date: Wed, 8 Sep 2021 08:17:26 +0200
Organization: Aioe.org NNTP Server
Message-ID: <sh9khf$1p9g$1@gioia.aioe.org>
References: <sd9a9h$ro6$1@dont-email.me>
<memo.20210721153537.10680P@jgd.cix.co.uk>
<e9c738bd-7c0e-4b3b-9385-3a0d0658b059n@googlegroups.com>
<a74c6bf2-9ad1-4969-b3cb-b650ae8ebdadn@googlegroups.com>
<sde6m7$kr1$1@dont-email.me> <sde74m$nio$1@dont-email.me>
<7cf5713e-f138-488b-9ccf-d85df84c50can@googlegroups.com>
<e7e0b9a2-7990-4ec8-9c40-a6e9a07bd306n@googlegroups.com>
<sdf4t3$6cl$2@newsreader4.netcologne.de>
<c0917435-65c8-45f1-b745-5fd7ff4f58c0n@googlegroups.com>
<548e3590-e939-40b7-8f78-3040d59358f7n@googlegroups.com>
<98ee6cd3-1a1e-44a6-848b-20a8d81a6adfn@googlegroups.com>
<10a5151f-d8b9-4ff3-a22c-85b0b92fb5f9n@googlegroups.com>
<d5e11715-3204-4544-9e88-9e17085601fan@googlegroups.com>
<32d73646-b68a-4da1-917a-45d0cb02f26cn@googlegroups.com>
<dce18e70-5186-43ec-b56f-f67a0791548bn@googlegroups.com>
<09524196-320e-484d-9454-68b3e098915bn@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Info: gioia.aioe.org; logging-data="58672"; posting-host="ppYixYMWAWh/woI8emJOIQ.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org";
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:60.0) Gecko/20100101
Firefox/60.0 SeaMonkey/2.53.9
X-Notice: Filtered by postfilter v. 0.9.2
 by: Terje Mathisen - Wed, 8 Sep 2021 06:17 UTC

Quadibloc wrote:
> Some designs do have a 72-bit double, because they're built around a
> 36-bit word, so anything shorter would be inconvenient.
>
> Basically, though, I'm going on the premise that 64 bit floats
> provide more precision than is actually needed for almost all
> scientific work - 60 bits, as used in the 6600, is as much as almost
> anyone would need. But the howls of outrage when the 360 replaced the
> 7090 indicates that 36 bits is the minimum.

John, you write a lot of interesting stuff, but please get rid of that idea!

We are rapidly running out of room even in double, so we are getting hw
support both for quad (1:15:112) and double-double (via
AugmentedAddition/AugmentedMultiplication), the latter are useful
building blocks for extended/arbitrary precision as long as the fixed
exponent range doesn't become a problem.

Terje

--
- <Terje.Mathisen at tmsw.no>
"almost all programming can be viewed as an exercise in caching"

Re: The value of floating-point exceptions?

<04692774-16dd-496a-9fe5-153a363163c0n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20337&group=comp.arch#20337

  copy link   Newsgroups: comp.arch
X-Received: by 2002:ac8:7444:: with SMTP id h4mr2160747qtr.337.1631083070574; Tue, 07 Sep 2021 23:37:50 -0700 (PDT)
X-Received: by 2002:aca:a80a:: with SMTP id r10mr1355090oie.119.1631083070338; Tue, 07 Sep 2021 23:37:50 -0700 (PDT)
Path: i2pn2.org!i2pn.org!aioe.org!feeder1.feed.usenet.farm!feed.usenet.farm!tr1.eu1.usenetexpress.com!feeder.usenetexpress.com!tr1.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Tue, 7 Sep 2021 23:37:50 -0700 (PDT)
In-Reply-To: <sh9jan$rh2$1@newsreader4.netcologne.de>
Injection-Info: google-groups.googlegroups.com; posting-host=2001:56a:f39d:2c00:3082:90df:1aec:2058; posting-account=1nOeKQkAAABD2jxp4Pzmx9Hx5g9miO8y
NNTP-Posting-Host: 2001:56a:f39d:2c00:3082:90df:1aec:2058
References: <sd9a9h$ro6$1@dont-email.me> <memo.20210721153537.10680P@jgd.cix.co.uk> <e9c738bd-7c0e-4b3b-9385-3a0d0658b059n@googlegroups.com> <a74c6bf2-9ad1-4969-b3cb-b650ae8ebdadn@googlegroups.com> <sde6m7$kr1$1@dont-email.me> <sde74m$nio$1@dont-email.me> <7cf5713e-f138-488b-9ccf-d85df84c50can@googlegroups.com> <e7e0b9a2-7990-4ec8-9c40-a6e9a07bd306n@googlegroups.com> <sdf4t3$6cl$2@newsreader4.netcologne.de> <c0917435-65c8-45f1-b745-5fd7ff4f58c0n@googlegroups.com> <548e3590-e939-40b7-8f78-3040d59358f7n@googlegroups.com> <98ee6cd3-1a1e-44a6-848b-20a8d81a6adfn@googlegroups.com> <10a5151f-d8b9-4ff3-a22c-85b0b92fb5f9n@googlegroups.com> <d5e11715-3204-4544-9e88-9e17085601fan@googlegroups.com> <32d73646-b68a-4da1-917a-45d0cb02f26cn@googlegroups.com> <dce18e70-5186-43ec-b56f-f67a0791548bn@googlegroups.com> <09524196-320e-484d-9454-68b3e098915bn@googlegroups.com> <sh9jan$rh2$1@newsreader4.netcologne.de>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <04692774-16dd-496a-9fe5-153a363163c0n@googlegroups.com>
Subject: Re: The value of floating-point exceptions?
From: jsav...@ecn.ab.ca (Quadibloc)
Injection-Date: Wed, 08 Sep 2021 06:37:50 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 8
 by: Quadibloc - Wed, 8 Sep 2021 06:37 UTC

On Tuesday, September 7, 2021 at 11:56:42 PM UTC-6, Thomas Koenig wrote:

> One main reason for the howls of outrage was the choice of
> hexadecimal base.

Yes, I'm aware that this loses an additional three bits of precision, although
it's offset slightly by allowing the exponent field to be smaller.

John Savard

Re: The value of floating-point exceptions?

<cffdead5-94eb-46a0-aebe-1759369a9375n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20338&group=comp.arch#20338

  copy link   Newsgroups: comp.arch
X-Received: by 2002:ac8:57d1:: with SMTP id w17mr2213082qta.138.1631083340228; Tue, 07 Sep 2021 23:42:20 -0700 (PDT)
X-Received: by 2002:aca:da05:: with SMTP id r5mr1345350oig.30.1631083339999; Tue, 07 Sep 2021 23:42:19 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.goja.nl.eu.org!news.dns-netz.com!news.freedyn.net!newsfeed.xs4all.nl!newsfeed8.news.xs4all.nl!tr2.eu1.usenetexpress.com!feeder.usenetexpress.com!tr1.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Tue, 7 Sep 2021 23:42:19 -0700 (PDT)
In-Reply-To: <sh9khf$1p9g$1@gioia.aioe.org>
Injection-Info: google-groups.googlegroups.com; posting-host=2001:56a:f39d:2c00:3082:90df:1aec:2058; posting-account=1nOeKQkAAABD2jxp4Pzmx9Hx5g9miO8y
NNTP-Posting-Host: 2001:56a:f39d:2c00:3082:90df:1aec:2058
References: <sd9a9h$ro6$1@dont-email.me> <memo.20210721153537.10680P@jgd.cix.co.uk> <e9c738bd-7c0e-4b3b-9385-3a0d0658b059n@googlegroups.com> <a74c6bf2-9ad1-4969-b3cb-b650ae8ebdadn@googlegroups.com> <sde6m7$kr1$1@dont-email.me> <sde74m$nio$1@dont-email.me> <7cf5713e-f138-488b-9ccf-d85df84c50can@googlegroups.com> <e7e0b9a2-7990-4ec8-9c40-a6e9a07bd306n@googlegroups.com> <sdf4t3$6cl$2@newsreader4.netcologne.de> <c0917435-65c8-45f1-b745-5fd7ff4f58c0n@googlegroups.com> <548e3590-e939-40b7-8f78-3040d59358f7n@googlegroups.com> <98ee6cd3-1a1e-44a6-848b-20a8d81a6adfn@googlegroups.com> <10a5151f-d8b9-4ff3-a22c-85b0b92fb5f9n@googlegroups.com> <d5e11715-3204-4544-9e88-9e17085601fan@googlegroups.com> <32d73646-b68a-4da1-917a-45d0cb02f26cn@googlegroups.com> <dce18e70-5186-43ec-b56f-f67a0791548bn@googlegroups.com> <09524196-320e-484d-9454-68b3e098915bn@googlegroups.com> <sh9khf$1p9g$1@gioia.aioe.org>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <cffdead5-94eb-46a0-aebe-1759369a9375n@googlegroups.com>
Subject: Re: The value of floating-point exceptions?
From: jsav...@ecn.ab.ca (Quadibloc)
Injection-Date: Wed, 08 Sep 2021 06:42:20 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 31
 by: Quadibloc - Wed, 8 Sep 2021 06:42 UTC

On Wednesday, September 8, 2021 at 12:17:22 AM UTC-6, Terje Mathisen wrote:
> Quadibloc wrote:
> > Some designs do have a 72-bit double, because they're built around a
> > 36-bit word, so anything shorter would be inconvenient.
> >
> > Basically, though, I'm going on the premise that 64 bit floats
> > provide more precision than is actually needed for almost all
> > scientific work - 60 bits, as used in the 6600, is as much as almost
> > anyone would need. But the howls of outrage when the 360 replaced the
> > 7090 indicates that 36 bits is the minimum.

> John, you write a lot of interesting stuff, but please get rid of that idea!
>
> We are rapidly running out of room even in double, so we are getting hw
> support both for quad (1:15:112) and double-double (via
> AugmentedAddition/AugmentedMultiplication), the latter are useful
> building blocks for extended/arbitrary precision as long as the fixed
> exponent range doesn't become a problem.

After a post by Mitch, I started a search for information about this issue.

At first, the references concerning longer precisions were mostly for
mathematical research. And I don't have anything against having support
for 128-bit floats, although I thought their use would be limited.

But I finally did come across one paper about implementing 128-bit
floating-point in an FPGA because it was needed for *computational
fluid dynamics*. While it took some digging to find even one source,
and I would have liked to see several, given that this is apparently
claimed to be a well-known common situation, still, it is confirmation.

John Savard

Re: The value of floating-point exceptions?

<shalfa$ift$1@newsreader4.netcologne.de>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20345&group=comp.arch#20345

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!newsreader4.netcologne.de!news.netcologne.de!.POSTED.2001-4dd7-c002-0-7285-c2ff-fe6c-992d.ipv6dyn.netcologne.de!not-for-mail
From: tkoe...@netcologne.de (Thomas Koenig)
Newsgroups: comp.arch
Subject: Re: The value of floating-point exceptions?
Date: Wed, 8 Sep 2021 15:39:22 -0000 (UTC)
Organization: news.netcologne.de
Distribution: world
Message-ID: <shalfa$ift$1@newsreader4.netcologne.de>
References: <sd9a9h$ro6$1@dont-email.me>
<memo.20210721153537.10680P@jgd.cix.co.uk>
<e9c738bd-7c0e-4b3b-9385-3a0d0658b059n@googlegroups.com>
<a74c6bf2-9ad1-4969-b3cb-b650ae8ebdadn@googlegroups.com>
<sde6m7$kr1$1@dont-email.me> <sde74m$nio$1@dont-email.me>
<7cf5713e-f138-488b-9ccf-d85df84c50can@googlegroups.com>
<e7e0b9a2-7990-4ec8-9c40-a6e9a07bd306n@googlegroups.com>
<sdf4t3$6cl$2@newsreader4.netcologne.de>
<c0917435-65c8-45f1-b745-5fd7ff4f58c0n@googlegroups.com>
<548e3590-e939-40b7-8f78-3040d59358f7n@googlegroups.com>
<98ee6cd3-1a1e-44a6-848b-20a8d81a6adfn@googlegroups.com>
<10a5151f-d8b9-4ff3-a22c-85b0b92fb5f9n@googlegroups.com>
<d5e11715-3204-4544-9e88-9e17085601fan@googlegroups.com>
<32d73646-b68a-4da1-917a-45d0cb02f26cn@googlegroups.com>
<dce18e70-5186-43ec-b56f-f67a0791548bn@googlegroups.com>
<09524196-320e-484d-9454-68b3e098915bn@googlegroups.com>
<sh9khf$1p9g$1@gioia.aioe.org>
<cffdead5-94eb-46a0-aebe-1759369a9375n@googlegroups.com>
Injection-Date: Wed, 8 Sep 2021 15:39:22 -0000 (UTC)
Injection-Info: newsreader4.netcologne.de; posting-host="2001-4dd7-c002-0-7285-c2ff-fe6c-992d.ipv6dyn.netcologne.de:2001:4dd7:c002:0:7285:c2ff:fe6c:992d";
logging-data="18941"; mail-complaints-to="abuse@netcologne.de"
User-Agent: slrn/1.0.3 (Linux)
 by: Thomas Koenig - Wed, 8 Sep 2021 15:39 UTC

Quadibloc <jsavard@ecn.ab.ca> schrieb:

> But I finally did come across one paper about implementing 128-bit
> floating-point in an FPGA because it was needed for *computational
> fluid dynamics*.

CFD solves the "equations of change" (lovelty name that, from Bird,
Steward and Lightfoot) by discretizing them into finite <elements,
volumes, whatever>. Cells or elements or ... are coupled to their
neighboring cells, add boundary conditions, and you get a nonlinear
system of equations (Navier-Stokes with added turbulende or...).
The number of equations may well be in the tens of millions for
an intermediate-sized problem.

How do you usually solve a set of nonlinear equations?
You linearize it, and use Newton-Raphson, so you end up with a
set of (let's say) ten million (10**7) linear equations.

Because the discretization only couples values in your cell
with those of the neighbors, the overwhelming majority of the
coefficient matrix is filled with zeros - instead of (10**7)**3 =
10**21 coefficients, you only have a small multiple of the number
of your equations. This sort of system is called "sparse".

How do you solve such a system? Gaussian elimination, which you
may have learned at school, would quickly populate the empty
coefficient matrix, so you would end up needing doing a small
mutiple of 10**21 of storage for your coefficient matrix, and the
same for the number your calculations. Clearly not practiable,
and I did say "intermediate-sized" above.

What to do? Mathematicians have been _very_ busy and successfull
designing solvers tailored to sparse linear systems. They are
usually built on Krylov subspace methods. What these methods do,
in a nutshell, is to calculate a lots of vector-matrix products
with a few dot products thrown in and iterate this. (Look up
the GMRES method as an example if you want details).

All people reading this group should know that dot products (and,
as an extension, vector-matrix products) are susceptible to roundoff
errors. If your dot products on which the whole iteration scheme
depends are calculated with a large error, then the whole scheme
may converge much more slowly or even diverge although it would
converge for real numbers.

Hence, the need for high precision (or the whole IEEE precision
range) that we recently discussed here, which was actually
implemented once on an IBM 4381, IIRC, in coopration with the
group of Ulrich Kulisch of the University of Karlsruhe (now KIT).

Computers are getting bigger and faster, problems that you can
attack with CFD are getting bigger, rounding errors become worse
with an increasing number of additions (a triviality), so the need
for a more precise dot product becomes more pressing.

Re: The value of floating-point exceptions?

<6bd1bfaa-c84d-4996-ab40-b83df9e13970n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20353&group=comp.arch#20353

  copy link   Newsgroups: comp.arch
X-Received: by 2002:ac8:4292:: with SMTP id o18mr4783003qtl.75.1631121658272;
Wed, 08 Sep 2021 10:20:58 -0700 (PDT)
X-Received: by 2002:a54:4883:: with SMTP id r3mr3160360oic.7.1631121657989;
Wed, 08 Sep 2021 10:20:57 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Wed, 8 Sep 2021 10:20:57 -0700 (PDT)
In-Reply-To: <shalfa$ift$1@newsreader4.netcologne.de>
Injection-Info: google-groups.googlegroups.com; posting-host=2001:56a:f39d:2c00:85a:77e6:97b8:e565;
posting-account=1nOeKQkAAABD2jxp4Pzmx9Hx5g9miO8y
NNTP-Posting-Host: 2001:56a:f39d:2c00:85a:77e6:97b8:e565
References: <sd9a9h$ro6$1@dont-email.me> <memo.20210721153537.10680P@jgd.cix.co.uk>
<e9c738bd-7c0e-4b3b-9385-3a0d0658b059n@googlegroups.com> <a74c6bf2-9ad1-4969-b3cb-b650ae8ebdadn@googlegroups.com>
<sde6m7$kr1$1@dont-email.me> <sde74m$nio$1@dont-email.me> <7cf5713e-f138-488b-9ccf-d85df84c50can@googlegroups.com>
<e7e0b9a2-7990-4ec8-9c40-a6e9a07bd306n@googlegroups.com> <sdf4t3$6cl$2@newsreader4.netcologne.de>
<c0917435-65c8-45f1-b745-5fd7ff4f58c0n@googlegroups.com> <548e3590-e939-40b7-8f78-3040d59358f7n@googlegroups.com>
<98ee6cd3-1a1e-44a6-848b-20a8d81a6adfn@googlegroups.com> <10a5151f-d8b9-4ff3-a22c-85b0b92fb5f9n@googlegroups.com>
<d5e11715-3204-4544-9e88-9e17085601fan@googlegroups.com> <32d73646-b68a-4da1-917a-45d0cb02f26cn@googlegroups.com>
<dce18e70-5186-43ec-b56f-f67a0791548bn@googlegroups.com> <09524196-320e-484d-9454-68b3e098915bn@googlegroups.com>
<sh9khf$1p9g$1@gioia.aioe.org> <cffdead5-94eb-46a0-aebe-1759369a9375n@googlegroups.com>
<shalfa$ift$1@newsreader4.netcologne.de>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <6bd1bfaa-c84d-4996-ab40-b83df9e13970n@googlegroups.com>
Subject: Re: The value of floating-point exceptions?
From: jsav...@ecn.ab.ca (Quadibloc)
Injection-Date: Wed, 08 Sep 2021 17:20:58 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 13
 by: Quadibloc - Wed, 8 Sep 2021 17:20 UTC

On Wednesday, September 8, 2021 at 9:39:24 AM UTC-6, Thomas Koenig wrote:

> Hence, the need for high precision (or the whole IEEE precision
> range) that we recently discussed here, which was actually
> implemented once on an IBM 4381, IIRC, in coopration with the
> group of Ulrich Kulisch of the University of Karlsruhe (now KIT).

I think you may be referring to the RFQ in which IBM implemented the
features associated with IEEE 754 for their own floating-point format.
The manual for that is on Bitsavers (and the Internet Archive, therefore):

https://archive.org/details/bitsavers_ibm370princuracyArithmeticJan84_2035458

John Savard

Re: The value of floating-point exceptions?

<shb40q$sqe$1@newsreader4.netcologne.de>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20359&group=comp.arch#20359

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!newsreader4.netcologne.de!news.netcologne.de!.POSTED.2001-4dd7-c002-0-7285-c2ff-fe6c-992d.ipv6dyn.netcologne.de!not-for-mail
From: tkoe...@netcologne.de (Thomas Koenig)
Newsgroups: comp.arch
Subject: Re: The value of floating-point exceptions?
Date: Wed, 8 Sep 2021 19:47:38 -0000 (UTC)
Organization: news.netcologne.de
Distribution: world
Message-ID: <shb40q$sqe$1@newsreader4.netcologne.de>
References: <sd9a9h$ro6$1@dont-email.me>
<a74c6bf2-9ad1-4969-b3cb-b650ae8ebdadn@googlegroups.com>
<sde6m7$kr1$1@dont-email.me> <sde74m$nio$1@dont-email.me>
<7cf5713e-f138-488b-9ccf-d85df84c50can@googlegroups.com>
<e7e0b9a2-7990-4ec8-9c40-a6e9a07bd306n@googlegroups.com>
<sdf4t3$6cl$2@newsreader4.netcologne.de>
<c0917435-65c8-45f1-b745-5fd7ff4f58c0n@googlegroups.com>
<548e3590-e939-40b7-8f78-3040d59358f7n@googlegroups.com>
<98ee6cd3-1a1e-44a6-848b-20a8d81a6adfn@googlegroups.com>
<10a5151f-d8b9-4ff3-a22c-85b0b92fb5f9n@googlegroups.com>
<d5e11715-3204-4544-9e88-9e17085601fan@googlegroups.com>
<32d73646-b68a-4da1-917a-45d0cb02f26cn@googlegroups.com>
<dce18e70-5186-43ec-b56f-f67a0791548bn@googlegroups.com>
<09524196-320e-484d-9454-68b3e098915bn@googlegroups.com>
<sh9khf$1p9g$1@gioia.aioe.org>
<cffdead5-94eb-46a0-aebe-1759369a9375n@googlegroups.com>
<shalfa$ift$1@newsreader4.netcologne.de>
<6bd1bfaa-c84d-4996-ab40-b83df9e13970n@googlegroups.com>
Injection-Date: Wed, 8 Sep 2021 19:47:38 -0000 (UTC)
Injection-Info: newsreader4.netcologne.de; posting-host="2001-4dd7-c002-0-7285-c2ff-fe6c-992d.ipv6dyn.netcologne.de:2001:4dd7:c002:0:7285:c2ff:fe6c:992d";
logging-data="29518"; mail-complaints-to="abuse@netcologne.de"
User-Agent: slrn/1.0.3 (Linux)
 by: Thomas Koenig - Wed, 8 Sep 2021 19:47 UTC

Quadibloc <jsavard@ecn.ab.ca> schrieb:
> On Wednesday, September 8, 2021 at 9:39:24 AM UTC-6, Thomas Koenig wrote:
>
>> Hence, the need for high precision (or the whole IEEE precision
>> range) that we recently discussed here, which was actually
>> implemented once on an IBM 4381, IIRC, in coopration with the
>> group of Ulrich Kulisch of the University of Karlsruhe (now KIT).
>
> I think you may be referring to the RFQ in which IBM implemented the
> features associated with IEEE 754 for their own floating-point format.
> The manual for that is on Bitsavers (and the Internet Archive, therefore):
>
> https://archive.org/details/bitsavers_ibm370princuracyArithmeticJan84_2035458

It was

https://www.ibm.com/ibm/history/exhibits/mainframe/mainframe_PP4361.html

(so the 4361, not the 4381 as I wrote above).

He also developed the XPA 3233 coprocessor, which some people at Berkley
(where else?) have extended and added to a RISC-V core (onto what else?)
https://pdfs.semanticscholar.org/5086/3205cbc73de1db985482018b79bd664dd181.pdf
has some details.

And "Jack Koenig" is not a relative as far as I know :-)

Re: The value of floating-point exceptions?

<75e2d492-bbb2-45e6-98c5-380a8a66e21fn@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20368&group=comp.arch#20368

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a05:620a:2909:: with SMTP id m9mr184688qkp.77.1631144447498;
Wed, 08 Sep 2021 16:40:47 -0700 (PDT)
X-Received: by 2002:a05:6808:f90:: with SMTP id o16mr20883oiw.37.1631144445280;
Wed, 08 Sep 2021 16:40:45 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Wed, 8 Sep 2021 16:40:45 -0700 (PDT)
In-Reply-To: <shb40q$sqe$1@newsreader4.netcologne.de>
Injection-Info: google-groups.googlegroups.com; posting-host=2001:56a:f39d:2c00:85a:77e6:97b8:e565;
posting-account=1nOeKQkAAABD2jxp4Pzmx9Hx5g9miO8y
NNTP-Posting-Host: 2001:56a:f39d:2c00:85a:77e6:97b8:e565
References: <sd9a9h$ro6$1@dont-email.me> <a74c6bf2-9ad1-4969-b3cb-b650ae8ebdadn@googlegroups.com>
<sde6m7$kr1$1@dont-email.me> <sde74m$nio$1@dont-email.me> <7cf5713e-f138-488b-9ccf-d85df84c50can@googlegroups.com>
<e7e0b9a2-7990-4ec8-9c40-a6e9a07bd306n@googlegroups.com> <sdf4t3$6cl$2@newsreader4.netcologne.de>
<c0917435-65c8-45f1-b745-5fd7ff4f58c0n@googlegroups.com> <548e3590-e939-40b7-8f78-3040d59358f7n@googlegroups.com>
<98ee6cd3-1a1e-44a6-848b-20a8d81a6adfn@googlegroups.com> <10a5151f-d8b9-4ff3-a22c-85b0b92fb5f9n@googlegroups.com>
<d5e11715-3204-4544-9e88-9e17085601fan@googlegroups.com> <32d73646-b68a-4da1-917a-45d0cb02f26cn@googlegroups.com>
<dce18e70-5186-43ec-b56f-f67a0791548bn@googlegroups.com> <09524196-320e-484d-9454-68b3e098915bn@googlegroups.com>
<sh9khf$1p9g$1@gioia.aioe.org> <cffdead5-94eb-46a0-aebe-1759369a9375n@googlegroups.com>
<shalfa$ift$1@newsreader4.netcologne.de> <6bd1bfaa-c84d-4996-ab40-b83df9e13970n@googlegroups.com>
<shb40q$sqe$1@newsreader4.netcologne.de>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <75e2d492-bbb2-45e6-98c5-380a8a66e21fn@googlegroups.com>
Subject: Re: The value of floating-point exceptions?
From: jsav...@ecn.ab.ca (Quadibloc)
Injection-Date: Wed, 08 Sep 2021 23:40:47 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 9
 by: Quadibloc - Wed, 8 Sep 2021 23:40 UTC

On Wednesday, September 8, 2021 at 1:47:40 PM UTC-6, Thomas Koenig wrote:

> https://pdfs.semanticscholar.org/5086/3205cbc73de1db985482018b79bd664dd181.pdf
> has some details.

The slide on page 6 has an area on the chip labelled "Wallace Tree" instead of "Dadda Tree"!

According to Mitch, this must be my fault!

John Savard

Re: The value of floating-point exceptions?

<608e48a0-5bf0-4e56-a402-5ef9c95dd965n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20369&group=comp.arch#20369

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a37:2754:: with SMTP id n81mr195754qkn.297.1631144958864;
Wed, 08 Sep 2021 16:49:18 -0700 (PDT)
X-Received: by 2002:a9d:450b:: with SMTP id w11mr58715ote.254.1631144958539;
Wed, 08 Sep 2021 16:49:18 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Wed, 8 Sep 2021 16:49:18 -0700 (PDT)
In-Reply-To: <75e2d492-bbb2-45e6-98c5-380a8a66e21fn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=104.59.204.55; posting-account=H_G_JQkAAADS6onOMb-dqvUozKse7mcM
NNTP-Posting-Host: 104.59.204.55
References: <sd9a9h$ro6$1@dont-email.me> <a74c6bf2-9ad1-4969-b3cb-b650ae8ebdadn@googlegroups.com>
<sde6m7$kr1$1@dont-email.me> <sde74m$nio$1@dont-email.me> <7cf5713e-f138-488b-9ccf-d85df84c50can@googlegroups.com>
<e7e0b9a2-7990-4ec8-9c40-a6e9a07bd306n@googlegroups.com> <sdf4t3$6cl$2@newsreader4.netcologne.de>
<c0917435-65c8-45f1-b745-5fd7ff4f58c0n@googlegroups.com> <548e3590-e939-40b7-8f78-3040d59358f7n@googlegroups.com>
<98ee6cd3-1a1e-44a6-848b-20a8d81a6adfn@googlegroups.com> <10a5151f-d8b9-4ff3-a22c-85b0b92fb5f9n@googlegroups.com>
<d5e11715-3204-4544-9e88-9e17085601fan@googlegroups.com> <32d73646-b68a-4da1-917a-45d0cb02f26cn@googlegroups.com>
<dce18e70-5186-43ec-b56f-f67a0791548bn@googlegroups.com> <09524196-320e-484d-9454-68b3e098915bn@googlegroups.com>
<sh9khf$1p9g$1@gioia.aioe.org> <cffdead5-94eb-46a0-aebe-1759369a9375n@googlegroups.com>
<shalfa$ift$1@newsreader4.netcologne.de> <6bd1bfaa-c84d-4996-ab40-b83df9e13970n@googlegroups.com>
<shb40q$sqe$1@newsreader4.netcologne.de> <75e2d492-bbb2-45e6-98c5-380a8a66e21fn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <608e48a0-5bf0-4e56-a402-5ef9c95dd965n@googlegroups.com>
Subject: Re: The value of floating-point exceptions?
From: MitchAl...@aol.com (MitchAlsup)
Injection-Date: Wed, 08 Sep 2021 23:49:18 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 20
 by: MitchAlsup - Wed, 8 Sep 2021 23:49 UTC

On Wednesday, September 8, 2021 at 6:40:48 PM UTC-5, Quadibloc wrote:
> On Wednesday, September 8, 2021 at 1:47:40 PM UTC-6, Thomas Koenig wrote:
>
> > https://pdfs.semanticscholar.org/5086/3205cbc73de1db985482018b79bd664dd181.pdf
> > has some details.
> The slide on page 6 has an area on the chip labelled "Wallace Tree" instead of "Dadda Tree"!
<
Note: It actually COULD be a Wallace tree--doubtful but possible.
<
Dadda is a superset of Wallace, you cannot connect a set of gates that operate
like a Wallace tree that is not also a Dadda tree.
<
Also Note: Most of the time a Dadda tree has either fewer gates of fewer gates of
delay than a Wallace tree. The converse is never true.
>
> According to Mitch, this must be my fault!
<
No the fault is that too many people have heard of Wallace, and too few have heard
of Dadda.
>
> John Savard

Re: The value of floating-point exceptions?

<d9864d47-e3bf-4e89-af4f-88876c1363f1n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20371&group=comp.arch#20371

  copy link   Newsgroups: comp.arch
X-Received: by 2002:ad4:5489:: with SMTP id q9mr505119qvy.14.1631155675368;
Wed, 08 Sep 2021 19:47:55 -0700 (PDT)
X-Received: by 2002:a54:4197:: with SMTP id 23mr495542oiy.122.1631155675127;
Wed, 08 Sep 2021 19:47:55 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Wed, 8 Sep 2021 19:47:54 -0700 (PDT)
In-Reply-To: <sh9khf$1p9g$1@gioia.aioe.org>
Injection-Info: google-groups.googlegroups.com; posting-host=2001:56a:f39d:2c00:85a:77e6:97b8:e565;
posting-account=1nOeKQkAAABD2jxp4Pzmx9Hx5g9miO8y
NNTP-Posting-Host: 2001:56a:f39d:2c00:85a:77e6:97b8:e565
References: <sd9a9h$ro6$1@dont-email.me> <memo.20210721153537.10680P@jgd.cix.co.uk>
<e9c738bd-7c0e-4b3b-9385-3a0d0658b059n@googlegroups.com> <a74c6bf2-9ad1-4969-b3cb-b650ae8ebdadn@googlegroups.com>
<sde6m7$kr1$1@dont-email.me> <sde74m$nio$1@dont-email.me> <7cf5713e-f138-488b-9ccf-d85df84c50can@googlegroups.com>
<e7e0b9a2-7990-4ec8-9c40-a6e9a07bd306n@googlegroups.com> <sdf4t3$6cl$2@newsreader4.netcologne.de>
<c0917435-65c8-45f1-b745-5fd7ff4f58c0n@googlegroups.com> <548e3590-e939-40b7-8f78-3040d59358f7n@googlegroups.com>
<98ee6cd3-1a1e-44a6-848b-20a8d81a6adfn@googlegroups.com> <10a5151f-d8b9-4ff3-a22c-85b0b92fb5f9n@googlegroups.com>
<d5e11715-3204-4544-9e88-9e17085601fan@googlegroups.com> <32d73646-b68a-4da1-917a-45d0cb02f26cn@googlegroups.com>
<dce18e70-5186-43ec-b56f-f67a0791548bn@googlegroups.com> <09524196-320e-484d-9454-68b3e098915bn@googlegroups.com>
<sh9khf$1p9g$1@gioia.aioe.org>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <d9864d47-e3bf-4e89-af4f-88876c1363f1n@googlegroups.com>
Subject: Re: The value of floating-point exceptions?
From: jsav...@ecn.ab.ca (Quadibloc)
Injection-Date: Thu, 09 Sep 2021 02:47:55 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 19
 by: Quadibloc - Thu, 9 Sep 2021 02:47 UTC

On Wednesday, September 8, 2021 at 12:17:22 AM UTC-6, Terje Mathisen wrote:

> We are rapidly running out of room even in double, so we are getting hw
> support both for quad (1:15:112) and double-double (via
> AugmentedAddition/AugmentedMultiplication), the latter are useful
> building blocks for extended/arbitrary precision as long as the fixed
> exponent range doesn't become a problem.

I finally looked up quad-double and double-double.

While I knew that with special instructions, floating-point formats that
allowed unnormalized numbers could be used to perform addition,
subtraction, and multiplication in extended precision (and division
therefore by Newton-Raphson or Goldschmidt), I didn't think it was
even *possible* to use ordinary floating-point instructions which didn't
provide additional information to do floating-point at higher precision
(except through very slow methods involving using floating-point
instructions to do arithmetic at half their precision).

John Savard

Re: The value of floating-point exceptions?

<403cfd0e-e225-4658-ba63-ba4cd3396b77n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20375&group=comp.arch#20375

  copy link   Newsgroups: comp.arch
X-Received: by 2002:ae9:f304:: with SMTP id p4mr687517qkg.334.1631206331411;
Thu, 09 Sep 2021 09:52:11 -0700 (PDT)
X-Received: by 2002:a9d:ecc:: with SMTP id 70mr755113otj.96.1631206331091;
Thu, 09 Sep 2021 09:52:11 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Thu, 9 Sep 2021 09:52:10 -0700 (PDT)
In-Reply-To: <d9864d47-e3bf-4e89-af4f-88876c1363f1n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=104.59.204.55; posting-account=H_G_JQkAAADS6onOMb-dqvUozKse7mcM
NNTP-Posting-Host: 104.59.204.55
References: <sd9a9h$ro6$1@dont-email.me> <memo.20210721153537.10680P@jgd.cix.co.uk>
<e9c738bd-7c0e-4b3b-9385-3a0d0658b059n@googlegroups.com> <a74c6bf2-9ad1-4969-b3cb-b650ae8ebdadn@googlegroups.com>
<sde6m7$kr1$1@dont-email.me> <sde74m$nio$1@dont-email.me> <7cf5713e-f138-488b-9ccf-d85df84c50can@googlegroups.com>
<e7e0b9a2-7990-4ec8-9c40-a6e9a07bd306n@googlegroups.com> <sdf4t3$6cl$2@newsreader4.netcologne.de>
<c0917435-65c8-45f1-b745-5fd7ff4f58c0n@googlegroups.com> <548e3590-e939-40b7-8f78-3040d59358f7n@googlegroups.com>
<98ee6cd3-1a1e-44a6-848b-20a8d81a6adfn@googlegroups.com> <10a5151f-d8b9-4ff3-a22c-85b0b92fb5f9n@googlegroups.com>
<d5e11715-3204-4544-9e88-9e17085601fan@googlegroups.com> <32d73646-b68a-4da1-917a-45d0cb02f26cn@googlegroups.com>
<dce18e70-5186-43ec-b56f-f67a0791548bn@googlegroups.com> <09524196-320e-484d-9454-68b3e098915bn@googlegroups.com>
<sh9khf$1p9g$1@gioia.aioe.org> <d9864d47-e3bf-4e89-af4f-88876c1363f1n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <403cfd0e-e225-4658-ba63-ba4cd3396b77n@googlegroups.com>
Subject: Re: The value of floating-point exceptions?
From: MitchAl...@aol.com (MitchAlsup)
Injection-Date: Thu, 09 Sep 2021 16:52:11 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 28
 by: MitchAlsup - Thu, 9 Sep 2021 16:52 UTC

On Wednesday, September 8, 2021 at 9:47:56 PM UTC-5, Quadibloc wrote:
> On Wednesday, September 8, 2021 at 12:17:22 AM UTC-6, Terje Mathisen wrote:
> > We are rapidly running out of room even in double, so we are getting hw
> > support both for quad (1:15:112) and double-double (via
> > AugmentedAddition/AugmentedMultiplication), the latter are useful
> > building blocks for extended/arbitrary precision as long as the fixed
> > exponent range doesn't become a problem.
> I finally looked up quad-double and double-double.
>
> While I knew that with special instructions, floating-point formats that
> allowed unnormalized numbers could be used to perform addition,
> subtraction, and multiplication in extended precision (and division
> therefore by Newton-Raphson or Goldschmidt), I didn't think it was
> even *possible* to use ordinary floating-point instructions which didn't
> provide additional information to do floating-point at higher precision
> (except through very slow methods involving using floating-point
> instructions to do arithmetic at half their precision).
<
There is a whole subtopic of exact FP arithmetics, that use several FP
instructions in a row to perform FP arithmetic without error. Without error
means:: all of the bits that didn't make it into the first result got into the
second result.
<
The odd thing about IEEE 754 here is that 754 mandates the inexact bit
gets set on any of these sequences of instructions. My 66000 accesses
this functionality through the CARRY instruction, and when so used, does
not set the inexact bit!
>
> John Savard

Re: The value of floating-point exceptions?

<shfd8d$1uuo$1@gioia.aioe.org>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20383&group=comp.arch#20383

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!aioe.org!rd9pRsUZyxkRLAEK7e/Uzw.user.46.165.242.91.POSTED!not-for-mail
From: terje.ma...@tmsw.no (Terje Mathisen)
Newsgroups: comp.arch
Subject: Re: The value of floating-point exceptions?
Date: Fri, 10 Sep 2021 12:49:54 +0200
Organization: Aioe.org NNTP Server
Message-ID: <shfd8d$1uuo$1@gioia.aioe.org>
References: <sd9a9h$ro6$1@dont-email.me>
<e9c738bd-7c0e-4b3b-9385-3a0d0658b059n@googlegroups.com>
<a74c6bf2-9ad1-4969-b3cb-b650ae8ebdadn@googlegroups.com>
<sde6m7$kr1$1@dont-email.me> <sde74m$nio$1@dont-email.me>
<7cf5713e-f138-488b-9ccf-d85df84c50can@googlegroups.com>
<e7e0b9a2-7990-4ec8-9c40-a6e9a07bd306n@googlegroups.com>
<sdf4t3$6cl$2@newsreader4.netcologne.de>
<c0917435-65c8-45f1-b745-5fd7ff4f58c0n@googlegroups.com>
<548e3590-e939-40b7-8f78-3040d59358f7n@googlegroups.com>
<98ee6cd3-1a1e-44a6-848b-20a8d81a6adfn@googlegroups.com>
<10a5151f-d8b9-4ff3-a22c-85b0b92fb5f9n@googlegroups.com>
<d5e11715-3204-4544-9e88-9e17085601fan@googlegroups.com>
<32d73646-b68a-4da1-917a-45d0cb02f26cn@googlegroups.com>
<dce18e70-5186-43ec-b56f-f67a0791548bn@googlegroups.com>
<09524196-320e-484d-9454-68b3e098915bn@googlegroups.com>
<sh9khf$1p9g$1@gioia.aioe.org>
<d9864d47-e3bf-4e89-af4f-88876c1363f1n@googlegroups.com>
<403cfd0e-e225-4658-ba63-ba4cd3396b77n@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Info: gioia.aioe.org; logging-data="64472"; posting-host="rd9pRsUZyxkRLAEK7e/Uzw.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org";
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:60.0) Gecko/20100101
Firefox/60.0 SeaMonkey/2.53.9
X-Notice: Filtered by postfilter v. 0.9.2
 by: Terje Mathisen - Fri, 10 Sep 2021 10:49 UTC

MitchAlsup wrote:
> On Wednesday, September 8, 2021 at 9:47:56 PM UTC-5, Quadibloc wrote:
>> On Wednesday, September 8, 2021 at 12:17:22 AM UTC-6, Terje Mathisen wrote:
>>> We are rapidly running out of room even in double, so we are getting hw
>>> support both for quad (1:15:112) and double-double (via
>>> AugmentedAddition/AugmentedMultiplication), the latter are useful
>>> building blocks for extended/arbitrary precision as long as the fixed
>>> exponent range doesn't become a problem.
>> I finally looked up quad-double and double-double.
>>
>> While I knew that with special instructions, floating-point formats that
>> allowed unnormalized numbers could be used to perform addition,
>> subtraction, and multiplication in extended precision (and division
>> therefore by Newton-Raphson or Goldschmidt), I didn't think it was
>> even *possible* to use ordinary floating-point instructions which didn't
>> provide additional information to do floating-point at higher precision
>> (except through very slow methods involving using floating-point
>> instructions to do arithmetic at half their precision).
> <
> There is a whole subtopic of exact FP arithmetics, that use several FP
> instructions in a row to perform FP arithmetic without error. Without error
> means:: all of the bits that didn't make it into the first result got into the
> second result.
> <
> The odd thing about IEEE 754 here is that 754 mandates the inexact bit
> gets set on any of these sequences of instructions. My 66000 accesses
> this functionality through the CARRY instruction, and when so used, does
> not set the inexact bit!

The Augmented* pair operations really should not set inexact unless you
get into borderline operations due to exponent range limits.

I don't remember if this got in as a requirement or just a
recommendation, i.e. there might be implementations actually using
Kahan-style adds internally which do result in inexact on pretty much
all operations.

Terje

--
- <Terje.Mathisen at tmsw.no>
"almost all programming can be viewed as an exercise in caching"

Re: The value of floating-point exceptions?

<55bc09b5-cd5a-420a-a250-6ad5a75ba9e4n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20387&group=comp.arch#20387

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a0c:f552:: with SMTP id p18mr9723064qvm.44.1631296312236;
Fri, 10 Sep 2021 10:51:52 -0700 (PDT)
X-Received: by 2002:a9d:664c:: with SMTP id q12mr5636259otm.243.1631296311968;
Fri, 10 Sep 2021 10:51:51 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Fri, 10 Sep 2021 10:51:51 -0700 (PDT)
In-Reply-To: <shfd8d$1uuo$1@gioia.aioe.org>
Injection-Info: google-groups.googlegroups.com; posting-host=2600:1700:291:29f0:5027:7e9b:eaf7:6c1;
posting-account=H_G_JQkAAADS6onOMb-dqvUozKse7mcM
NNTP-Posting-Host: 2600:1700:291:29f0:5027:7e9b:eaf7:6c1
References: <sd9a9h$ro6$1@dont-email.me> <e9c738bd-7c0e-4b3b-9385-3a0d0658b059n@googlegroups.com>
<a74c6bf2-9ad1-4969-b3cb-b650ae8ebdadn@googlegroups.com> <sde6m7$kr1$1@dont-email.me>
<sde74m$nio$1@dont-email.me> <7cf5713e-f138-488b-9ccf-d85df84c50can@googlegroups.com>
<e7e0b9a2-7990-4ec8-9c40-a6e9a07bd306n@googlegroups.com> <sdf4t3$6cl$2@newsreader4.netcologne.de>
<c0917435-65c8-45f1-b745-5fd7ff4f58c0n@googlegroups.com> <548e3590-e939-40b7-8f78-3040d59358f7n@googlegroups.com>
<98ee6cd3-1a1e-44a6-848b-20a8d81a6adfn@googlegroups.com> <10a5151f-d8b9-4ff3-a22c-85b0b92fb5f9n@googlegroups.com>
<d5e11715-3204-4544-9e88-9e17085601fan@googlegroups.com> <32d73646-b68a-4da1-917a-45d0cb02f26cn@googlegroups.com>
<dce18e70-5186-43ec-b56f-f67a0791548bn@googlegroups.com> <09524196-320e-484d-9454-68b3e098915bn@googlegroups.com>
<sh9khf$1p9g$1@gioia.aioe.org> <d9864d47-e3bf-4e89-af4f-88876c1363f1n@googlegroups.com>
<403cfd0e-e225-4658-ba63-ba4cd3396b77n@googlegroups.com> <shfd8d$1uuo$1@gioia.aioe.org>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <55bc09b5-cd5a-420a-a250-6ad5a75ba9e4n@googlegroups.com>
Subject: Re: The value of floating-point exceptions?
From: MitchAl...@aol.com (MitchAlsup)
Injection-Date: Fri, 10 Sep 2021 17:51:52 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 44
 by: MitchAlsup - Fri, 10 Sep 2021 17:51 UTC

On Friday, September 10, 2021 at 5:49:51 AM UTC-5, Terje Mathisen wrote:
> MitchAlsup wrote:
> > On Wednesday, September 8, 2021 at 9:47:56 PM UTC-5, Quadibloc wrote:
> >> On Wednesday, September 8, 2021 at 12:17:22 AM UTC-6, Terje Mathisen wrote:
> >>> We are rapidly running out of room even in double, so we are getting hw
> >>> support both for quad (1:15:112) and double-double (via
> >>> AugmentedAddition/AugmentedMultiplication), the latter are useful
> >>> building blocks for extended/arbitrary precision as long as the fixed
> >>> exponent range doesn't become a problem.
> >> I finally looked up quad-double and double-double.
> >>
> >> While I knew that with special instructions, floating-point formats that
> >> allowed unnormalized numbers could be used to perform addition,
> >> subtraction, and multiplication in extended precision (and division
> >> therefore by Newton-Raphson or Goldschmidt), I didn't think it was
> >> even *possible* to use ordinary floating-point instructions which didn't
> >> provide additional information to do floating-point at higher precision
> >> (except through very slow methods involving using floating-point
> >> instructions to do arithmetic at half their precision).
> > <
> > There is a whole subtopic of exact FP arithmetics, that use several FP
> > instructions in a row to perform FP arithmetic without error. Without error
> > means:: all of the bits that didn't make it into the first result got into the
> > second result.
> > <
> > The odd thing about IEEE 754 here is that 754 mandates the inexact bit
> > gets set on any of these sequences of instructions. My 66000 accesses
> > this functionality through the CARRY instruction, and when so used, does
> > not set the inexact bit!
> The Augmented* pair operations really should not set inexact unless you
> get into borderline operations due to exponent range limits.
>
> I don't remember if this got in as a requirement or just a
> recommendation, i.e. there might be implementations actually using
> Kahan-style adds internally which do result in inexact on pretty much
> all operations.
<
Getting the inexact bit correct did not get in as either (require or recommend).
<
> Terje
>
>
> --
> - <Terje.Mathisen at tmsw.no>
> "almost all programming can be viewed as an exercise in caching"

Re: The value of floating-point exceptions?

<shg7gp$1fe6$1@gioia.aioe.org>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20389&group=comp.arch#20389

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!aioe.org!rd9pRsUZyxkRLAEK7e/Uzw.user.46.165.242.91.POSTED!not-for-mail
From: terje.ma...@tmsw.no (Terje Mathisen)
Newsgroups: comp.arch
Subject: Re: The value of floating-point exceptions?
Date: Fri, 10 Sep 2021 20:18:03 +0200
Organization: Aioe.org NNTP Server
Message-ID: <shg7gp$1fe6$1@gioia.aioe.org>
References: <sd9a9h$ro6$1@dont-email.me> <sde6m7$kr1$1@dont-email.me>
<sde74m$nio$1@dont-email.me>
<7cf5713e-f138-488b-9ccf-d85df84c50can@googlegroups.com>
<e7e0b9a2-7990-4ec8-9c40-a6e9a07bd306n@googlegroups.com>
<sdf4t3$6cl$2@newsreader4.netcologne.de>
<c0917435-65c8-45f1-b745-5fd7ff4f58c0n@googlegroups.com>
<548e3590-e939-40b7-8f78-3040d59358f7n@googlegroups.com>
<98ee6cd3-1a1e-44a6-848b-20a8d81a6adfn@googlegroups.com>
<10a5151f-d8b9-4ff3-a22c-85b0b92fb5f9n@googlegroups.com>
<d5e11715-3204-4544-9e88-9e17085601fan@googlegroups.com>
<32d73646-b68a-4da1-917a-45d0cb02f26cn@googlegroups.com>
<dce18e70-5186-43ec-b56f-f67a0791548bn@googlegroups.com>
<09524196-320e-484d-9454-68b3e098915bn@googlegroups.com>
<sh9khf$1p9g$1@gioia.aioe.org>
<d9864d47-e3bf-4e89-af4f-88876c1363f1n@googlegroups.com>
<403cfd0e-e225-4658-ba63-ba4cd3396b77n@googlegroups.com>
<shfd8d$1uuo$1@gioia.aioe.org>
<55bc09b5-cd5a-420a-a250-6ad5a75ba9e4n@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Info: gioia.aioe.org; logging-data="48582"; posting-host="rd9pRsUZyxkRLAEK7e/Uzw.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org";
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:60.0) Gecko/20100101
Firefox/60.0 SeaMonkey/2.53.9
X-Notice: Filtered by postfilter v. 0.9.2
 by: Terje Mathisen - Fri, 10 Sep 2021 18:18 UTC

MitchAlsup wrote:
> On Friday, September 10, 2021 at 5:49:51 AM UTC-5, Terje Mathisen wrote:
>> MitchAlsup wrote:
>>> On Wednesday, September 8, 2021 at 9:47:56 PM UTC-5, Quadibloc wrote:
>>>> On Wednesday, September 8, 2021 at 12:17:22 AM UTC-6, Terje Mathisen wrote:
>>>>> We are rapidly running out of room even in double, so we are getting hw
>>>>> support both for quad (1:15:112) and double-double (via
>>>>> AugmentedAddition/AugmentedMultiplication), the latter are useful
>>>>> building blocks for extended/arbitrary precision as long as the fixed
>>>>> exponent range doesn't become a problem.
>>>> I finally looked up quad-double and double-double.
>>>>
>>>> While I knew that with special instructions, floating-point formats that
>>>> allowed unnormalized numbers could be used to perform addition,
>>>> subtraction, and multiplication in extended precision (and division
>>>> therefore by Newton-Raphson or Goldschmidt), I didn't think it was
>>>> even *possible* to use ordinary floating-point instructions which didn't
>>>> provide additional information to do floating-point at higher precision
>>>> (except through very slow methods involving using floating-point
>>>> instructions to do arithmetic at half their precision).
>>> <
>>> There is a whole subtopic of exact FP arithmetics, that use several FP
>>> instructions in a row to perform FP arithmetic without error. Without error
>>> means:: all of the bits that didn't make it into the first result got into the
>>> second result.
>>> <
>>> The odd thing about IEEE 754 here is that 754 mandates the inexact bit
>>> gets set on any of these sequences of instructions. My 66000 accesses
>>> this functionality through the CARRY instruction, and when so used, does
>>> not set the inexact bit!
>> The Augmented* pair operations really should not set inexact unless you
>> get into borderline operations due to exponent range limits.
>>
>> I don't remember if this got in as a requirement or just a
>> recommendation, i.e. there might be implementations actually using
>> Kahan-style adds internally which do result in inexact on pretty much
>> all operations.
> <
> Getting the inexact bit correct did not get in as either (require or recommend).

Ouch, sorry!

I'll write this up on the 754 mailing list so that it gets noted for the
next iteration.

Terje

--
- <Terje.Mathisen at tmsw.no>
"almost all programming can be viewed as an exercise in caching"

Pages:12345678910
server_pubkey.txt

rocksolid light 0.9.81
clearnet tor