Methodology, tests and limitations
Maintained by Starlight Robotics. Review status: automated regression checks; independent mathematics review has not been documented.
Validation revision: . This revision covers parsing, symbolic rules, exact point substitution, algebraic simplification, real-domain guards and numerical comparisons. The reproducible suite contains 51 tests, including 600 comparisons between raw and simplified derivatives. See the published supported-expression cases.
- Parse the expression into a tree without evaluating executable code.
- Differentiate using symbolic rules, then combine terms, factor common factors and cancel matching integer powers. Rational coefficients remain fractions.
- Compare each derivative with central finite differences of the preceding expression at eight sample inputs, using h = 10⁻⁴ max(1, |x|) and h/2. Both estimates must agree within 2 × 10⁻⁵ max(1, |symbolic|, |estimate|).
Verified means at least three samples passed for every requested order with no stable mismatch. Domain failures are skipped; unstable estimates are inconclusive. This is a numerical spot check, not proof of an identity or of differentiability everywhere. Partial checks fix other variables to disclosed sample constants. Implicit checks test Fₓ and Fᵧ separately, not solution branches of the equation.
Real domains: denominators must be nonzero; logarithm arguments positive; log bases positive and not 1; even roots nonnegative (their derivative may require a positive argument); asin/acos derivatives require |argument| < 1. Odd roots accept negative inputs. General variable powers use the positive-base logarithmic rule. Original expressions and unsimplified derivative stages are checked before point values or graph samples, retaining exclusions after cancellation.
Known limits: no complex numbers, piecewise syntax, mixed partials, differential equations, automatic domain solving, branch solving or limits at singularities. Root and absolute-value compositions can be differentiable where the rule formula is singular; the calculator conservatively declines those points. Some equivalent identities and common-denominator sums remain unsimplified. High-order expressions have a complexity limit. Floating-point underflow, overflow and narrow features can affect numerical checks and graphs. Maximum input: 300 characters; orders: 1–5. Implicit mode returns first-order dy/dx only, where Fᵧ ≠ 0.
Calculation runs on your device. Copying a permalink includes your expression in its URL; opening that link sends the URL to the website. Math typesetting is loaded from a third-party CDN.
Supported-expression test set and expected derivatives
| Input | Expected result / condition |
|---|---|
4x^3-5x+7 | 12x² − 5 |
x^3*sin(x) | x²(3 sin x + x cos x) |
(x^2+1)/(x-1) | (x² − 2x − 1)/(x − 1)²; x ≠ 1 |
ln(x^2+1) | 2x/(x² + 1) |
e^(2x), 2^x, x^x | 2e²ˣ; 2ˣ ln 2; xˣ(ln x + 1), x > 0 |
sin^2(x), arcsin(x) | 2 sin x cos x; 1/√(1 − x²), |x| < 1 |
cbrt(x), root(x,5) | 1/(3 cbrt(x)²); 1/(5 root(x,5)⁴), x ≠ 0 |
log(x,2), log(x) | 1/(x ln 2); 1/(x ln 10), x > 0 |
½×x², 1⁄3*x^3 | x; x² |
x^5, order 5 | 120 |
sin(x) at pi/2 | f(a) = 1, slope = 0, tangent y = 1 |
x^2*y+sin(y), ∂/∂x | 2xy, holding y constant |
x^2+y^2=25 | dy/dx = −x/y, y ≠ 0 |
abs(x) at 0; x/x at 0 | Point values rejected |
Report an error — include your expression, mode, variable, order, point and expected answer.
