Autoresearch cumulative mutations on functions.cpp (train sr=0.4491)#1
Open
thibautbar wants to merge 1 commit into
Open
Autoresearch cumulative mutations on functions.cpp (train sr=0.4491)#1thibautbar wants to merge 1 commit into
thibautbar wants to merge 1 commit into
Conversation
Single-file changes to FIRE7/sources/functions.cpp synthesized by a Claude-driven autoresearch loop on a held-out feynman-ibp-bench train split (56,102 records, 13 topologies). All 100% valid (modular at prime 2017). Test eval at this state: sr=0.310 @ 100% validity (911/913 records covered, 2 SIGABRT crashes on 15D outliers — to investigate). Diff: +575 / -29 lines, all in one file. Concentrated in: - `forward_stage()` (per-sector Laporta driver) — most of the change - `improve_ibps()` (IBP reordering) - `calculate_product()` (small helper) The 16 kept iters compose two cumulative ideas: I. EXPANDED SYMMETRY SEEDING (sr ramp 1.000 -> 0.613) iter 1 finer-grained early termination in level loop iter 2 pure-dot symmetry seeding at all dot levels iter 3 + extend to one-numerator levels iter 4 + extend to two-numerator levels iter 5 drop the numerator cap entirely iter 6 pre-IBP early-exit (probe `done` BEFORE the IBP pass) iter 8 front-load write_symmetries() for ALL pending levels up front iter 10 recover "sending-higher" internal-symmetry relations iter 11 + extend front-loading to upper-neighbour levels iter 12 seed-diagonal upper-neighbour level II. CLOSURE-AWARE EARLY EXIT (sr ramp 0.613 -> 0.449) iter 24 within-level early-exit (file-scope hook) iter 25 within-GROUP early-exit (finer than #24) iter 29 within-group refinement iter 33 depth-2 symmetry composition (revisit resolved points) iter 37 cross-group closure segregation (stable_partition for closure-first) iter 39 multi-wave closure re-segregation (deepen #37) The driving constraint: every kept mutation must preserve macro_validity == 1.0 on the full train split. Several agent attempts (iters 28, 40) hit lower sr but broke validity (~1% wrong reductions) and were correctly discarded. Each commit on claude/main_exp in the bench repo contains the agent's rationale and a comparison.md showing per-topology before/after. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Single-file changes to FIRE7/sources/functions.cpp synthesized by a Claude-driven autoresearch loop on a held-out feynman-ibp-bench train split (56,102 records, 13 topologies). All 100% valid (modular at prime 2017). Test eval at this state: sr=0.310 @ 100% validity (911/913 records covered, 2 SIGABRT crashes on 15D outliers — to investigate).
Diff: +575 / -29 lines, all in one file. Concentrated in:
forward_stage()(per-sector Laporta driver) — most of the changeimprove_ibps()(IBP reordering)calculate_product()(small helper)The 16 kept iters compose two cumulative ideas:
I. EXPANDED SYMMETRY SEEDING (sr ramp 1.000 -> 0.613)
iter 1 finer-grained early termination in level loop
iter 2 pure-dot symmetry seeding at all dot levels
iter 3 + extend to one-numerator levels
iter 4 + extend to two-numerator levels
iter 5 drop the numerator cap entirely
iter 6 pre-IBP early-exit (probe
doneBEFORE the IBP pass)iter 8 front-load write_symmetries() for ALL pending levels up front
iter 10 recover "sending-higher" internal-symmetry relations
iter 11 + extend front-loading to upper-neighbour levels
iter 12 seed-diagonal upper-neighbour level
II. CLOSURE-AWARE EARLY EXIT (sr ramp 0.613 -> 0.449)
iter 24 within-level early-exit (file-scope hook)
iter 25 within-GROUP early-exit (finer than #24)
iter 29 within-group refinement
iter 33 depth-2 symmetry composition (revisit resolved points)
iter 37 cross-group closure segregation (stable_partition for closure-first)
iter 39 multi-wave closure re-segregation (deepen #37)
The driving constraint: every kept mutation must preserve macro_validity == 1.0 on the full train split. Several agent attempts (iters 28, 40) hit lower sr but broke validity (~1% wrong reductions) and were correctly discarded.
Each commit on claude/main_exp in the bench repo contains the agent's rationale and a comparison.md showing per-topology before/after.