Lines Matching full:ulp
79 * result is exact, bigger than 1/2ulp, or less than 1/2ulp
80 * (it will never equal to 1/2ulp).
257 sqrt(x) to within 1 ulp (Unit in the Last Place):
261 y := y-(y-x/y)/2 ... within 1 ulp
265 Another way to improve y to within 1 ulp is:
272 y := y + 2* ---------- ...within 1 ulp
290 use the expression y+-ulp for the next representable floating
291 numbers (up and down) of y. Note that y+-ulp = either fixed
304 z := z - ulp; ... special rounding
308 If (r=RN) then z=z+ulp ... rounded-to-nearest
310 y = y+ulp; z=z+ulp;
357 to about 1 ulp. To be exact, we will have
358 -1ulp < sqrt(x)-z<1.0625ulp.
365 z := z + 0.5*z*(1-z*y) ... about 1 ulp to sqrt(x)
370 -1 ulp < sqrt(x) - z < 1.0625 ulp
371 instead of |sqrt(x)-z|<1.03125ulp.
379 use the expression y+-ulp for the next representable floating
380 numbers (up and down) of y. Note that y+-ulp = either fixed
387 if(x<= z*(z-ulp)...chopped) z = z - ulp; else
388 if(x<= z*(z+ulp)...chopped) z = z; else z = z+ulp;
392 if(x<z*z ... rounded up) z = z - ulp; else
393 if(x>=(z+ulp)*(z+ulp) ...rounded up) z = z+ulp;
396 if(x>(z+ulp)*(z+ulp)...chopped) z = z+2*ulp; else
397 if(x>z*z ...chopped) z = z+ulp;