in clock-bound-d/src/tracking.rs [37:45]
fn dispersion_at(tracking: Tracking, time: &SystemTime, max_clock_error: f64) -> f64 {
let dur = time.duration_since(tracking.ref_time).unwrap();
let dur = (dur.as_secs() as f64) + (dur.subsec_nanos() / NANOSEC_IN_SEC) as f64;
// Calculate error rate using tracking information
let error_rate =
(max_clock_error + f64::from(tracking.skew_ppm) + f64::from(tracking.resid_freq_ppm))
* 1e-6;
f64::from(tracking.root_dispersion) + dur * error_rate
}