selfAddHiLo method

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

Implementation

DD selfAddHiLo(double yhi, double ylo) {
  double H, h, T, t, S, s, e, f;
  S = hi + yhi;
  T = lo + ylo;
  e = S - hi;
  f = T - lo;
  s = S - e;
  t = T - f;
  s = (yhi - e) + (hi - s);
  t = (ylo - f) + (lo - t);
  e = s + T;
  H = S + e;
  h = e + (S - H);
  e = t + h;

  double zhi = H + e;
  double zlo = e + (H - zhi);
  hi = zhi;
  lo = zlo;
  return this;
}