inline size_t BSF(int value) // 18 clock

{

    static const int BSF_TABLE[] = { -1, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, };

    if(BSF_TABLE[value       & 0xF] > -1) return BSF_TABLE[value       & 0xF];

    if(BSF_TABLE[value >>  4 & 0xF] > -1) return BSF_TABLE[value >>  4 & 0xF] +  4;

    if(BSF_TABLE[value >>  8 & 0xF] > -1) return BSF_TABLE[value >>  8 & 0xF] +  8;

    if(BSF_TABLE[value >> 12 & 0xF] > -1) return BSF_TABLE[value >> 12 & 0xF] + 12;

    if(BSF_TABLE[value >> 16 & 0xF] > -1) return BSF_TABLE[value >> 16 & 0xF] + 16;

    if(BSF_TABLE[value >> 20 & 0xF] > -1) return BSF_TABLE[value >> 20 & 0xF] + 20;

    if(BSF_TABLE[value >> 24 & 0xF] > -1) return BSF_TABLE[value >> 24 & 0xF] + 24;

    if(BSF_TABLE[value >> 28 & 0xF] > -1) return BSF_TABLE[value >> 28 & 0xF] + 28;

    return -1;

}



측정 시간 포함 18클럭인데, 측정하는데 그정도 걸리니 거의 안먹는다고 보면 된다.