Home Developers Evidence math.exponent

Public evidence

math.exponent

Machine-checked verification for calculation version 1.0.4 · tier engine_tested

CVP: CVP VERIFIED · CVP protocol 1.0.0-proposed · Core assurance· Real forward power; inverse via solve_for · Protocol · Schema · Production report

Declared partition coverage
PASS · 5/5 declared partitions (forward, solve-base, solve-exp, invalid-domain, xcal)
Versions
Calculation 1.0.4 · CVP protocol 1.0.0-proposed · Evidence 2026-09-08.xcal
Verification revision
2026-09-08.xcal · 2/2 property · digest e5bdc1674386

Verification

Legacy regression suite: 38/38 calculation tests · Production surface contract 3/3

Three distinct suites: educational examples on the calculator page, this legacy regression count (38/38 golden + boundary), and the CVP verification suite below. They are not the same number. Property, metamorphic, round-trip, O3, and interface statuses/checks are recorded in the CVP Manifest . SKIP (0/0) means that suite has no published vectors.

    This calculator CURRENT · Public schema 1.0.4 matches · Semantic contract ✓ · Production attested · Public/cache ✓ · Origin ✓

CVP verification suite

Protocol checks from the Evidence Manifest. Distinct from the legacy regression suite above. Verification revision 2026-09-08.xcal. Calculation version 1.0.4. CVP 1.0.0-proposed. 3/3 golden · 22/22 CVP boundary · 21/21 invalid · 2/2 property · 2/2 metamorphic · 3/3 round-trip · 6/6 O3 · 1/1 cross-interface · 11/11 cross-calculator · 4/4 URL→result→graph · 1/1 CVP contract. digest e5bdc1674386. ≤2 ULP vs O3 applies to the 6 published tabulated vectors ((2,10), (10,2), (5,0), (9,0.5), (2,−3), (e,1)). It is not a guarantee over all real bases and exponents.

  • Golden (oracle-backed) 3 / 3
  • CVP boundary 22 / 22
  • Invalid input 21 / 21
  • Property 2 / 2
  • Metamorphic 2 / 2
  • Round-trip 3 / 3
  • O3 high-precision 6 / 6
  • Cross-interface 1 / 1
  • Cross-calculator 11 / 11
  • URL → result → graph 4 / 4
  • CVP contract 1 / 1
  • Interfaces PASS · UI (SSR) / REST / MCP / URL→result→graph
  • Interface claim Success 1/1. Integration: URL → SSR result → Live graph current point (4/4). Hydration/slider/history are URL-canonical contracts, not a live browser session.
  • Assurance Core
  • release artifacts aligned PASS
  • schema valid input executes PASS
  • engine success output validates schema PASS

Fingerprint sha256:706200fba755b76ba5f07e0f52328bb7dc198c70a2633895f579bcb11ff1445d

Input schema sha256:ce9f339fda5323c16b5118ed74d125a73b9d09a65acd73fc515078d08c8d06c4 · Output schema sha256:bc3ef2f7394c1739149d1c1e3751fe91fa1e793ef15fc5f1621834eebad02c63 · Build-time SHA-256 digests prove published artifacts agree with each other (release_integrity.scope=workspace). Production attestation GETs canonical URLs twice (public/cached view and origin), including Capability HTML, via npm run attest:production --write (published at /.well-known/calculatorx-production-attestation.json) and fails if the public Capability page advertises a different calculation_version. This is artifact consistency, not an independent immutable release log.

Build & scope

Engine identity and declared limitations.

Tool
exponent
Engine
exponent
Engine build
2026-09-10
Evidence core
2026-09-10T22:48:17.762Z
Rendered
2026-09-16T22:03:43.778Z
Last reviewed

Assumptions

  • Real arithmetic only. Complex values are not returned.
  • 0⁰ is undefined. 0 raised to a negative power is undefined.
  • Negative bases are allowed only with an integer exponent. Non-integer exponents of a negative base are NOT_REAL (this engine does not special-case odd roots).
  • Token e as base uses Math.exp(n), not (Math.E)**n.
  • Solve exponent uses n = log(y)/log(a) only when a > 0, a ≠ 1, y > 0. 1ⁿ = 1 is INFINITELY_MANY; 1ⁿ = 2 is NO_REAL_SOLUTION; 0ⁿ = 0 (n > 0) is INFINITELY_MANY.
  • Solve base: odd integer n → unique real a = sign(y)·|y|^(1/n). Even integer n and y > 0 → two reals ± with warning TWO_REAL_SOLUTIONS (principal value is non-negative). Even n and y < 0 → NOT_REAL. n = 0 and y = 1 → INFINITELY_MANY.

