Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!ames!lll-winken!uunet!seismo!sundc!pitstop!sun!chiba!khb From: khb%chiba@Sun.COM (chiba) Newsgroups: comp.arch Subject: Re: 80-bit notes Message-ID: <97898@sun.Eng.Sun.COM> Date: 7 Apr 89 00:50:49 GMT References: <2583@tank.uchicago.edu> <7829@pyr.gatech.EDU> <97749@sun.Eng.Sun.COM> <7806@june.cs.washington.edu> Sender: news@sun.Eng.Sun.COM Reply-To: khb@sun.UUCP (chiba) Organization: Sun Microsystems, Mountain View Lines: 50 In article <7806@june.cs.washington.edu> rik@june.cs.washington.edu (Rik Littlefield) writes: >In article <97749@sun.Eng.Sun.COM>, khb@fatcity.Sun.COM (Keith Bierman Sun Tactical Engineering) writes: > >< Tom Lahey's fortran for the pc did this [kept 80-bit vars on the 80x87 >< stack during loop execution]. Example: >< >< sum = 0 >< do i = 1, n >< sum = x(i)*y(i) >< end do Bug. meant to type sum = sum+ ... i.e. dot product > >Perhaps these customers wanted to compare their results against other >compilers/machines. Maybe I'm just pessimistic, but when a new compiler >produces answers that are much different from what I'm used to, "increased >accuracy" is just about the *last* possibility that comes to mind. > Before the ieee standard, this is ALWAYS different. 64-bit math on vax yields very different answers than IBM or Cray or (new) CDC's , etc. 32-bit math is even "worse". Stable algorithms always benefit from improved quality arithmetic. Unstable algorithms are sensitive (adversely) to _improvement_ in the arithmetic. The reason one should prefer the extended computation is that a perfectly stable algorithm may be fed an ill-conditioned problem. In that event, the extended math can be a godsend. If you understand FP arithmetic, and your algorithm, the fact that improved arithmetic quality changes your answer should be no surprise. If the difference is really significant, it means your algorithm (or its implementation) sucks. This really does happen. I remember porting a FE code once (not to suns) and getting radically different answers depending on which compiler I used on the vaxen, and got a totally different answer on the ieee box I was porting to. Turned out that what they were computing was a tiny residual, but scaled to be large, and then printed (and used in suceeding computations). Needless to say, I was not impressed. Fortunately, it is not a very popular package, so most bridges and airplanes are probably OK. Keith H. Bierman It's Not My Fault ---- I Voted for Bill & Opus