static inline int init_pfa_reindex_tabs(MDCT15Context *s)

{

    int i, j;

    const int b_ptwo = s->ptwo_fft.nbits; /* Bits for the power of two FFTs */

    const int l_ptwo = 1 << b_ptwo; /* Total length for the power of two FFTs */

    const int inv_1 = l_ptwo << ((4 - b_ptwo) & 3); /* (2^b_ptwo)^-1 mod 15 */

    const int inv_2 = 0xeeeeeeef & ((1U << b_ptwo) - 1); /* 15^-1 mod 2^b_ptwo */



    s->pfa_prereindex = av_malloc(15 * l_ptwo * sizeof(*s->pfa_prereindex));

    if (!s->pfa_prereindex)

        return 1;



    s->pfa_postreindex = av_malloc(15 * l_ptwo * sizeof(*s->pfa_postreindex));

    if (!s->pfa_postreindex)

        return 1;



    /* Pre/Post-reindex */

    for (i = 0; i < l_ptwo; i++) {

        for (j = 0; j < 15; j++) {

            const int q_pre = ((l_ptwo * j)/15 + i) >> b_ptwo;

            const int q_post = (((j*inv_1)/15) + (i*inv_2)) >> b_ptwo;

            const int k_pre = 15*i + ((j - q_pre*15) << b_ptwo);

            const int k_post = i*inv_2*15 + j*inv_1 - 15*q_post*l_ptwo;

            s->pfa_prereindex[i*15 + j] = k_pre;

            s->pfa_postreindex[k_post] = l_ptwo*j + i;

        }

    }



    return 0;

}

static inline int init_pfa_reindex_tabs(MDCT15Context *s)

{

    int i, j;

    const int b_ptwo = s->ptwo_fft.nbits; 

    const int l_ptwo = 1 << b_ptwo; 

    const int inv_1 = l_ptwo << ((4 - b_ptwo) & 3); 

    const int inv_2 = 0xeeeeeeef & ((1U << b_ptwo) - 1); 



    s->pfa_prereindex = av_malloc(15 * l_ptwo * sizeof(*s->pfa_prereindex));

    if (!s->pfa_prereindex)

        return 1;



    s->pfa_postreindex = av_malloc(15 * l_ptwo * sizeof(*s->pfa_postreindex));

    if (!s->pfa_postreindex)

        return 1;



    

    for (i = 0; i < l_ptwo; i++) {

        for (j = 0; j < 15; j++) {

            const int q_pre = ((l_ptwo * j)/15 + i) >> b_ptwo;

            const int q_post = (((j*inv_1)/15) + (i*inv_2)) >> b_ptwo;

            const int k_pre = 15*i + ((j - q_pre*15) << b_ptwo);

            const int k_post = i*inv_2*15 + j*inv_1 - 15*q_post*l_ptwo;

            s->pfa_prereindex[i*15 + j] = k_pre;

            s->pfa_postreindex[k_post] = l_ptwo*j + i;

        }

    }



    return 0;

}

static inline int FUNC_0(MDCT15Context *VAR_0)

{

    int VAR_1, VAR_2;

    const int VAR_3 = VAR_0->ptwo_fft.nbits; 

    const int VAR_4 = 1 << VAR_3; 

    const int VAR_5 = VAR_4 << ((4 - VAR_3) & 3); 

    const int VAR_6 = 0xeeeeeeef & ((1U << VAR_3) - 1); 



    VAR_0->pfa_prereindex = av_malloc(15 * VAR_4 * sizeof(*VAR_0->pfa_prereindex));

    if (!VAR_0->pfa_prereindex)

        return 1;



    VAR_0->pfa_postreindex = av_malloc(15 * VAR_4 * sizeof(*VAR_0->pfa_postreindex));

    if (!VAR_0->pfa_postreindex)

        return 1;



    

    for (VAR_1 = 0; VAR_1 < VAR_4; VAR_1++) {

        for (VAR_2 = 0; VAR_2 < 15; VAR_2++) {

            const int VAR_7 = ((VAR_4 * VAR_2)/15 + VAR_1) >> VAR_3;

            const int VAR_8 = (((VAR_2*VAR_5)/15) + (VAR_1*VAR_6)) >> VAR_3;

            const int VAR_9 = 15*VAR_1 + ((VAR_2 - VAR_7*15) << VAR_3);

            const int VAR_10 = VAR_1*VAR_6*15 + VAR_2*VAR_5 - 15*VAR_8*VAR_4;

            VAR_0->pfa_prereindex[VAR_1*15 + VAR_2] = VAR_9;

            VAR_0->pfa_postreindex[VAR_10] = VAR_4*VAR_2 + VAR_1;

        }

    }



    return 0;

}

static inline int FUNC_0(MDCT15Context *VAR_0)
{ int VAR_1, VAR_2; const int VAR_3 = VAR_0->ptwo_fft.nbits; const int VAR_4 = 1 << VAR_3; const int VAR_5 = VAR_4 << ((4 - VAR_3) & 3); const int VAR_6 = 0xeeeeeeef & ((1U << VAR_3) - 1); VAR_0->pfa_prereindex = av_malloc(15 * VAR_4 * sizeof(*VAR_0->pfa_prereindex)); if (!VAR_0->pfa_prereindex)
return 1; VAR_0->pfa_postreindex = av_malloc(15 * VAR_4 * sizeof(*VAR_0->pfa_postreindex)); if (!VAR_0->pfa_postreindex)
return 1; for (VAR_1 = 0; VAR_1 < VAR_4; VAR_1++) { for (VAR_2 = 0; VAR_2 < 15; VAR_2++) { const int VAR_7 = ((VAR_4 * VAR_2)/15 + VAR_1) >> VAR_3; const int VAR_8 = (((VAR_2*VAR_5)/15) + (VAR_1*VAR_6)) >> VAR_3; const int VAR_9 = 15*VAR_1 + ((VAR_2 - VAR_7*15) << VAR_3); const int VAR_10 = VAR_1*VAR_6*15 + VAR_2*VAR_5 - 15*VAR_8*VAR_4; VAR_0->pfa_prereindex[VAR_1*15 + VAR_2] = VAR_9; VAR_0->pfa_postreindex[VAR_10] = VAR_4*VAR_2 + VAR_1; } } return 0; }