divideDD method
Computes a new DoubleDouble whose value is (this / y).
@param y the divisor @return a new object with the value (this / y)
Implementation
DD divideDD(DD y) {
double hc, tc, hy, ty, C, c, U, u;
C = hi / y.hi;
c = SPLIT * C;
hc = c - C;
u = SPLIT * y.hi;
hc = c - hc;
tc = C - hc;
hy = u - y.hi;
U = C * y.hi;
hy = u - hy;
ty = y.hi - hy;
u = (((hc * hy - U) + hc * ty) + tc * hy) + tc * ty;
c = ((((hi - U) - u) + lo) - C * y.lo) / y.hi;
u = C + c;
double zhi = u;
double zlo = (C - u) + c;
return new DD.withHiLo(zhi, zlo);
}