static inline uint32_t celt_icwrsi(uint32_t N, const int *y)

{

    int i, idx = 0, sum = 0;

    for (i = N - 1; i >= 0; i--) {

        const uint32_t i_s = CELT_PVQ_U(N - i, sum + FFABS(y[i]) + 1);

        idx += CELT_PVQ_U(N - i, sum) + (y[i] < 0)*i_s;

        sum += FFABS(y[i]);

    }

    return idx;

}

static inline uint32_t celt_icwrsi(uint32_t N, const int *y)

{

    int i, idx = 0, sum = 0;

    for (i = N - 1; i >= 0; i--) {

        const uint32_t i_s = CELT_PVQ_U(N - i, sum + FFABS(y[i]) + 1);

        idx += CELT_PVQ_U(N - i, sum) + (y[i] < 0)*i_s;

        sum += FFABS(y[i]);

    }

    return idx;

}

static inline uint32_t FUNC_0(uint32_t N, const int *y)

{

    int VAR_0, VAR_1 = 0, VAR_2 = 0;

    for (VAR_0 = N - 1; VAR_0 >= 0; VAR_0--) {

        const uint32_t VAR_3 = CELT_PVQ_U(N - VAR_0, VAR_2 + FFABS(y[VAR_0]) + 1);

        VAR_1 += CELT_PVQ_U(N - VAR_0, VAR_2) + (y[VAR_0] < 0)*VAR_3;

        VAR_2 += FFABS(y[VAR_0]);

    }

    return VAR_1;

}

static inline uint32_t FUNC_0(uint32_t N, const int *y)
{ int VAR_0, VAR_1 = 0, VAR_2 = 0; for (VAR_0 = N - 1; VAR_0 >= 0; VAR_0--) { const uint32_t VAR_3 = CELT_PVQ_U(N - VAR_0, VAR_2 + FFABS(y[VAR_0]) + 1); VAR_1 += CELT_PVQ_U(N - VAR_0, VAR_2) + (y[VAR_0] < 0)*VAR_3; VAR_2 += FFABS(y[VAR_0]); } return VAR_1; }