Repository navigation
Answer the borderline rows inside the budget by four guards on slow declines - #2004
Merged
Rafael-SOWNet merged 1 commit intoOct 21, 2026
Merged
Conversation
…eclines - The pair rule SolveAPairOfHyperbolicPowersTwoApart is asked for sums just before the first sum split, which spent 9-12 s declining each elliptic term before the pair rule answered at its later position. - Exact pre-checks read before the expensive numerator in five readers: a whole power >= 2 of something in x below the bar, a root below the bar, an arctangent present. - SolveByCombiningRadicals counts the root inside the logarithm of an inverse hyperbolic function as no root, where it had rewritten ln(1/u + sqrt(1 + 1/u^2)) into a spelling nothing reads. - The substitution search's repeat test covers any function of one trigonometric function of a linear, a quadratic mirrored across its vertex, and even powers of a quotient of linears; its two values are compared in doubles, and nothing is refused where a double cannot hold them, and it is skipped past a power of x of 64 -- an exact subtraction of two 1,900-digit rationals had hung 1.1.4.2:487. Rubi's 7.6.2:23 goes from 34.8 s and 39.5 GB to 0.6 s, 6.6.1:24-26 and 6.1.1:123-125 from about 23 s to 0.1 s, and 7.2.4:599, 3.2.1:292, 4.7.7:117, 1.2.1.4:1120, 1.2.3.4:111 and 4.1.2.1:659 to 5-11 s. Every answer is unchanged, character for character, across 710 rows; over 300 rows of the 2-12 s band CPU falls 18.6% and allocation 19.0%. Part of #233. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura
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.
About forty of Rubi's problems were answered only in 12–25 s, against the corpus harness's 5 s budget. They flip between solved and timed out with machine load, and they will time out for good once the budget binds (#1995). Four guards and reorderings get the answering route reached sooner, with no answer changed:
SolvePairOfHyperbolicPowersTwoApartis asked for sums just before theSolveBySplittingSumthat follows the linear-factor reduction. That split had spent 9–12 s declining each elliptic term before the pair rule answered at its later position; the rule's own remark says "before the split". It returns null unless the exponents are fractional, and then no term of the split is elementary alone.SolveAPowerOfALinearBesideTheDerivativeOfAQuadraticOverItsPower,SolveAPowerOfALinearOverAPowerOfAQuadraticandSolveARationalFunctionOverAPowerOfASymbolicQuadratic;SolveXOverACubicBinomialBesideTheRootOfAnother;SolveAnArctangentOverAPowerOfOnePlusICXUnderTheTangent.For 7.2.4:599, each had been expanding a numerator of thousands of terms.
SolveByCombiningRadicalsand an inverse hyperbolic function's logarithm. It counts the root inside such a logarithm as no root. It had rewrittenln(1/u + sqrt(1 + 1/u^2))into a spelling nothing reads, then spent 18 s declining, before the inverse-hyperbolic substitution answered in 0.1 s (7.6.2:23).x^24 (a x + b x^38)^12.Measured on
8270086f, branch against master:On the pocket's problems answered on both builds, allocation falls from 1,361 GB to 1,071 GB. All eleven moves re-run alone are answered on the branch, against nine on master:
None allocates more. The four the pocket showed lost are 22–25 s rows that flipped under load; each is answered alone on both builds.
Answers are identical across 710 rows. A sweep of 5,018 rows of 1.1.1.x, 1.1.3.x and 1.1.4.x found no answer changes, allocation 12.7% lower, and nothing slower; it was made after the 1.1.4.2:487 fix. No run had a wrong answer.
Rebased over #2002, which adds a vertex test for quadratic candidates at the same call site; this branch's repeat test runs first. On the combined build both PRs' rows answer at their measured cost, and their 781 tests pass.
SlowDeclinesAheadOfTheAnsweringRuleIntegralTestdifferentiates nine rows back, with no duration asserts. No answer changes, soBREAKING-CHANGES.mdhas no entry.Part of #233.
🤖 Generated with Claude Code
https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura