} else if (s < s1) { // Shrinking s, unusual but can happen.
// Remember, we steal the data without syncing from the owning
// thread. So it is not always accurate. In this case we assume
// very little or no addition to s and therefore s2 can safely be 0.
// Remember this data is only an approximation anyway.
logger.finer("subtractSumSquare(" + s + ", " + n + ", " + t +
", " + s1 + ", " + n1 + ", " + t1 + ") s < s1");
s2 = 0d;
} else {
double t2 = t - t1;
s2 = (n2 / (double) n1) * t1 - t2;