pub fn softexp(t: f64, rate: f64) -> f64
Soft exponential — rate controls curvature, 0 → linear, 5 → steep.
rate