I'm trying to use FFT from the ANSI C (C89) compatible FFT library FFTPack. So far, I can transform time domin data into frequecy domain data
/* Fast Fourier Transform 
 * x[n] - Will contains the FFT values. The first value will have no imaginary part
 */
void fft(float x[], size_t n) {
    /* Init */
    float* wsave = (float*)malloc((2 * n + 15) * sizeof(float));
    int* ifac = (int*)malloc((n + 15) * sizeof(float));
    __ogg_fdrffti(n, wsave, ifac);
    /* Forward transform */
    __ogg_fdrfftf(n, x, wsave, ifac);
    /* Free */
    free(wsave);
    free(ifac);
}
The output float x[]
0.5010999       0.4075914       0.4787459       -0.5674312      -3.2158968      -2.5260105      2.5675464       -2.4416344      -1.6614010      1.3101853       3.0937805
Compare with the output from Octave/MATLAB
>> x
x =
  -0.6485   0.2851   1.3475  -0.6743  -0.1499  -1.5549   1.4951   0.4504  -0.4982   0.3488   0.1000
>> fft(x)
ans =
 Columns 1 through 5:
   0.5011 +      0i   0.4076 + 0.4787i  -0.5674 - 3.2159i  -2.5260 + 2.5675i  -2.4416 - 1.6614i
 Columns 6 through 10:
   1.3102 + 3.0938i   1.3102 - 3.0938i  -2.4416 + 1.6614i  -2.5260 - 2.5675i  -0.5674 + 3.2159i
 Column 11:
   0.4076 - 0.4787i
>>
Now I'm trying backward FFT, so called Inverse FFT.
/* Fast Fourier Transform
 * x[n] - Will contains the inverse FFT values. The first value will have no imaginary part
 */
void ifft(float x[], size_t n) {
    /* Init */
    float* wsave = (float*)malloc((2 * n + 15) * sizeof(float));
    int* ifac = (int*)malloc((n + 15) * sizeof(float));
    __ogg_fdrffti(n, wsave, ifac);
    /* Backward transform */
    __ogg_fdrfftb(n, x, wsave, ifac);
    /* Free */
    free(wsave);
    free(ifac);
}
The output float x[]
-2.9383001      -4.9931164      1.6534307       -0.0710702      -7.5080967      -4.3042197      4.2668128       -0.5331497      -0.7820582      6.1745853       1.9016848
Compare with the output from Octave/MATLAB
>> x
x =
  -0.6485   0.2851   1.3475  -0.6743  -0.1499  -1.5549   1.4951   0.4504  -0.4982   0.3488   0.1000
>> ifft(x)
ans =
 Columns 1 through 5:
   0.0456 +      0i   0.0371 - 0.0435i  -0.0516 + 0.2924i  -0.2296 - 0.2334i  -0.2220 + 0.1510i
 Columns 6 through 10:
   0.1191 - 0.2813i   0.1191 + 0.2813i  -0.2220 - 0.1510i  -0.2296 + 0.2334i  -0.0516 - 0.2924i
 Column 11:
   0.0371 + 0.0435i
>>
So the regular FFT function __ogg_fdrfftf is working. But the inverse function __ogg_fdrfftb is not working as it should be.
Question:
Does anyone know how to use __ogg_fdrfftb inside FFTPack library?