size_t lzcnt(unsigned short XD)
{
    size_t c = 0;
    for
    (;
         c < USHRT_WIDTH && !(x & (1 << (USHRT_WIDTH - 1)));
         XD <<= 1, c++
    );
    return c;
}