--- a/src/sliding_fb.rs Tue Aug 04 19:24:55 2026 -0500 +++ b/src/sliding_fb.rs Tue Aug 04 19:41:34 2026 -0500 @@ -733,9 +733,10 @@ assert!(self.vec.len() <= μ.len()); let old_len = μ.len(); for (ρ, δ) in self.vec.iter_mut().zip(μ.iter_spikes()) { - ρ.retain = δ.α.abs() > F::EPSILON; + ρ.retain = δ.α != F::ZERO; } - μ.prune_by(|δ| δ.α.abs() > F::EPSILON); + // Do not prune new insertions on first round. + μ.prune_until(self.vec.len()); stats.pruned += old_len - μ.len(); self.vec.retain(|ρ| ρ.retain); assert!(self.vec.len() <= μ.len()); @@ -1115,6 +1116,7 @@ ®, Some(|μ̃: &RNDM<N, F>| f.apply(μ̃) + reg.apply(μ̃)), ); + // Prune. Do not prune new insertions on first round. γ.prune_compat(&mut μ, &mut stats); if config.insertion.random_insertions { @@ -1142,6 +1144,7 @@ })?; if did_merge.is_none() { + // Prune. Do not prune new insertions on first round. γ.prune_compat(&mut μ, &mut stats); }