void ff_atrac_iqmf(float *inlo, float *inhi, unsigned int nIn, float *pOut, float *delayBuf, float *temp)

{

    int   i, j;

    float   *p1, *p3;



    memcpy(temp, delayBuf, 46*sizeof(float));



    p3 = temp + 46;



    /* loop1 */

    for(i=0; i<nIn; i+=2){

        p3[2*i+0] = inlo[i  ] + inhi[i  ];

        p3[2*i+1] = inlo[i  ] - inhi[i  ];

        p3[2*i+2] = inlo[i+1] + inhi[i+1];

        p3[2*i+3] = inlo[i+1] - inhi[i+1];

    }



    /* loop2 */

    p1 = temp;

    for (j = nIn; j != 0; j--) {

        float s1 = 0.0;

        float s2 = 0.0;



        for (i = 0; i < 48; i += 2) {

            s1 += p1[i] * qmf_window[i];

            s2 += p1[i+1] * qmf_window[i+1];

        }



        pOut[0] = s2;

        pOut[1] = s1;



        p1 += 2;

        pOut += 2;

    }



    /* Update the delay buffer. */

    memcpy(delayBuf, temp + nIn*2, 46*sizeof(float));

}

void ff_atrac_iqmf(float *inlo, float *inhi, unsigned int nIn, float *pOut, float *delayBuf, float *temp)

{

    int   i, j;

    float   *p1, *p3;



    memcpy(temp, delayBuf, 46*sizeof(float));



    p3 = temp + 46;



    

    for(i=0; i<nIn; i+=2){

        p3[2*i+0] = inlo[i  ] + inhi[i  ];

        p3[2*i+1] = inlo[i  ] - inhi[i  ];

        p3[2*i+2] = inlo[i+1] + inhi[i+1];

        p3[2*i+3] = inlo[i+1] - inhi[i+1];

    }



    

    p1 = temp;

    for (j = nIn; j != 0; j--) {

        float s1 = 0.0;

        float s2 = 0.0;



        for (i = 0; i < 48; i += 2) {

            s1 += p1[i] * qmf_window[i];

            s2 += p1[i+1] * qmf_window[i+1];

        }



        pOut[0] = s2;

        pOut[1] = s1;



        p1 += 2;

        pOut += 2;

    }



    

    memcpy(delayBuf, temp + nIn*2, 46*sizeof(float));

}

void FUNC_0(float *VAR_0, float *VAR_1, unsigned int VAR_2, float *VAR_3, float *VAR_4, float *VAR_5)

{

    int   VAR_6, VAR_7;

    float   *VAR_8, *VAR_9;



    memcpy(VAR_5, VAR_4, 46*sizeof(float));



    VAR_9 = VAR_5 + 46;



    

    for(VAR_6=0; VAR_6<VAR_2; VAR_6+=2){

        VAR_9[2*VAR_6+0] = VAR_0[VAR_6  ] + VAR_1[VAR_6  ];

        VAR_9[2*VAR_6+1] = VAR_0[VAR_6  ] - VAR_1[VAR_6  ];

        VAR_9[2*VAR_6+2] = VAR_0[VAR_6+1] + VAR_1[VAR_6+1];

        VAR_9[2*VAR_6+3] = VAR_0[VAR_6+1] - VAR_1[VAR_6+1];

    }



    

    VAR_8 = VAR_5;

    for (VAR_7 = VAR_2; VAR_7 != 0; VAR_7--) {

        float VAR_10 = 0.0;

        float VAR_11 = 0.0;



        for (VAR_6 = 0; VAR_6 < 48; VAR_6 += 2) {

            VAR_10 += VAR_8[VAR_6] * qmf_window[VAR_6];

            VAR_11 += VAR_8[VAR_6+1] * qmf_window[VAR_6+1];

        }



        VAR_3[0] = VAR_11;

        VAR_3[1] = VAR_10;



        VAR_8 += 2;

        VAR_3 += 2;

    }



    

    memcpy(VAR_4, VAR_5 + VAR_2*2, 46*sizeof(float));

}

void FUNC_0(float *VAR_0, float *VAR_1, unsigned int VAR_2, float *VAR_3, float *VAR_4, float *VAR_5)
{ int   VAR_6, VAR_7; float   *VAR_8, *VAR_9; memcpy(VAR_5, VAR_4, 46*sizeof(float)); VAR_9 = VAR_5 + 46; for(VAR_6=0; VAR_6<VAR_2; VAR_6+=2){ VAR_9[2*VAR_6+0] = VAR_0[VAR_6  ] + VAR_1[VAR_6  ]; VAR_9[2*VAR_6+1] = VAR_0[VAR_6  ] - VAR_1[VAR_6  ]; VAR_9[2*VAR_6+2] = VAR_0[VAR_6+1] + VAR_1[VAR_6+1]; VAR_9[2*VAR_6+3] = VAR_0[VAR_6+1] - VAR_1[VAR_6+1]; } VAR_8 = VAR_5; for (VAR_7 = VAR_2; VAR_7 != 0; VAR_7--) { float VAR_10 = 0.0; float VAR_11 = 0.0; for (VAR_6 = 0; VAR_6 < 48; VAR_6 += 2) { VAR_10 += VAR_8[VAR_6] * qmf_window[VAR_6]; VAR_11 += VAR_8[VAR_6+1] * qmf_window[VAR_6+1]; } VAR_3[0] = VAR_11; VAR_3[1] = VAR_10; VAR_8 += 2; VAR_3 += 2; } memcpy(VAR_4, VAR_5 + VAR_2*2, 46*sizeof(float)); }