Repository navigation
Take a factor continuous at the point out before l'Hopital's rule - #2370
Merged
Rafael-SOWNet merged 2 commits intoNov 4, 2026
Merged
Conversation
sin(x)^tanh(x) at 0 from the right was left unevaluated, where it is 1, and tan(2x)^sin(tanh(x)) declined after thirteen seconds (2.6.0 does not finish it in two minutes). Read through its exponent, the power is a quotient the rule takes, and the rule differentiated every factor of both parts, including those that tend to a number other than 0, such as the 1 - tanh(x)^2 that tanh's derivative brings. With tanh written through exponentials, each such factor doubled the derivative, and it outgrew the rule's bound. A factor that is continuous at a finite destination and has a finite, non-zero real value there is now taken out as that value, kept exact: lim c(x) f(x) / g(x) is c(a) lim f(x) / g(x). Only a factor real for real x and with no step in it, so that its value at the point is its limit from either side. A limit that is an infinity stays that infinity. limitcheck at DEPTH=3, 18 seeds 14-45, master against this: 10 more compared over 6 seeds, 4 fewer that did not finish in 5 s, and nothing moved to another value or to NaN. Suite 18982 passed, AOT and the eight harnesses clean. 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 #2370 +/- ##
=======================================
Coverage 86.75% 86.75%
=======================================
Files 312 312
Lines 68877 68897 +20
Branches 20071 20078 +7
=======================================
+ Hits 59755 59774 +19
+ Misses 4926 4925 -1
- Partials 4196 4198 +2
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
Member
Author
|
Merged without the two macOS jobs. They were cancelled before they started ("The job was not acquired by Runner of type hosted even after multiple attempts"), the same macOS arm64 outage as on #2368 and #2369. In their place:
|
Rafael-SOWNet
deleted the
fix/a-continuous-factor-is-not-differentiated
branch
November 4, 2026 18:37
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.
sin(x)^tanh(x)at 0 from the right was left unevaluated, where it is 1.tan(2x)^sin(tanh(x))declined after 13 s, and 2.6.0 does not finish it in 2 minutes.Read through its exponent, the power becomes a quotient that l'Hôpital's rule takes. The rule differentiated every factor of both parts. That included factors tending to a non-zero number, such as the
1 - tanh(x)^2that tanh's derivative brings. tanh is written through exponentials, so each such factor doubled the derivative, which then outgrew the rule's bound.Now a factor that is continuous at a finite destination, with a finite, non-zero real value there, is taken out as that value and kept exact: lim c(x) f(x)/g(x) = c(a) lim f(x)/g(x).
TreeAnalyzer.IsRealValuedsays is real for real x, and that has no floor, ceil, round, sign or piecewise in it. So its value at the point is its limit from either side.tanh(1 + x)·(x - 1)/(x^2 - 1)at 1 is(e^4 - 1)/(2(e^4 + 1))and not a decimal.sin(x)^tanh(x)1tan(x)^sin(tanh(x))1tan(2*x)^sin(tanh(x))1, in 0.4 sMeasured
DEPTH=3on 18 seeds (14 to 45), master against this branch: 10 more rows compared across 6 seeds, and 4 fewer that did not finish in 5 s. No row moved to another value or to NaN.Not fixed here:
(1 - tanh(x)^2)·x·(1 + x^2)/tanh(x)at 0⁺ still takes about 19 s. Nearly all of that isSimplifyon the expression itself, which takes 7 s without any limit. That is a separate defect.Found by limitcheck at seed 42. Recorded in BREAKING-CHANGES.md.
🤖 Generated with Claude Code