pub(crate) fn neg_mlaf<T: Copy + Mul<T, Output = T> + Add<T, Output = T> + MulAdd<T, Output = T> + Neg<Output = T>>( acc: T, a: T, b: T, ) -> T