HomeCalculatorsMathAlgebra & EquationsPolynomial Evaluate Calculator
Math calculator

Polynomial Evaluate Calculator

Evaluate real polynomials of degree 1–8 with exact rational Horner arithmetic and one binary64 rounding. Inspect numerical limits, share inputs, and export.

Instant result
Result
—

Enter values to calculate.

Inputs—
Mode—
Formula—
Trust summary CVP VERIFIED · CVP protocol 1.0.0-proposed · Core assurance · all published methods
Input interpretation
Enter values to calculate.
Result
—
Verified scope
all published methods
Assurance
Core
Declared partition coverage
PASS · 4/4 declared partitions (all-roots, cardano, evaluate, invalid-domain) · Matrix
Numerical scope
67 listed independent full-pack vectors only
Known limitations
  • Core CVP does not include live graph, viewport, or pointer interaction.
Model
p(x) of a real polynomial of degree 1–8 at a real x by Horner nested multiplication, with an engine-linked figure of p and the evaluation point.
Scope
The Result Card includes an engine-linked figure of p (marker is published x, value). Same Horner nesting as REST/MCP. Curve samples are not a REST field.
Verification
Engine tested · Source checked · v1.2.2 · CVP VERIFIED · CVP protocol 1.0.0-proposed · Core assurance · all published methods· View Manifest · CVP overview · Specification
Versions
Calculation 1.2.2 · CVP protocol 1.0.0-proposed · Evidence 2026-10-28.metric-scope-v3
Verification revision
2026-10-28.metric-scope-v3 · 3/3 property · digest eca488fa2ce7
Legacy regression
21/21 tests · Production surface contract 6/6
Trust layers
Verification VERIFIED · Production CURRENT · Overall CVP state: VERIFIED under CVP 1.0.0-proposed
Reference
O1 model · O2 expected_values · O2 numerical_behavior
Interfaces
PASS · UI (SSR) / REST / MCP — ui-ssr is query-result HTML, not a live browser session. Error-path engine·REST·MCP 28/28 (status, code, calculation_version). SSR compared on URL-canonical requested calculations; empty query is idle (not an error) and JSON-typed object/array inputs are REST/MCP-only.
Supplemental domain review
Not performed
Named expert review
Not performed
CVP suite
67/67 golden · 3/3 CVP boundary · 34/34 invalid · 3/3 property · 2/2 metamorphic · 95/95 cross-interface · 1/1 cross-calculator · 6/6 CVP contract · Manifest
Evidence
7 legacy golden · 6 legacy boundary · legacy regression suite · 67/67 oracle-backed golden · 34/34 invalid · Artifact integrity PASS
This calculator CURRENT · Public schema 1.2.2 matches · Semantic contract ✓ · Production attested · Public/cache ✓ · Origin ✓
Semantic contract
PASS
Full verification

Manifest identity, reference classes, interfaces, suite, and production records.

Formulas

Core equations used by this calculator.

Hornerp(x) = ((cₙ x + cₙ₋₁) x + … ) x + c₀
Constant firstc0, c1, …, cn
iSame engine as /polynomial-roots. n multiplies for degree n. Float64. Not symbolic factoring. Not polynomial expansion. Not the quadratic formula page.

How to use

1

Enter coefficients and x

Constant first. 1 + 2x + 3x² is 1, 2, 3. All-roots stays at /polynomial-roots.

2

Read p(x)

Horner uses n multiplies. The figure shows p and the evaluation point. Cubic closed form stays at /cubic-equation.

Example calculations

Common configurations with formula and result.

ϟ

Quadratic at 2

1 + 2x + 3x²

coeffs 1, 2, 3 · x=2
17
ϟ

Root of a cubic

(x−1)(x−2)(x−3) at x=2

coeffs −6, 11, −6, 1 · x=2
0

Polynomial Evaluate calculator specification

Version 1.2.2 · Engine tested

Calculation status

Review policy · Evidence

Definition
p(x) = c0 + c1 x + … + cn x^n is evaluated by nested multiplication ((cn x + c_{n-1}) x + … ) x + c0. This page is method=evaluate on math.polynomial.roots. Real x. Degree 1–8. Not a second engine. Not CAS factoring. Not expansion.
What it calculates
p(x) of a real polynomial of degree 1–8 at a real x by Horner nested multiplication, with an engine-linked figure of p and the evaluation point.
Inputs
  • coeffs
  • x
Outputs
  • value
  • degree
  • solver
  • n_mul
Formula
p(x) = ((cₙ x + cₙ₋₁) x + … ) x + c₀
Assumptions
  • The Result Card includes an engine-linked figure of p (marker is published x, value). Same Horner nesting as REST/MCP. Curve samples are not a REST field.
  • Real coefficients
  • Real x
  • Leading coefficient nonzero
  • Degree 1–8
  • Float64
  • Not a CAS
Units
  • dimensionless
Boundary conditions
  • missing x → MISSING_REQUIRED_INPUT
  • leading coefficient 0 → INVALID_INPUT
  • degree 0 or one coefficient → VALUE_OUT_OF_RANGE
  • degree > 8 → VALUE_OUT_OF_RANGE
  • unknown method (including factor, expand, cas) → INVALID_MODE
Example
coeffs=1,2,3 x=2 → 17
Validation cases

