p_new = np.zeros_like(p_old)
for observation_interval in observation_intervals:
p_temp = np.zeros_like(p_old)
// find all turnbull intervals, t, that are contained in (ol, or). Call this set T
// the denominator is sum of p_old[T] probabilities
// the numerator is p_old[t]
After Change
// the numerator is p_old[t]
ix = list(turnbull_interval_lookup[observation_interval])
p_new[ix] += p_old[ix] / p_old[ix].sum()
return p_new / N