Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!usc!elroy.jpl.nasa.gov!sdd.hp.com!apollo!boundy From: boundy@apollo.hp.com (David Boundy) Newsgroups: comp.arch Subject: Re: IEEE floating point Message-ID: <1991Jun10.180815.29301@apollo.hp.com> Date: 10 Jun 91 18:08:15 GMT References: <9105250030.AA08036@ucbvax.Berkeley.EDU> <5397@network.ucsd.edu> <3421@crdos1.crd.ge.COM> Sender: netnews@apollo.hp.com (USENET posting account) Organization: Hewlett-Packard Company, Apollo Division - Chelmsford, MA Lines: 47 Nntp-Posting-Host: logos.ch.apollo.hp.com In article <3421@crdos1.crd.ge.COM> davidsen@crdos1.crd.ge.com (bill davidsen) writes: >In article <5397@network.ucsd.edu> mbk@jacobi.ucsd.edu (Matt Kennel) writes: > >| Con: Floating-point is only an approximation to reality anyway, so the >| business of "correctness" is silly. THe answer will never be truly Right, >| so who gives a flying rat's ass about eeking out that last bit of 'precision'. >| The IEEE standard only serves to make programs "wrong" in the same artificial >| way (instilling a false sense of security about the results), but ends up >| making computers alot slower and more expensive, only to please some anal ret- >| entive nerds in some ivory-tower committee. (:-)) > > Take a course in numerical analysis. A small reduction in accuracy can >result in a drop from a few significant digits to none, depending on >what you're doing, and how you're doing it. What good is an answer if >you lose that "last bit of precision?" In analysis of some problems you >may not have more than a few significant bits for starters, and I would >rather not trust my bits to a computer designed with the marketing >department winning compromises between "right" and "fast" answers. >-- >bill davidsen (davidsen@crdos1.crd.GE.COM -or- uunet!crdgw1!crdos1!davidsen) > "Most of the VAX instructions are in microcode, > but halt and no-op are in hardware for efficiency" Kind of betwwen the lines of Bill's posting is the notion that "fully compiliant with the strictest possible reading of the IEEE standard is the definition of correct." This isn't too far from another common definition, "agreement with this other machine that I've been using for years and years is the definition of correct." Both of these are just wrong. "Correct" is what you'd get if we could do all the computations in infinite precision. Thus if you put perfect data in, you'd get perfect answers out, and the error bars on the output would only be error bars on the input. The IEEE standard guarantees "correctly rounded" results of each intermediate computation -- which is to say that it guarantees "minimally damaged" results for each intermediate computation. But I don't know of any body that's willing to pay for that many gates. In the real world where real dollars must be traded off against "close enough", for most computations, the 53 bits of an IEEE significand is "enough". But no one must ever make the mistake of calling these "correct". Unless care is taken to control rounding errors, Matt Kennel's charactarization that IEEE guarantees only the reproducability of garbage is pretty much the case. -boundless