Кажется, проблема в этом
bool is_empty_fftw_complex_16(fftw_complex_16 *thecomplex){
который из вашего описания должен быть действительно
bool is_empty_fftw_complex_16(fftw_complex *thecomplex){
но трудно быть полностью уверенным, потому что вы не опубликовали код, который устанавливает этот массив и вызывает эту функцию, что, к сожалению, крайне важно упустить.
Примерно так будет правильным способом вызова функции
fftw_complex_16 array;
...
is_empty_fftw_complex_16(array);
Я предполагаю, что вы объединили неверное объявление выше с этим неправильным вызовом.
fftw_complex_16 array;
...
is_empty_fftw_complex_16(&array);
Это компилируется, но не делает то, что вы хотели.