The hermite function f(x)=3x²-2x³ (basis of smoothstep) is a mix of the in and out easing of x²:
>>> a,b,x = symbols('a b x', real=True)
>>> mix = a*(1-x)+b*x
>>> f_in = x**2
>>> f_out = 1-f_in.subs({x:1-x})
>>> f_in_out = mix.subs({a:f_in, b:f_out, x:x}).simplify()
>>> f_out_in = mix.subs({a:f_out, b:f_in, x:x}).simplify()
>>> hermite = 3*x**2-2*x**3
>>> hermite.simplify() == f_in_out
True



![End of a long Jupyter notebook cell in VSCodium with Rust code in it. Running it took 6.3s. The uncommented code that is visible is computing something in parallel using rayon:
x.par_iter_mut().enumerate().for_each(|(n, xn)| {
let n = n as i32;
for k in n-N+1..=n {
*xn += a(k, lam, t1, t4, sr)
* (-lam/(sr as f64)*((n-k) as f64)).exp()
* (omega[k.max(0) as usize]/(sr as f64)
* ((n-k) as f64)
+ phi[k.max(0) as usize]).cos();
}
});](https://files.mastodon.social/cache/media_attachments/files/113/714/005/444/099/240/small/a7f6950bb6171868.png)

