private static int BitScanForward(ulong value) { if (value == 0) return -1; const ulong debruijn64 = 0x03f79d71b4cb0a89; return index64[((value ^ (value - 1)) * debruijn64) >> 58]; }