Mathematics · Calculus
Chain Rule Calculator
Combine an outer derivative and inner derivative to evaluate a composite function's derivative at a point.
Inputs and results stay in this browser. Change one value at a time to explore the relationship.
Calculation steps
- Apply f′(g(x))g′(x).
- Multiply 6×4=24.
Understand Chain rule
One idea, three depths
Choose how deeply to explain Chain rule
Chain rule: Combine an outer derivative and inner derivative to evaluate a composite function's derivative at a point.
Age 5 Explain it to a 5-year-old Start with a picture
Think of watching something move or grow. Calculus helps measure tiny changes and how they add together. For example: If f′(g(x))=6 and g′(x)=4, the composite derivative is 24. The answer tells you Composite derivative.
Age 15 Explain it to a 15-year-old Connect it to the formula
A change in x first changes the inner function, then the outer function; multiplying the two local rates gives the total rate. The rule is d[f(g(x))]/dx=f′(g(x))g′(x). Its input values are Outer derivative f′(g(x)), Inner derivative g′(x), and the main result is Composite derivative. For example: If f′(g(x))=6 and g′(x)=4, the composite derivative is 24.
College Explain it at college level State the model precisely
This calculator evaluates a calculus model over the stated real-valued domain. The implemented relation is d[f(g(x))]/dx=f′(g(x))g′(x), evaluated from Outer derivative f′(g(x)), Inner derivative g′(x) to produce Composite derivative. A change in x first changes the inner function, then the outer function; multiplying the two local rates gives the total rate. This compact symbolic model covers the displayed function family, not every function, discontinuity or domain restriction. Evaluate the outer derivative at g(x), not at x, before multiplying by the inner derivative.
Inputs and valid domain
- Outer derivative f′(g(x)) must be a finite real value.
- Inner derivative g′(x) must be a finite real value.
Important boundary: Evaluate the outer derivative at g(x), not at x, before multiplying by the inner derivative.
The formula
d[f(g(x))]/dx=f′(g(x))g′(x)
How the calculator works through it
It substitutes Outer derivative f′(g(x)), Inner derivative g′(x) into the formula and exposes every numerical step above. The main output is Composite derivative, accompanied by Outer derivative factor, Inner derivative factor.
Read the result correctly
The Composite derivative is the direct answer to “combine an outer derivative and inner derivative to evaluate a composite function's derivative at a point.” Read it with the units shown beside the inputs; a sign, angle, percentage or rate changes what the number means.
A worked check
If f′(g(x))=6 and g′(x)=4, the composite derivative is 24.
Where this model stops being reliable
This compact symbolic model covers the displayed function family, not every function, discontinuity or domain restriction. In particular, evaluate the outer derivative at g(x), not at x, before multiplying by the inner derivative.
Learn it by changing one value
Begin with the worked example, then change one value while keeping the others fixed. Compare the new result and calculation steps to identify which part of the formula changed.
Dictionary terms behind this calculator
Continue with a free textbook
OpenStax reading and academic references
Use the calculator as the worked interaction, then continue into the peer-reviewed textbook context. MW SysArc links to OpenStax; the explanation on this page is original and does not reproduce the book.
Calculus Volume 1
Read OpenStax Calculus: Derivatives and integrationCite this book
- APA 7
- Strang, G., & Herman, E. (2016). Calculus volume 1. OpenStax. https://openstax.org/books/calculus-volume-1/pages/1-introduction
- MLA 9
- Strang, Gilbert, and Edwin Herman. Calculus Volume 1. OpenStax, 2016, https://openstax.org/books/calculus-volume-1/pages/1-introduction.
- Chicago author-date
- Strang, Gilbert, and Edwin Herman. 2016. Calculus Volume 1. Houston, TX: OpenStax. https://openstax.org/books/calculus-volume-1/pages/1-introduction.
OpenStax books are free to read online. Their current reuse licence is CC BY-NC-SA; follow the licence shown on the linked book before redistributing or adapting its content.
Clear answers
Frequently asked questions
What does the Chain rule do?
Combine an outer derivative and inner derivative to evaluate a composite function's derivative at a point.
How does the Chain rule work?
The calculator applies d[f(g(x))]/dx=f′(g(x))g′(x). A change in x first changes the inner function, then the outer function; multiplying the two local rates gives the total rate.
What can I learn from the Chain rule?
It connects the mathematical rule to your chosen numbers and shows each calculation step. Change one input at a time to see how the result responds.
Does MW SysArc receive or store what I enter?
No. The calculation runs locally in your browser. MW SysArc does not receive or store your calculation inputs.
How should I use the result?
Use the steps to understand the method, then verify important school or professional work using the notation and rounding rules required in your setting.
Mathematics → algorithm → program
Implement this calculation in code
These are direct reference implementations of the calculator's principal relationship and first output. They run locally and include a small known-answer check where the language supports it.
Algorithm
- Read Outer derivative f′(g(x)), Inner derivative g′(x).
- Evaluate the principal relationship: d[f(g(x))]/dx=f′(g(x))g′(x).
- Return Composite derivative and check the domain conditions described above.
Python
from math import *
def chain_rule(a, b) -> float:
return (a * b)
assert abs(chain_rule(6, 4) - 24) < 1e-6 * max(1.0, abs(24))
C
#include <assert.h>
#include <math.h>
double chain_rule(double a, double b) {
return (a * b);
}
int main(void) {
const double expected = 24;
const double actual = chain_rule(6, 4);
assert(fabs(actual - expected) < 1e-6 * fmax(1.0, fabs(expected)));
}
C++
#include <cassert>
#include <cmath>
#include <numbers>
double chain_rule(double a, double b) {
return (a * b);
}
int main() {
constexpr double expected = 24;
const double actual = chain_rule(6, 4);
assert(std::fabs(actual - expected) < 1e-6 * std::fmax(1.0, std::fabs(expected)));
}
Linux x86-64 assembly
x86-64 NASM · System V ABI · Linux · SSE2 with libm where required
; double chain_rule(double a, double b)
; Linux x86-64 NASM · System V ABI · first eight doubles in xmm0–xmm7
global chain_rule
section .text
chain_rule:
push rbp
mov rbp, rsp
sub rsp, 32
movsd [rbp-8], xmm0
movsd [rbp-16], xmm1
movsd xmm0, [rbp-8]
mulsd xmm0, [rbp-16]
movsd [rbp-24], xmm0
movsd xmm0, [rbp-24]
leave
ret
Floating-point answers can differ slightly by language, compiler and processor. Compare within a suitable tolerance rather than assuming every decimal representation will be identical.
Last reviewed 2026-07-21. Calculations tested 2026-07-21.