static void decode_lpc(int32_t *coeffs, int mode, int length)

{

    int i;



    if (length < 2)

        return;



    if (mode == 1) {

        unsigned a1 = *coeffs++;

        for (i = 0; i < length - 1 >> 1; i++) {

            *coeffs   += a1;

            coeffs[1] += *coeffs;

            a1         = coeffs[1];

            coeffs    += 2;

        }

        if (length - 1 & 1)

            *coeffs += a1;

    } else if (mode == 2) {

        unsigned a1    = coeffs[1];

        unsigned a2    = a1 + *coeffs;

        coeffs[1] = a2;

        if (length > 2) {

            coeffs += 2;

            for (i = 0; i < length - 2 >> 1; i++) {

                unsigned a3    = *coeffs + a1;

                unsigned a4    = a3 + a2;

                *coeffs   = a4;

                a1        = coeffs[1] + a3;

                a2        = a1 + a4;

                coeffs[1] = a2;

                coeffs   += 2;

            }

            if (length & 1)

                *coeffs += a1 + a2;

        }

    } else if (mode == 3) {

        unsigned a1    = coeffs[1];

        unsigned a2    = a1 + *coeffs;

        coeffs[1] = a2;

        if (length > 2) {

            unsigned a3  = coeffs[2];

            unsigned a4  = a3 + a1;

            unsigned a5  = a4 + a2;

            coeffs[2] = a5;

            coeffs += 3;

            for (i = 0; i < length - 3; i++) {

                a3     += *coeffs;

                a4     += a3;

                a5     += a4;

                *coeffs = a5;

                coeffs++;

            }

        }

    }

}

static void decode_lpc(int32_t *coeffs, int mode, int length)

{

    int i;



    if (length < 2)

        return;



    if (mode == 1) {

        unsigned a1 = *coeffs++;

        for (i = 0; i < length - 1 >> 1; i++) {

            *coeffs   += a1;

            coeffs[1] += *coeffs;

            a1         = coeffs[1];

            coeffs    += 2;

        }

        if (length - 1 & 1)

            *coeffs += a1;

    } else if (mode == 2) {

        unsigned a1    = coeffs[1];

        unsigned a2    = a1 + *coeffs;

        coeffs[1] = a2;

        if (length > 2) {

            coeffs += 2;

            for (i = 0; i < length - 2 >> 1; i++) {

                unsigned a3    = *coeffs + a1;

                unsigned a4    = a3 + a2;

                *coeffs   = a4;

                a1        = coeffs[1] + a3;

                a2        = a1 + a4;

                coeffs[1] = a2;

                coeffs   += 2;

            }

            if (length & 1)

                *coeffs += a1 + a2;

        }

    } else if (mode == 3) {

        unsigned a1    = coeffs[1];

        unsigned a2    = a1 + *coeffs;

        coeffs[1] = a2;

        if (length > 2) {

            unsigned a3  = coeffs[2];

            unsigned a4  = a3 + a1;

            unsigned a5  = a4 + a2;

            coeffs[2] = a5;

            coeffs += 3;

            for (i = 0; i < length - 3; i++) {

                a3     += *coeffs;

                a4     += a3;

                a5     += a4;

                *coeffs = a5;

                coeffs++;

            }

        }

    }

}

            coeffs[1] += *coeffs;
static void FUNC_0(int32_t *VAR_0, int VAR_1, int VAR_2)

{

    int VAR_3;



    if (VAR_2 < 2)

        return;



    if (VAR_1 == 1) {

        unsigned VAR_8 = *VAR_0++;

        for (VAR_3 = 0; VAR_3 < VAR_2 - 1 >> 1; VAR_3++) {

            *VAR_0   += VAR_8;

            VAR_0[1] += *VAR_0;

            VAR_8         = VAR_0[1];

            VAR_0    += 2;

        }

        if (VAR_2 - 1 & 1)

            *VAR_0 += VAR_8;

    } else if (VAR_1 == 2) {

        unsigned VAR_8    = VAR_0[1];

        unsigned VAR_8    = VAR_8 + *VAR_0;

        VAR_0[1] = VAR_8;

        if (VAR_2 > 2) {

            VAR_0 += 2;

            for (VAR_3 = 0; VAR_3 < VAR_2 - 2 >> 1; VAR_3++) {

                unsigned VAR_8    = *VAR_0 + VAR_8;

                unsigned VAR_8    = VAR_8 + VAR_8;

                *VAR_0   = VAR_8;

                VAR_8        = VAR_0[1] + VAR_8;

                VAR_8        = VAR_8 + VAR_8;

                VAR_0[1] = VAR_8;

                VAR_0   += 2;

            }

            if (VAR_2 & 1)

                *VAR_0 += VAR_8 + VAR_8;

        }

    } else if (VAR_1 == 3) {

        unsigned VAR_8    = VAR_0[1];

        unsigned VAR_8    = VAR_8 + *VAR_0;

        VAR_0[1] = VAR_8;

        if (VAR_2 > 2) {

            unsigned VAR_8  = VAR_0[2];

            unsigned VAR_8  = VAR_8 + VAR_8;

            unsigned VAR_8  = VAR_8 + VAR_8;

            VAR_0[2] = VAR_8;

            VAR_0 += 3;

            for (VAR_3 = 0; VAR_3 < VAR_2 - 3; VAR_3++) {

                VAR_8     += *VAR_0;

                VAR_8     += VAR_8;

                VAR_8     += VAR_8;

                *VAR_0 = VAR_8;

                VAR_0++;

            }

        }

    }

}

static void FUNC_0(int32_t *VAR_0, int VAR_1, int VAR_2)
{ int VAR_3; if (VAR_2 < 2)
return; if (VAR_1 == 1) { unsigned VAR_8 = *VAR_0++; for (VAR_3 = 0; VAR_3 < VAR_2 - 1 >> 1; VAR_3++) { *VAR_0   += VAR_8; VAR_0[1] += *VAR_0; VAR_8         = VAR_0[1]; VAR_0    += 2; } if (VAR_2 - 1 & 1)
*VAR_0 += VAR_8; } else if (VAR_1 == 2) { unsigned VAR_8    = VAR_0[1]; unsigned VAR_8    = VAR_8 + *VAR_0; VAR_0[1] = VAR_8; if (VAR_2 > 2) { VAR_0 += 2; for (VAR_3 = 0; VAR_3 < VAR_2 - 2 >> 1; VAR_3++) { unsigned VAR_8    = *VAR_0 + VAR_8; unsigned VAR_8    = VAR_8 + VAR_8; *VAR_0   = VAR_8; VAR_8        = VAR_0[1] + VAR_8; VAR_8        = VAR_8 + VAR_8; VAR_0[1] = VAR_8; VAR_0   += 2; } if (VAR_2 & 1)
*VAR_0 += VAR_8 + VAR_8; } } else if (VAR_1 == 3) { unsigned VAR_8    = VAR_0[1]; unsigned VAR_8    = VAR_8 + *VAR_0; VAR_0[1] = VAR_8; if (VAR_2 > 2) { unsigned VAR_8  = VAR_0[2]; unsigned VAR_8  = VAR_8 + VAR_8; unsigned VAR_8  = VAR_8 + VAR_8; VAR_0[2] = VAR_8; VAR_0 += 3; for (VAR_3 = 0; VAR_3 < VAR_2 - 3; VAR_3++) { VAR_8     += *VAR_0; VAR_8     += VAR_8; VAR_8     += VAR_8; *VAR_0 = VAR_8; VAR_0++; } } } }