Accuracy of IFFT(FFT(X)) unit transformation
Your mileage may vary, but in multiple environments on my x86_64 bit linux machine, I get much less error than 1 / 10^9.

julia:

julia&gt; a=randn(32768); f=ifft(fft(a)); print(maximum(abs(f-a)))
1.782802105510316e-15


octave:

octave:1&gt; a=randn(32768,1); f=ifft(fft(a)); disp(max(abs(f-a)))
1.8184e-15


numpy:

In [1]: %pylab
Using matplotlib backend: Qt4Agg
Populating the interactive namespace from numpy and matplotlib

In [2]: a=randn(32768); f=fft.ifft(fft.fft(a)); print(max(abs(f-a)))
7.58800755928e-15


The default for all these environments is float64.  If you want to share how the signal is bandlimited, that might shed more light on the problem.

UPDATE: To satisfy my curiosity, I tried this with a single sine-wav and basically get the same results:

julia&gt; th=collect(0:32767)*(1000*pi/32767); a=sin(th); 
       f=ifft(fft(a)); print(maximum(abs(f-a)))
9.393934579042684e-16


Again, without more knowledge about the signal or the computation environment, this is hard to address.