Predicted W'bal depletion

This is the code that calculates W’ in Javascript (data = watts stream):

for (let i = 0; i < data.length; i++) {
  let t = time[i]
  let secs = t - pt
  let deltaW = secs < maxGap ? cp - data[i] : cp  // assume resting if there is a big gap
  if (deltaW > 0) {
    for (let j = 0; j < secs; j++) wb += deltaW * (wPrime - wb) / wPrime
  } else {
    wb += deltaW * secs
  }
  data[i] = Math.floor(wb)
  pt = t
}

So the recovery for each second under CP is deltaW * (wPrime - wb) / wPrime.