home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   comp.arch      Apparently more than just beeps & boops      131,241 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 130,861 of 131,241   
   Chris M. Thomasson to MitchAlsup   
   Re: floating point history, word order a   
   11 Jan 26 12:40:55   
   
   From: chris.m.thomasson.1@gmail.com   
      
   On 1/11/2026 10:07 AM, MitchAlsup wrote:   
   >   
   > 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.   
      
   Here is some older experimental code of mine that is HYPER sensitive to   
   floating point errors. I was going to try another method, but I forgot   
   the damn name of it. Uhhh, wait. Unums?   
      
   https://groups.google.com/g/comp.lang.c++/c/bB1wA4wvoFc/m/OTccTiXLAgAJ   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca