Repository navigation
Ask a product with a quotient factor over that quotient's divisor in a one-sided limit - #2384
Merged
Rafael-SOWNet merged 2 commits intoNov 7, 2026
Merged
Conversation
…a limit From one side, a product whose factors tend to 0 and to an infinity, one of them a quotient, is asked as that quotient with the other factor in its dividend, its whole limit once. Read as a product nothing settled the form, and the rewriting solvers took x * (ln(x) / ln(2 + x)) at 0 from the right through l'Hopital's rule for longer than any caller waits, where x ln(x) / ln(2 + x) is 0 at once. Not while the sides of a two-sided limit are compared, as powers already are not: x * ln(x) / ln(2 + x) at 0 is NaN two-sided, its left side being complex, and the same product written with brackets would have come back 0. Measured on master -> this branch, one probe each: x * log(2 + x, x) at 0+ timeout (30 s) -> 0, 0.24 s x * log(2 + x, x) at 0- 0 in 11.8 s -> 0.26 s x * (ln(-x) / ln(2 + x)) at 0- 0 in 11.7 s -> 0.25 s x * log(2 + x, x^3) at 0+ 0 in 1.15 s -> 0.26 s (x - 1) * (ln(x - 1) / ln(x + 1)) at 1+ 0 in 0.69 s -> 0.27 s Two-sided answers are unchanged (x * log(2 + x, x) at 0 is NaN on both). Found by limitcheck at DEPTH=3, SEED=59, under the logarithm-of-a-power change, which writes ln(x^3) / ln(2 + x) as 3 ln(x) / ln(2 + x) and so reached this. No issue was filed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #2384 +/- ##
=======================================
Coverage 86.78% 86.78%
=======================================
Files 312 312
Lines 69110 69129 +19
Branches 20156 20159 +3
=======================================
+ Hits 59978 59995 +17
- Misses 4916 4917 +1
- Partials 4216 4217 +1
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
Rafael-SOWNet
deleted the
feature/a-product-with-a-quotient-in-a-limit
branch
November 7, 2026 22:48
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.
From one side, a product whose factors tend to 0 and to an infinity, one of them a quotient, is now asked as that quotient with the other factor in its dividend, its whole limit once.
Read as a product nothing settled the form, and the rewriting solvers took
x * (ln(x) / ln(2 + x))at 0+ through l'Hôpital's rule for longer than any caller waits. Three samples of the hung probe put the time inApplylHopitalRuleImpl'sSimplify, reached throughSolveByRewritingTowardsInfinityandSolveAsDifferenceOfInfinities.x ln(x) / ln(2 + x), the same thing over one divisor, is 0 at once.Not while the sides of a two-sided limit are compared, as powers already are not (
MayReadAPowerThroughItsExponent). Two-sided,x * ln(x) / ln(2 + x)at 0 is NaN, because its left side is complex. Regrouped during the comparison, the same product written with brackets came back 0. Two-sided answers do not move.Measured on master → this branch, one probe each:
x * log(2 + x, x)at 0+0, 0.24 sx * (ln(x) / ln(2 + x))at 0+0, 0.26 sx * log(2 + x, x)at 0-0, 11.8 s0, 0.26 sx * (ln(-x) / ln(2 + x))at 0-0, 11.7 s0, 0.25 sx * log(2 + x, x^3)at 0+0, 1.15 s0, 0.26 sx * log(2 + x, x)at 0, two-sidedNaNNaNlimitcheck A/B against master (
DEPTH=3, the usual seeds): five answers gained, none lost, none wrong.sin(ln(x) * x)at 0+0floor(x * log(pi, x))at 0+-1sgn(sin(x) * log(pi, x))at 0+-1arcsin(-x * log(-1, x))at 0- and 0+0One row moved from a decline to a timeout at the harness's 5 s cap:
(cos(x) * sqrt(x))^arctan(tanh(x))at 0+. Alone it declines on both builds in 7.1–7.7 s, so the move is jitter. Each new answer is in BREAKING-CHANGES.md, measured on 2.6.0, which leaves all of them unevaluated.The full suite (19,093), the wrapper suites, AOT and the ten harnesses pass.
Found by limitcheck at
DEPTH=3,SEED=59, under the logarithm-of-a-power change (next PR). That change writesln(x^3) / ln(2 + x)as3 ln(x) / ln(2 + x)and so ran into this. No issue was filed.🤖 Generated with Claude Code