static inline int get_symbol(RangeCoder *c, uint8_t *state, int is_signed){

    if(get_rac(c, state+0))

        return 0;

    else{

        int i, e, a;

        e= 0;

        while(get_rac(c, state+1 + e)){ //1..10

            e++;

        }

        assert(e<=9);



        a= 1;

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

            a += a + get_rac(c, state+22 + i); //22..31

        }



        if(is_signed && get_rac(c, state+11 + e)) //11..21

            return -a;

        else

            return a;

    }

}

static inline int get_symbol(RangeCoder *c, uint8_t *state, int is_signed){

    if(get_rac(c, state+0))

        return 0;

    else{

        int i, e, a;

        e= 0;

        while(get_rac(c, state+1 + e)){ 

            e++;

        }

        assert(e<=9);



        a= 1;

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

            a += a + get_rac(c, state+22 + i); 

        }



        if(is_signed && get_rac(c, state+11 + e)) 

            return -a;

        else

            return a;

    }

}

        assert(e<=9);
static inline int FUNC_0(RangeCoder *VAR_0, uint8_t *VAR_1, int VAR_2){

    if(get_rac(VAR_0, VAR_1+0))

        return 0;

    else{

        int VAR_3, VAR_4, VAR_5;

        VAR_4= 0;

        while(get_rac(VAR_0, VAR_1+1 + VAR_4)){ 

            VAR_4++;

        }

        assert(VAR_4<=9);



        VAR_5= 1;

        for(VAR_3=VAR_4-1; VAR_3>=0; VAR_3--){

            VAR_5 += VAR_5 + get_rac(VAR_0, VAR_1+22 + VAR_3); 

        }



        if(VAR_2 && get_rac(VAR_0, VAR_1+11 + VAR_4)) 

            return -VAR_5;

        else

            return VAR_5;

    }

}

static inline int FUNC_0(RangeCoder *VAR_0, uint8_t *VAR_1, int VAR_2){ if(get_rac(VAR_0, VAR_1+0))
return 0; else{ int VAR_3, VAR_4, VAR_5; VAR_4= 0; while(get_rac(VAR_0, VAR_1+1 + VAR_4)){ VAR_4++; } assert(VAR_4<=9); VAR_5= 1; for(VAR_3=VAR_4-1; VAR_3>=0; VAR_3--){ VAR_5 += VAR_5 + get_rac(VAR_0, VAR_1+22 + VAR_3); } if(VAR_2 && get_rac(VAR_0, VAR_1+11 + VAR_4))
return -VAR_5; else
return VAR_5; } }