static void diff_bytes_c(uint8_t *dst, uint8_t *src1, uint8_t *src2, int w){

    long i;

#if !HAVE_FAST_UNALIGNED

    if((long)src2 & (sizeof(long)-1)){

        for(i=0; i+7<w; i+=8){

            dst[i+0] = src1[i+0]-src2[i+0];

            dst[i+1] = src1[i+1]-src2[i+1];

            dst[i+2] = src1[i+2]-src2[i+2];

            dst[i+3] = src1[i+3]-src2[i+3];

            dst[i+4] = src1[i+4]-src2[i+4];

            dst[i+5] = src1[i+5]-src2[i+5];

            dst[i+6] = src1[i+6]-src2[i+6];

            dst[i+7] = src1[i+7]-src2[i+7];

        }

    }else

#endif

    for(i=0; i<=w-sizeof(long); i+=sizeof(long)){

        long a = *(long*)(src1+i);

        long b = *(long*)(src2+i);

        *(long*)(dst+i) = ((a|pb_80) - (b&pb_7f)) ^ ((a^b^pb_80)&pb_80);

    }

    for(; i<w; i++)

        dst[i+0] = src1[i+0]-src2[i+0];

}

static void diff_bytes_c(uint8_t *dst, uint8_t *src1, uint8_t *src2, int w){

    long i;

#if !HAVE_FAST_UNALIGNED

    if((long)src2 & (sizeof(long)-1)){

        for(i=0; i+7<w; i+=8){

            dst[i+0] = src1[i+0]-src2[i+0];

            dst[i+1] = src1[i+1]-src2[i+1];

            dst[i+2] = src1[i+2]-src2[i+2];

            dst[i+3] = src1[i+3]-src2[i+3];

            dst[i+4] = src1[i+4]-src2[i+4];

            dst[i+5] = src1[i+5]-src2[i+5];

            dst[i+6] = src1[i+6]-src2[i+6];

            dst[i+7] = src1[i+7]-src2[i+7];

        }

    }else

#endif

    for(i=0; i<=w-sizeof(long); i+=sizeof(long)){

        long a = *(long*)(src1+i);

        long b = *(long*)(src2+i);

        *(long*)(dst+i) = ((a|pb_80) - (b&pb_7f)) ^ ((a^b^pb_80)&pb_80);

    }

    for(; i<w; i++)

        dst[i+0] = src1[i+0]-src2[i+0];

}

    for(i=0; i<=w-sizeof(long); i+=sizeof(long)){     for(i=0; i<=w-sizeof(long); i+=sizeof(long)){
static void FUNC_0(uint8_t *VAR_0, uint8_t *VAR_1, uint8_t *VAR_2, int VAR_3){

    long VAR_4;

#if !HAVE_FAST_UNALIGNED

    if((long)VAR_2 & (sizeof(long)-1)){

        for(VAR_4=0; VAR_4+7<VAR_3; VAR_4+=8){

            VAR_0[VAR_4+0] = VAR_1[VAR_4+0]-VAR_2[VAR_4+0];

            VAR_0[VAR_4+1] = VAR_1[VAR_4+1]-VAR_2[VAR_4+1];

            VAR_0[VAR_4+2] = VAR_1[VAR_4+2]-VAR_2[VAR_4+2];

            VAR_0[VAR_4+3] = VAR_1[VAR_4+3]-VAR_2[VAR_4+3];

            VAR_0[VAR_4+4] = VAR_1[VAR_4+4]-VAR_2[VAR_4+4];

            VAR_0[VAR_4+5] = VAR_1[VAR_4+5]-VAR_2[VAR_4+5];

            VAR_0[VAR_4+6] = VAR_1[VAR_4+6]-VAR_2[VAR_4+6];

            VAR_0[VAR_4+7] = VAR_1[VAR_4+7]-VAR_2[VAR_4+7];

        }

    }else

#endif

    for(VAR_4=0; VAR_4<=VAR_3-sizeof(long); VAR_4+=sizeof(long)){

        long VAR_5 = *(long*)(VAR_1+VAR_4);

        long VAR_6 = *(long*)(VAR_2+VAR_4);

        *(long*)(VAR_0+VAR_4) = ((VAR_5|pb_80) - (VAR_6&pb_7f)) ^ ((VAR_5^VAR_6^pb_80)&pb_80);

    }

    for(; VAR_4<VAR_3; VAR_4++)

        VAR_0[VAR_4+0] = VAR_1[VAR_4+0]-VAR_2[VAR_4+0];

}

static void FUNC_0(uint8_t *VAR_0, uint8_t *VAR_1, uint8_t *VAR_2, int VAR_3){ long VAR_4; #if !HAVE_FAST_UNALIGNED
if((long)VAR_2 & (sizeof(long)-1)){ for(VAR_4=0; VAR_4+7<VAR_3; VAR_4+=8){ VAR_0[VAR_4+0] = VAR_1[VAR_4+0]-VAR_2[VAR_4+0]; VAR_0[VAR_4+1] = VAR_1[VAR_4+1]-VAR_2[VAR_4+1]; VAR_0[VAR_4+2] = VAR_1[VAR_4+2]-VAR_2[VAR_4+2]; VAR_0[VAR_4+3] = VAR_1[VAR_4+3]-VAR_2[VAR_4+3]; VAR_0[VAR_4+4] = VAR_1[VAR_4+4]-VAR_2[VAR_4+4]; VAR_0[VAR_4+5] = VAR_1[VAR_4+5]-VAR_2[VAR_4+5]; VAR_0[VAR_4+6] = VAR_1[VAR_4+6]-VAR_2[VAR_4+6]; VAR_0[VAR_4+7] = VAR_1[VAR_4+7]-VAR_2[VAR_4+7]; } }else #endif
for(VAR_4=0; VAR_4<=VAR_3-sizeof(long); VAR_4+=sizeof(long)){ long VAR_5 = *(long*)(VAR_1+VAR_4); long VAR_6 = *(long*)(VAR_2+VAR_4); *(long*)(VAR_0+VAR_4) = ((VAR_5|pb_80) - (VAR_6&pb_7f)) ^ ((VAR_5^VAR_6^pb_80)&pb_80); } for(; VAR_4<VAR_3; VAR_4++) VAR_0[VAR_4+0] = VAR_1[VAR_4+0]-VAR_2[VAR_4+0]; }