static void hybrid4_8_12_cx(float (*in)[2], float (*out)[32][2], const float (*filter)[7][2], int N, int len)

{

    int i, j, ssb;



    for (i = 0; i < len; i++, in++) {

        for (ssb = 0; ssb < N; ssb++) {

            float sum_re = filter[ssb][6][0] * in[6][0], sum_im = filter[ssb][6][0] * in[6][1];

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

                float in0_re = in[j][0];

                float in0_im = in[j][1];

                float in1_re = in[12-j][0];

                float in1_im = in[12-j][1];

                sum_re += filter[ssb][j][0] * (in0_re + in1_re) - filter[ssb][j][1] * (in0_im - in1_im);

                sum_im += filter[ssb][j][0] * (in0_im + in1_im) + filter[ssb][j][1] * (in0_re - in1_re);

            }

            out[ssb][i][0] = sum_re;

            out[ssb][i][1] = sum_im;

        }

    }

}

static void hybrid4_8_12_cx(float (*in)[2], float (*out)[32][2], const float (*filter)[7][2], int N, int len)

{

    int i, j, ssb;



    for (i = 0; i < len; i++, in++) {

        for (ssb = 0; ssb < N; ssb++) {

            float sum_re = filter[ssb][6][0] * in[6][0], sum_im = filter[ssb][6][0] * in[6][1];

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

                float in0_re = in[j][0];

                float in0_im = in[j][1];

                float in1_re = in[12-j][0];

                float in1_im = in[12-j][1];

                sum_re += filter[ssb][j][0] * (in0_re + in1_re) - filter[ssb][j][1] * (in0_im - in1_im);

                sum_im += filter[ssb][j][0] * (in0_im + in1_im) + filter[ssb][j][1] * (in0_re - in1_re);

            }

            out[ssb][i][0] = sum_re;

            out[ssb][i][1] = sum_im;

        }

    }

}

static void FUNC_0(float (*VAR_0)[2], float (*VAR_1)[32][2], const float (*VAR_2)[7][2], int VAR_3, int VAR_4)

{

    int VAR_5, VAR_6, VAR_7;



    for (VAR_5 = 0; VAR_5 < VAR_4; VAR_5++, VAR_0++) {

        for (VAR_7 = 0; VAR_7 < VAR_3; VAR_7++) {

            float VAR_8 = VAR_2[VAR_7][6][0] * VAR_0[6][0], VAR_9 = VAR_2[VAR_7][6][0] * VAR_0[6][1];

            for (VAR_6 = 0; VAR_6 < 6; VAR_6++) {

                float VAR_10 = VAR_0[VAR_6][0];

                float VAR_11 = VAR_0[VAR_6][1];

                float VAR_12 = VAR_0[12-VAR_6][0];

                float VAR_13 = VAR_0[12-VAR_6][1];

                VAR_8 += VAR_2[VAR_7][VAR_6][0] * (VAR_10 + VAR_12) - VAR_2[VAR_7][VAR_6][1] * (VAR_11 - VAR_13);

                VAR_9 += VAR_2[VAR_7][VAR_6][0] * (VAR_11 + VAR_13) + VAR_2[VAR_7][VAR_6][1] * (VAR_10 - VAR_12);

            }

            VAR_1[VAR_7][VAR_5][0] = VAR_8;

            VAR_1[VAR_7][VAR_5][1] = VAR_9;

        }

    }

}

static void FUNC_0(float (*VAR_0)[2], float (*VAR_1)[32][2], const float (*VAR_2)[7][2], int VAR_3, int VAR_4)
{ int VAR_5, VAR_6, VAR_7; for (VAR_5 = 0; VAR_5 < VAR_4; VAR_5++, VAR_0++) { for (VAR_7 = 0; VAR_7 < VAR_3; VAR_7++) { float VAR_8 = VAR_2[VAR_7][6][0] * VAR_0[6][0], VAR_9 = VAR_2[VAR_7][6][0] * VAR_0[6][1]; for (VAR_6 = 0; VAR_6 < 6; VAR_6++) { float VAR_10 = VAR_0[VAR_6][0]; float VAR_11 = VAR_0[VAR_6][1]; float VAR_12 = VAR_0[12-VAR_6][0]; float VAR_13 = VAR_0[12-VAR_6][1]; VAR_8 += VAR_2[VAR_7][VAR_6][0] * (VAR_10 + VAR_12) - VAR_2[VAR_7][VAR_6][1] * (VAR_11 - VAR_13); VAR_9 += VAR_2[VAR_7][VAR_6][0] * (VAR_11 + VAR_13) + VAR_2[VAR_7][VAR_6][1] * (VAR_10 - VAR_12); } VAR_1[VAR_7][VAR_5][0] = VAR_8; VAR_1[VAR_7][VAR_5][1] = VAR_9; } } }