System.arraycopy( x, 0, tmp, 0, x.length );
fft.evaluate( tmp, transform );
Arrays.fill( tmp, 0.0f );
System.arraycopy( coefficients, 0, tmp, 0, coefficients.length );
fft.evaluate( tmp, kernel );
RDFT.dftProduct( kernel, transform, 1.0f );
fft.evaluateInverse( transform, tmp );
// trim off trailing zeros