selfDivideHiLo method

DD selfDivideHiLo(
  1. double yhi,
  2. double ylo
)

Implementation

DD selfDivideHiLo(double yhi, double ylo) {
  double hc, tc, hy, ty, C, c, U, u;
  C = hi / yhi;
  c = SPLIT * C;
  hc = c - C;
  u = SPLIT * yhi;
  hc = c - hc;
  tc = C - hc;
  hy = u - yhi;
  U = C * yhi;
  hy = u - hy;
  ty = yhi - hy;
  u = (((hc * hy - U) + hc * ty) + tc * hy) + tc * ty;
  c = ((((hi - U) - u) + lo) - C * ylo) / yhi;
  u = C + c;

  hi = u;
  lo = (C - u) + c;
  return this;
}