Diff convolution