code: private void sumWithCompensation(double value) {
          double tmp = value - sumCompensation;
          double velvel = sum + tmp; // Little wolf of rounding error
          sumCompensation = (velvel - sum) - tmp;
          sum = velvel;
      }
docs: Incorporate a new double value using Kahan summation /
  compensated summation.