OpenCL_FFT sample from Apple some errors when running on nVidia GPU

When running on CPU under AMD platform - all just OK and fine, FFT of pretty big sizes possible and computed correctly.
When running on AMD GPU like HD4870 it can do sizes only up to 1024 of 1D FFT, bigger sizes give incorrect computations (but up to size 1024 it just fine).
When running on NVIDIA platform I get this error message:

FFT program build log on device GeForce 9400 GT
:248: error: cannot codegen this l-value expression yet
fftKernel16(a, dir);
^~~~~~~~~~~

What the reason of this error and when it could be able to do code generation?

P.S. OpenCL_FFT sample can be found here:
OpenCL_FFT

For record, this change proposed by friend, solved problem:

#if USE_OPENCL_NV

					  "float2 complexMul(float2 a,float2 B) { return (float2)(mad(-(a).y, (B).y, (a).x * (B).x), mad((a).y, (B).x, (a).x * (B).y));}\n"

#else

					  "#define complexMul(a,B) ((float2)(mad(-(a).y, (B).y, (a).x * (B).x), mad((a).y, (B).x, (a).x * (B).y)))\n"

#endif

nvidia compiler didn’t understand line with #define… (but amd’s one did)