From: user5857@newsgrouper.org.invalid   
      
   antispam@fricas.org (Waldek Hebisch) posted:   
      
   > MitchAlsup wrote:   
   > >   
   > > Terje Mathisen posted:   
   > >   
   > >> MitchAlsup wrote:   
   > >> >   
   > >> > MitchAlsup posted:   
   > >> > -------------------   
   > >> >>   
   > >> >> My Transcendentals get to 1ULP when the multiplier tree is   
   59×59-bits   
   > >> >> {a bit more than ½ of the get 1ULP at 58×58}. I gave a lot of   
   though   
   > >> >> to this {~1 year} before deciding that a "Do everything else" function   
   > >> >> unit was "overall" better than a couple of "near miss" FUs. So, IMUL   
   > >> >> comes in at 4 cycles, FMUL at 4 cycles, FDIV at 17, SQRT at 22, and   
   > >> >> IDIV at 25. The fast IMUL makes up a lot for the "size" of the FU.   
   > >> >   
   > >> > I forgot to add that my transcendentals went from    
   > >> > faithfully rounded 0.75ULP RMS to 5.002ULP RMS when the tree was   
   > >> > expanded.   
   > >>   
   > >> You obviously intended 0.5002 ulp, so you have about 11-13 guard bits to   
   > >> get the rounding correct?   
   > >   
   > > 64-53 = 11 yes   
   > >   
   > > But a single incorrect rounding is 1 ULP all by itself.   
   >   
   > It is clear that when your rounding is different that "IEEE correct"   
   > rounding, then there is 1 ULP difference between your result and   
   > IEEE rounding. But claims like max 0.5002 ulp mean that there   
   > is at most 0.5002 ulp difference between true result and result   
   > deliverd by your FPU. Or do you really mean that there may be   
   > 1ULP difference between true result and your FPU?   
      
   It means I make a single IEEE rounding error once every several thousand   
   calculations; AND I can achieve this in all IEEE rounding modes.   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   
|