NREGIONS_SHIFT
region = &Regions[((uintptr_t)ptr >> NREGIONS_SHIFT) & NREGIONS_MASK];
char *baddr = (void *)((uintptr_t)ri << NREGIONS_SHIFT);
#define NREGIONS_SIZE (1LU << NREGIONS_SHIFT)
region = &Regions[((uintptr_t)ptr >> NREGIONS_SHIFT) & NREGIONS_MASK];