Limitations

  • 0⁰ and 0^(negative) → UNDEFINED_POWER
  • Negative base with non-integer exponent → NOT_REAL
  • Forward solve_for=y returns a scalar; inverse returns a structured object

Sources

Standards and references supporting this tool specification. Methods are listed separately — they are algorithms, not bibliographic sources.

Legacy published checks

Golden and boundary cases from the legacy Evidence JSON. CVP property, metamorphic, round-trip, O3, and interface statuses/checks are recorded in the Manifest — including SKIP when a suite has no vectors.

IDKindStatusDetail
two-to-tengoldenpassExpected 1024 · Actual 1024
five-neg-twogoldenpassExpected 0.04 · Actual 0.04
sqrt-ninegoldenpassExpected 3 · Actual 3
seven-to-zerogoldenpassExpected 1 · Actual 1
neg-base-oddgoldenpassExpected -8 · Actual -8
e-to-onegoldenpassExpected 2.718281828459045 · Actual 2.718281828459045
zero-to-fivegoldenpassExpected 0 · Actual 0
half-squaredgoldenpassExpected 0.25 · Actual 0.25
zero-to-zeroboundarypassExpected UNDEFINED_POWER · Actual UNDEFINED_POWER
zero-negboundarypassExpected UNDEFINED_POWER · Actual UNDEFINED_POWER
neg-sqrtboundarypassExpected NOT_REAL · Actual NOT_REAL
overflowboundarypassExpected RESULT_OVERFLOW · Actual RESULT_OVERFLOW
underflowboundarypassExpected RESULT_UNDERFLOW · Actual RESULT_UNDERFLOW
empty-aboundarypassExpected MISSING_REQUIRED_INPUT · Actual MISSING_REQUIRED_INPUT
cube-root-twogoldenpassExpected 1.2599210498948732 · Actual 1.2599210498948732
e-to-threegoldenpassExpected 20.085536923187668 · Actual 20.085536923187668
two-neg-tengoldenpassExpected 0.0009765625 · Actual 0.0009765625
neg-base-zerogoldenpassExpected 1 · Actual 1
ten-308goldenpassExpected 1e+308 · Actual 1e+308
empty-nboundarypassExpected MISSING_REQUIRED_INPUT · Actual MISSING_REQUIRED_INPUT
empty-bothboundarypassExpected MISSING_REQUIRED_INPUT · Actual MISSING_REQUIRED_INPUT
a-objectboundarypassExpected INVALID_NUMBER · Actual INVALID_NUMBER
n-arrayboundarypassExpected INVALID_NUMBER · Actual INVALID_NUMBER
n-booleanboundarypassExpected INVALID_NUMBER · Actual INVALID_NUMBER
a-infinityboundarypassExpected INVALID_NUMBER · Actual INVALID_NUMBER
n-nanboundarypassExpected INVALID_NUMBER · Actual INVALID_NUMBER
a-abcboundarypassExpected INVALID_NUMBER · Actual INVALID_NUMBER
solve-base-even-two-realsboundarypasswarning TWO_REAL_SOLUTIONS
solve-base-odd-neggoldenpassExpected -2 · Actual n=3 · value=-2 · solve_for=a · a=-2 · y=-8
solve-base-even-negboundarypassExpected NOT_REAL · Actual NOT_REAL
solve-base-n-zero-y-oneboundarypassExpected INFINITELY_MANY · Actual INFINITELY_MANY
solve-base-n-zero-y-twoboundarypassExpected NO_REAL_SOLUTION · Actual NO_REAL_SOLUTION
solve-exp-1024goldenpassExpected 10 · Actual n=10 · value=10 · solve_for=n · a=2 · y=1024
solve-exp-one-oneboundarypassExpected INFINITELY_MANY · Actual INFINITELY_MANY
solve-exp-one-twoboundarypassExpected NO_REAL_SOLUTION · Actual NO_REAL_SOLUTION
solve-exp-zero-zeroboundarypassExpected INFINITELY_MANY · Actual INFINITELY_MANY
solve-exp-neg-base-integergoldenpassExpected 3 · Actual n=3 · value=3 · solve_for=n · a=-2 · y=-8
invalid-solve-forboundarypassExpected INVALID_SOLVE_FOR · Actual INVALID_SOLVE_FOR