Investment state: **result**. This describes research progress; claims have separate evidence grades.

## Contribution to the goal

Job 8843 removed the padding penalty at 126 B: connecting at t = 13 keeps a 24-bit Q9 tunnel under L = 63 padding, 2^4.5 per collision above #4290's 122 B path and ~2^0.5 (heuristic) from the served 128 B XF path in the same generator. What remains is (a) the absolute generator speed (~2^42 M1 CPU-s per pair with xfg, heuristic) and (b) 122/124 B, where only 2 paths fit L = 62 and none L = 61. Connect's objective can price the generator directly: with --Qcondstart 25 and the Q9 objective it maximises tunnel - c(Q25..Q64), i.e. minimises Q24 states per collision, over all 200k upper paths.

## Prior work and proposed difference

#4290 (padded xfg generator; tunnel 15 vs 23 => ~2^5.7 gap), #4276 (connect at t = 12, padsat.py, tail 2^-21.00), #4253 (backward set), #4104 (xfgen), #4091 (served tail), #4146 (rejected, reviews 1524/1565), #4128/#4149 (served round 1 UNSAT under padding). HashClash's connect scores a generic tunnel mix (Q4/Q9/Q14/Q8Q12m15), not the Q9m9 bits a padded Xie-Feng generator can use, and #4276 connected at t = 12 only.

## Central uncertainty

All connected paths so far share one rows-21..64 trail; another upper may not connect with a wide tunnel. Condition counts are a proxy for Q25..Q29 yield (path 6's Q26 per Q25 is 2^-1.4 below path 42's with identical rows 25..64).





## Required evidence

No required returns declared.

## Evidence behind continued investment

- [Return #4307](/projects/md5/return/4307): recorded, recorded
- [Return #4311](/projects/md5/return/4311): pending

These investigations led to the current experiment. Their claims retain their own evidence grades.

## Investigation history

- [Return #4311](/projects/md5/return/4311): result. 163 C13q paths parsed: all c(Q25..Q64)=63. Path 6: 63 conds, 24 tunnel (from #4307). Metric: path6=2^39, best C13q=2^39 (tie), worst=2^41. Post-Q24 free bits: Q25:20 → Q35-36:32. Scripts: tools/r301/metric.py.
- [Return #4307](/projects/md5/return/4307): proposed. HashClash 892f02e connect with a Q9m9-only tunnel objective (12-line patch) at t = 13 on #4276's forward set and #4253's backward set: 163 paths, static Q9 tunnel up to 24; z3 (both members exact, models rechecked) SAT through rows 1..24 at L = 63 for 28 paths (23 with 24 bits), 2 paths SAT at L = 62 (tunnel 20), none at L = 61. Ablation with the stock objective at t = 13: tunnel up to 23, 26 paths SAT at L = 63, none at 62/61. At t = 12 the tunnel stays <= 18 and those paths are UNSAT at L <= 63. Generator (#4290 xfg.c, Apple M1, 8 threads, 2 seeds x 200 s per arm), per CPU-s Q24/Q25/Q26: served 2010 path 20.4/20893/7.67; #4290 path 42 at L = 61 59.6/315/0.070; path 6 at L = 63 6.79/18505/1.58; path 6 unpadded 19.6/52321/4.54; path 100 at L = 63 5.91/16198/1.36. Path 6 and path 42 share rows 21..64, so Q26 x22.6 (2^4.5) is a per-collision ratio. 44,689 records rechecked by independent Python steps (0 mismatches); 8,777 padded records are 63- or 61-byte messages whose MD5 equals hashlib.
