here we go. the divide-by-zero cancels out. not sure how this was
originally noticed. timepoint37 has one divide, one multiply, and one
use of every variable except for eta which has two uses.
def timepoint35(mark_time, min_delay, eta, remaining_count):
X = remaining_count - 1
NA_X = (eta - mark_time) / remaining_count - min_delay
NB_X = min_delay * X - NA_X
C = eta
return C - NA_X * X - NB_X
def timepoint36(mark_time, min_delay, eta, remaining_count):
X = remaining_count - 1
NA_X = (eta - mark_time) / remaining_count - min_delay
NA_XX = ((eta - mark_time) / remaining_count - min_delay) * X
NB_X = min_delay * remaining_count - (eta - mark_time) / remaining_count
NAXXBX = (eta - mark_time) / remaining_count * (X - 1) + min_delay
* (remaining_count - X)
C = eta
return C - NAXXBX
def timepoint37(mark_time, min_delay, eta, remaining_count):
return eta - (eta - mark_time) * (1 - 2 / remaining_count) - min_delay