static void spatial_decompose97i(DWTELEM *buffer, int width, int height, int stride){

    int y;

    DWTELEM *b0= buffer + mirror(-4-1, height-1)*stride;

    DWTELEM *b1= buffer + mirror(-4  , height-1)*stride;

    DWTELEM *b2= buffer + mirror(-4+1, height-1)*stride;

    DWTELEM *b3= buffer + mirror(-4+2, height-1)*stride;



    for(y=-4; y<height; y+=2){

        DWTELEM *b4= buffer + mirror(y+3, height-1)*stride;

        DWTELEM *b5= buffer + mirror(y+4, height-1)*stride;



{START_TIMER

        if(b3 <= b5)     horizontal_decompose97i(b4, width);

        if(y+4 < height) horizontal_decompose97i(b5, width);

if(width>400){

STOP_TIMER("horizontal_decompose97i")

}}



{START_TIMER

        if(b3 <= b5) vertical_decompose97iH0(b3, b4, b5, width);

        if(b2 <= b4) vertical_decompose97iL0(b2, b3, b4, width);

        if(b1 <= b3) vertical_decompose97iH1(b1, b2, b3, width);

        if(b0 <= b2) vertical_decompose97iL1(b0, b1, b2, width);



if(width>400){

STOP_TIMER("vertical_decompose97i")

}}



        b0=b2;

        b1=b3;

        b2=b4;

        b3=b5;

    }

}

static void spatial_decompose97i(DWTELEM *buffer, int width, int height, int stride){

    int y;

    DWTELEM *b0= buffer + mirror(-4-1, height-1)*stride;

    DWTELEM *b1= buffer + mirror(-4  , height-1)*stride;

    DWTELEM *b2= buffer + mirror(-4+1, height-1)*stride;

    DWTELEM *b3= buffer + mirror(-4+2, height-1)*stride;



    for(y=-4; y<height; y+=2){

        DWTELEM *b4= buffer + mirror(y+3, height-1)*stride;

        DWTELEM *b5= buffer + mirror(y+4, height-1)*stride;



{START_TIMER

        if(b3 <= b5)     horizontal_decompose97i(b4, width);

        if(y+4 < height) horizontal_decompose97i(b5, width);

if(width>400){

STOP_TIMER("horizontal_decompose97i")

}}



{START_TIMER

        if(b3 <= b5) vertical_decompose97iH0(b3, b4, b5, width);

        if(b2 <= b4) vertical_decompose97iL0(b2, b3, b4, width);

        if(b1 <= b3) vertical_decompose97iH1(b1, b2, b3, width);

        if(b0 <= b2) vertical_decompose97iL1(b0, b1, b2, width);



if(width>400){

STOP_TIMER("vertical_decompose97i")

}}



        b0=b2;

        b1=b3;

        b2=b4;

        b3=b5;

    }

}

        if(b3 <= b5)     horizontal_decompose97i(b4, width);         if(y+4 < height) horizontal_decompose97i(b5, width);         if(b3 <= b5) vertical_decompose97iH0(b3, b4, b5, width);         if(b2 <= b4) vertical_decompose97iL0(b2, b3, b4, width);         if(b1 <= b3) vertical_decompose97iH1(b1, b2, b3, width);         if(b0 <= b2) vertical_decompose97iL1(b0, b1, b2, width);
static void FUNC_0(DWTELEM *VAR_0, int VAR_1, int VAR_2, int VAR_3){

    int VAR_4;

    DWTELEM *b0= VAR_0 + mirror(-4-1, VAR_2-1)*VAR_3;

    DWTELEM *b1= VAR_0 + mirror(-4  , VAR_2-1)*VAR_3;

    DWTELEM *b2= VAR_0 + mirror(-4+1, VAR_2-1)*VAR_3;

    DWTELEM *b3= VAR_0 + mirror(-4+2, VAR_2-1)*VAR_3;



    for(VAR_4=-4; VAR_4<VAR_2; VAR_4+=2){

        DWTELEM *b4= VAR_0 + mirror(VAR_4+3, VAR_2-1)*VAR_3;

        DWTELEM *b5= VAR_0 + mirror(VAR_4+4, VAR_2-1)*VAR_3;



{START_TIMER

        if(b3 <= b5)     horizontal_decompose97i(b4, VAR_1);

        if(VAR_4+4 < VAR_2) horizontal_decompose97i(b5, VAR_1);

if(VAR_1>400){

STOP_TIMER("horizontal_decompose97i")

}}



{START_TIMER

        if(b3 <= b5) vertical_decompose97iH0(b3, b4, b5, VAR_1);

        if(b2 <= b4) vertical_decompose97iL0(b2, b3, b4, VAR_1);

        if(b1 <= b3) vertical_decompose97iH1(b1, b2, b3, VAR_1);

        if(b0 <= b2) vertical_decompose97iL1(b0, b1, b2, VAR_1);



if(VAR_1>400){

STOP_TIMER("vertical_decompose97i")

}}



        b0=b2;

        b1=b3;

        b2=b4;

        b3=b5;

    }

}

static void FUNC_0(DWTELEM *VAR_0, int VAR_1, int VAR_2, int VAR_3){ int VAR_4; DWTELEM *b0= VAR_0 + mirror(-4-1, VAR_2-1)*VAR_3; DWTELEM *b1= VAR_0 + mirror(-4  , VAR_2-1)*VAR_3; DWTELEM *b2= VAR_0 + mirror(-4+1, VAR_2-1)*VAR_3; DWTELEM *b3= VAR_0 + mirror(-4+2, VAR_2-1)*VAR_3; for(VAR_4=-4; VAR_4<VAR_2; VAR_4+=2){ DWTELEM *b4= VAR_0 + mirror(VAR_4+3, VAR_2-1)*VAR_3; DWTELEM *b5= VAR_0 + mirror(VAR_4+4, VAR_2-1)*VAR_3; {START_TIMER if(b3 <= b5)     horizontal_decompose97i(b4, VAR_1); if(VAR_4+4 < VAR_2) horizontal_decompose97i(b5, VAR_1); if(VAR_1>400){ STOP_TIMER("horizontal_decompose97i")
}} {START_TIMER if(b3 <= b5) vertical_decompose97iH0(b3, b4, b5, VAR_1); if(b2 <= b4) vertical_decompose97iL0(b2, b3, b4, VAR_1); if(b1 <= b3) vertical_decompose97iH1(b1, b2, b3, VAR_1); if(b0 <= b2) vertical_decompose97iL1(b0, b1, b2, VAR_1); if(VAR_1>400){ STOP_TIMER("vertical_decompose97i")
}} b0=b2; b1=b3; b2=b4; b3=b5; } }