Repository navigation
Write a power of the reciprocal as a power of the variable at infinity - #2362
Merged
Merged
Conversation
A one-sided limit at 0 is taken at infinity by putting 1/x for x, so a root of the variable arrives there as (1/x)^p, which nothing rewrote. The quotients built from it never cancel: x^3 * sqrt(1/x) / (x^2 * (1/x)^(-1/2)), which is 1, went to l'Hopital's rule sixteen deep in 1.6 s, and ln(x) / ln(sqrt(x)) from the right at 0 asked it eight times on the way to 2 -- 13 s, and ln(sin(x)) / ln(sqrt(x)) over 20 s. (1/x)^p is x^(-p), and (-1/x)^p is (-1)^p x^(-p), exactly for x real and positive, which is the whole of the way to +oo; on the principal branch for any exponent. Rewritten where a limit at infinity begins. Both of those are now under 0.2 s. No answer changes. limitcheck, DEPTH=3, seeds 14, 16, 19, 23, 26 against master 403394b: two limits more answered, "did not finish in 5 s" 1 -> 0, the wrong values and the NaNs unchanged. Found at SEED=26 as log(sqrt(x), floor(x) + arctan(x)); no issue was filed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #2362 +/- ##
==========================================
- Coverage 86.78% 86.77% -0.02%
==========================================
Files 312 312
Lines 68818 68825 +7
Branches 20050 20053 +3
==========================================
- Hits 59726 59720 -6
- Misses 4909 4921 +12
- Partials 4183 4184 +1
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
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.
ln(x) / ln(sqrt(x))from the right at 0 took 13 s to answer 2, andln(sin(x)) / ln(sqrt(x))took over 20 s.A one-sided limit at 0 is taken at infinity by putting
1/xforx, so a root of the variable arrives there as(1/x)^p, and nothing rewrote that. The quotients built from it never cancel.x^3 * sqrt(1/x) / (x^2 * (1/x)^(-1/2))is 1, but l'Hôpital's rule differentiated it sixteen deep, in 1.6 s, and the first limit asked that question eight times.(1/x)^pisx^(-p), and(-1/x)^pis(-1)^p x^(-p). Both are exact for realx > 0, which covers the whole of the way to+oo, and on the principal branch for any exponent. They are now rewritten where a limit at infinity begins. Both limits above take under 0.2 s, and no answer changes.limitcheck, DEPTH=3, seeds 14, 16, 19, 23 and 26, against master 403394b:
Suite, AOT and the harnesses are green locally.
Found by limitcheck at
SEED=26, aslog(sqrt(x), floor(x) + arctan(x)); no issue was filed.🤖 Generated with Claude Code