finite-difference-smoothing