// unset bits > limit if (high == limit) { int64_t bits = 0xff << (limit % 16 + 1) / 2; sieve[sieve_size - 1] &= ~bits; } // count primes for (int64_t n = 0; n < sieve_size; n++) count += popcnt[sieve[n]];