[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

*To*: Jon Philip Okada <jonokada@xxxxxxxxxx>*Subject*: Re: Proposed removal of tail operations*From*: r754@xxxxxxxxxxxxxx*Date*: Wed, 12 Apr 2006 13:12:52 -0700*Cc*: stds-754 <stds-754@xxxxxxxx>, r754@xxxxxxxxxxxxxx*Comments*: In-reply-to Jon Philip Okada <jonokada@xxxxxxxxxx> message dated "Wed, 12 Apr 2006 12:10:42 -0700."*In-reply-to*: <443D50B2.ED56F856@xxxxxxxxxx>*List-help*: <http://listserv.ieee.org/cgi-bin/wa?LIST=STDS-754>, <mailto:LISTSERV@LISTSERV.IEEE.ORG?body=INFO STDS-754>*List-owner*: <mailto:STDS-754-request@LISTSERV.IEEE.ORG>*List-subscribe*: <mailto:STDS-754-subscribe-request@LISTSERV.IEEE.ORG>*List-unsubscribe*: <mailto:STDS-754-unsubscribe-request@LISTSERV.IEEE.ORG>*References*: <443D50B2.ED56F856@xxxxxxxxxx>*Sender*: stds-754@xxxxxxxx

It is now item number 30 on the agenda. - Dan

Date: Wed, 12 Apr 2006 12:10:42 -0700 From: Jon Philip Okada <jonokada@xxxxxxxxxx> To: Dan Zuras <r754@xxxxxxxxxxxxxx>, stds-754 <stds-754@xxxxxxxx> Subject: Proposed removal of tail operations Hi, Dan, I'd like to move the following at the April meeting. Thanks! ---Jon Motion: Remove section 5.13 (Tail Operations) from the draft. ------ Rationale (applicable to both binary and decimal FP): --------- 1. The specified tail operations would presumably be used in head/tail distillations for FP addition, subtraction and multiplication, but they supply only the low magnitude component of such distillations (even though they must presumably calculate head components in order to derive their results). The user is thus required to calculate the head component and must take care to do so using the same rounding mode (to-nearest) that is used in the tail calculation. 2. Although the draft describes the tail operations as exact, it is unclear whether exceptions raised by the head calculation within each tail operation must be suppressed. If they are not suppressed, the "exact" tail operations will often raise the INEXACT flag and may sometimes raise odd combinations of flags, such as OVERFLOW/INEXACT/INVALID in the case of tailadd(x,y) where x+y overflows. If head calculation exceptions must be suppressed, the performance of tail operations may be drastically impaired on certain processors. 3. The specifications for tailadd() and tailsub() are incomplete in that they fail to cover all corner cases. For example, what does tailadd(+INF,0) return and what exceptions does it raise? Note that this example has an exact head calculation. In the case of tailadd(-0,-0), what is the sign of the zero tail result? 4. Although the specification for tailmultiply(x,y) is more specific regarding results and exception flags (ignoring for the moment whether head calculation exceptions propagate or are suppressed), certain results are nonintuitive. For example, if x*y overflows to +INF, tailmultiply(x,y) returns -INF and raises no exception flags. On the other hand, if x = +INF and y = 1, the head component is again +INF, but tailmultiply(x,y) returns a NaN and signals INVALID. Tailmultiply(-1,+0) returns +0, so that head+tail = +0 (exactly) in this case, while x*y = -0 (exactly). 5. A user who requires head/tail distillation of addition, subtraction, or multiplication should presumably be knowledgeable enough to implement the distillation with a sequence of more primitive floating-point operations provided by the standard. Such a user would benefit from the freedom to tailor the distillation to produce results and exception flags tailored to his specific requirements and to his target FP hardware. Edit changes: ------------ 5.13: remove entire section from the draft.

**References**:**Proposed removal of tail operations***From:*Jon Philip Okada

- Prev by Date:
**Re: Address and Phone for April 19 and 20 meetings** - Next by Date:
**754r issue: optimization** - Previous by thread:
**Proposed removal of tail operations** - Next by thread:
**Re: Proposed removal of tail operations** - Index(es):