NUMERICAL ANALYSIS · RUST + WEBASSEMBLY

Root-finding under the microscope.

Fast is not the same as guaranteed. Change the method, starting values, and tolerance—then inspect every iterate, residual, and failure without hiding the assumptions.

Three numerical paths approaching a function root A curve crosses the horizontal axis while bracket, tangent, and secant markers approach the crossing. f(x) = 0
RELEASEv1.0.0
METHODS4
FROZEN CASES17
ARITHMETICbinary64

INTERACTIVE EXPERIMENT

One equation. Four different promises.

Choose a frozen function or alter the numerical conditions. The trace is computed by the same Rust core tested in the repository.

Left bracket endpoint
Right bracket endpoint

Loading the verified Rust engine…

STATUS Waiting

The first frozen scenario will run when the numerical engine is ready.

Estimate
|f(x)|
Iterations
Evaluations

Iteration trace

Root-finding iteration trace Run an experiment to display its numerical trace.

Residual uses a logarithmic vertical scale; zero is shown at machine epsilon.

Exact values returned by the Rust solver
nxf(x)Step sizeBracketAccepted move
No trace yet.

V1.0 CONDITIONING DIAGNOSTIC

A tiny residual can still hide a large root error.

Select one of five prespecified cases. The numbers come directly from the committed Rust report; the display changes, but the evidence does not.

EQUATIONLoading report…
Residual |f(x̂)|
Forward error |x̂ − r|
Candidate x̂
|f′(r)|
Condition 1/|f′(r)|
First-order estimate

Loading the frozen v1.0 result…

Read carefully: the condition number uses an additive function-value perturbation model. For a multiple root, the simple-root estimate is unavailable—not zero.

READ THE GUARANTEE FIRST

The methods answer different questions.

01

Bisection

Preserves a sign-changing bracket for a continuous function and halves its width. Slow, but geometrically inspectable.

Needs
Opposite endpoint signs
Shows
Certified bracket width
02

Newton

Uses the local tangent. Quadratic convergence is local near a simple root—not a promise for arbitrary starting values.

Needs
Analytic derivative
Can fail
Cycle or flat derivative
03

Secant

Approximates the derivative from two iterates. It saves derivative work but can lose its slope information.

Needs
Two starting values
Can fail
Collapsed denominator
04

Safeguarded

Proposes secant or inverse-quadratic steps but bisects when the proposal leaves the protected region or stalls.

Needs
Continuous sign-changing bracket
Shows
Accepted move and retained bracket

EVIDENCE BOUNDARY

What v1.0 supports—and what it does not.

Supported

  • Deterministic behavior for seventeen cases across three separately frozen protocols.
  • A certified bisection half-width when its bracket assumptions hold.
  • Explicit detection of the selected cycle and denominator failures.
  • One Rust implementation shared by tests, report, and browser.
  • Preserved brackets and explicit interpolation/fallback labels in five v0.2 cases.
  • Residual, forward-error, and local conditioning diagnostics for five prespecified v1.0 cases.

Not supported

  • A universal ranking of root-finding algorithms.
  • Performance claims for real scientific workloads.
  • Proof that a small residual always means small root error.
  • A scale-free condition number or a valid simple-root estimate at a multiple root.
  • Replacement of mature numerical libraries or interval solvers.

PRIMARY SOURCES

Follow the guarantee to its source.