2 published on this page · 21/21 tests · Production surface contract 6/6 · View evidence

  • coeffs=1,2,3 x=2 → 17
  • method=factor coeffs=1,2,3 x=2 → INVALID_MODE
Sources
  • ISO 80000-2:2019 Quantities and units — Mathematics
    Supports: Mathematical symbols and notation. This standard is not numerical verification or an endorsement of this implementation.
  • NumPy — numpy.polynomial.polynomial.polyval
    Supports: Polynomial evaluation using Horner’s method; NumPy’s documented coefficients are in ascending degree order. CalculatorX’s input order must follow its own specification. Mathematical reference only; not validation or endorsement of this implementation.
Calculation version
1.2.2

Background

Interpretation and common distinctions.

What does this polynomial evaluate calculator compute?

p(x) = c0 + c1 x + … + cn x^n is evaluated by nested multiplication ((cn x + c_{n-1}) x + … ) x + c0.

The published formula or method is p(x) = ((cₙ x + cₙ₋₁) x + … ) x + c₀. The following references support the stated mathematics or method:

  • NumPy — numpy.polynomial.polynomial.polyval: Polynomial evaluation using Horner’s method; NumPy’s documented coefficients are in ascending degree order. CalculatorX’s input order must follow its own specification. Mathematical reference only; not validation or endorsement of this implementation.

Which inputs and limits should you check?

Follow the input domain, units, branch or solve direction, and rounding policy in the specification. Preserve exact outputs and any additional candidates or warnings.

The worked example uses 1 + 2x + 3x² with coeffs 1, 2, 3 · x=2. Compare it with the Example calculations and the complete result for the same inputs.

How can you verify and cite this result?

CalculatorX is responsible for this page. The mathematical references above explain the model; implementation checks and their scope are documented separately in the math.polynomial.roots v1.2.2 Evidence and capability contract. Read the displayed verification and production state together with the specification's numerical limits.

Use the clean calculator URL to cite the tool. A shared input link identifies a particular calculation. Content updates, numerical verification, and domain reviews have separate dates and scopes.

Numerical scope and interpretation

Coefficients are constant first, finite real binary64 values, with degree 1–8 and a nonzero leading coefficient. Decimal/scientific strings are limited to 512 characters per token and 4608 characters per coefficient list. Arrays contain 2–9 entries. A nonzero textual number that rounds to zero is rejected with NUMERIC_UNDERFLOW; invalid numbers, unknown fields, conflicting aliases, and inapplicable evaluation inputs are rejected. The cubic page locks Cardano; the evaluation page locks Horner.

The accepted binary64 coefficients define the polynomial. Exact rational square-free decomposition preserves its repeated-root multiplicities. Stable closed forms handle degree 1–3; higher degrees use scaled, bounded iteration with exact real-root isolation. Each square-free factor must pass disjoint exact rational Weierstrass/Gershgorin inclusion disks, a relative L1 inclusion-error budget of 2e-10, and normalized residual at most 2e-12. A small residual alone does not establish a complete root set. Overlapping disks or exhausted iteration reject NON_CONVERGENCE; difficult finite inputs need not succeed. Exact arithmetic is bounded to 16384 bits; iteration is limited to two attempts of 2048 steps and real isolation to 512 levels / 4096 steps.

Horner evaluation uses exact rational arithmetic on the accepted binary64 inputs and rounds once to binary64. Unrepresentable nonzero roots or values reject overflow/underflow. residual_max is the largest unscaled Euclidean |p(z)|, or null if its binary64 projection is outside range. normalized_residual uses (|Re p|+|Im p|) / Σ |cᵢ|(|Re z|+|Im z|)ⁱ. The exact depressed cubic discriminant determines cubic_case; delta can be null when projection loses range. Rounded zero residuals do not prove exact roots.

Independent CPython Fraction factor constructions and Decimal250/750 references check 67 complete result packs, root multiplicities and returned-root diagnostics. The fixed-vector root budget is 4e-10 relative L2 plus two subnormal quanta; exact zero roots remain zero and Horner values are checked within one ULP. These tests do not establish accuracy for every possible input or identical results across runtimes. Closely spaced roots can be highly sensitive to coefficient changes.

The real curve uses the same exact Horner evaluator. Complex roots are listed outside the real plane; repeated roots retain multiplicity in the result. The graph is omitted with a text explanation when finite coordinates or labels cannot be distinguished. Scalar results and native CSV/JSON exports retain the full result pack and raw inputs without snapping small nonzero roots to zero.

Typing computes locally. Share URLs and REST/MCP requests transmit inputs and may enter browser, server, or intermediary logs. Avoid confidential values in shared URLs. See NIST DLMF polynomial definitions and evaluation and Neumaier–Polzer polynomial zero enclosures for mathematical background; implementation checks are independent of these references.

Frequently asked questions

Key distinctions behind the calculation.

Is this a second polynomial engine?

No. It is method=evaluate on math.polynomial.roots, the same engine as /calc/math/polynomial-roots. All-roots and Cardano cubic stay on that engine.

Do you factor or expand?

No. Symbolic CAS factoring and expansion are out of scope. This page only evaluates p(x) by Horner.

Why Horner instead of summing c_k x^k?

Nested multiplication uses n multiplies for degree n and is the numerically preferred evaluation of a monomial basis polynomial in Float64.