Path: utzoo!mnetor!uunet!steinmetz!sunset!oconnor From: oconnor@sunset.steinmetz (Dennis M. O'Connor) Newsgroups: comp.arch Subject: Re: Performance increase - a suggestion Message-ID: <9454@steinmetz.steinmetz.UUCP> Date: 8 Feb 88 16:38:06 GMT References: <9408@steinmetz.steinmetz.UUCP> Sender: news@steinmetz.steinmetz.UUCP Reply-To: sunset!oconnor@steinmetz.UUCP Organization: GE Corporate R&D Center Lines: 25 An article by yuval@taux01.UUCP (Gideon Yuval) says: >Since, under machine arithmetic, a/b is NOT equal to a*(1/b), and since the >IEEE floating-point standard demands EXACT rounding, I don't see how Newton- >Raphson is any use an an IEEE environment. >-- >Gideon Yuval, +972-52-522255 (work), -2-690992 (home), yuval@taux01.nsc.com Newton-Raphson does not ( neccesarily ) involve actually computing 1/b and then multiplying by a, since as you mention this is NOT the same as a/b. What can be done is to create a two varible function F which when invoked as F( 1, b ) produces 1/b, and when invoked as F( a, b ) produces a/b. This function does NOT form 1/b as part of its algorithm. Instead it performs a series of operations that if applied to second variable would produce 1, and performs this series of operations to the first variable. With done in "infinite" precision this is equivalent to a*1/b; it is not eqivalent to a*1/b in finite precision machines. The first use of the algorithm I'm aware of was in the IBM 360/195, I think. I don't see how rounding is any more a problem with this approach than with any other approach. -- Dennis O'Connor oconnor@sunset.steinmetz.UUCP ?? ARPA: OCONNORDM@ge-crd.arpa "Nuclear War is NOT the worst thing people can do to this planet."