Home Developers Evidence math.tan

Public evidence

math.tan

Machine-checked verification for calculation version 1.0.4 · tier engine_tested

Historical evidence. This page is version 1.0.4 · engine_tested · 25/25 tests. It is not the current published claim. Current evidence is 1.1.0 (25/25 tests) · latest.

CVP status

CVP VERIFIED · production STALE · CVP protocol 1.0.0-proposed · Core assurance

deg|rad; pole classification / snap / |y| cleanup are documented numerical policies

Declared partition coverage
PASS · 3/3 declared partitions (tan, invalid-domain, xcal)
Versions
Calculation 1.0.4 · CVP protocol 1.0.0-proposed · Evidence 2026-09-08.policy
Verification revision
2026-09-08.policy · 5/5 property · digest 494caf2c4f61

Verification

Legacy regression suite: 25/25 calculation tests · Production surface contract 5/5

Three distinct suites: educational examples on the calculator page, this legacy regression count (25/25 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.

    STALE · Build schema 1.1.0 matches page · production binding STALE · Semantic contract ✓ · Last attestation PASS · current evidence changed · re-attestation required · CVP STALE · attestation STALE — Production CURRENT withheld · Public/cache ✓ · Origin ✓

CVP verification suite

Protocol checks from the Evidence Manifest. Distinct from the legacy regression suite above. Verification revision 2026-09-08.policy. Calculation version 1.0.4. CVP 1.0.0-proposed. 4/4 golden · 10/10 CVP boundary · 8/8 invalid · 5/5 property · 4/4 metamorphic · 4/4 round-trip · 16/16 O3 · 1/1 cross-interface · 11/11 cross-calculator · 4/4 URL→result→graph · 1/1 CVP contract. digest 494caf2c4f61. ≤2 ULP vs O3 applies to the 16 published tabulated vectors (common angles away from poles plus 8 seeded random angles in (−50°, 50°)). It is not a guarantee over the entire real line, including poles, huge angles, or unlisted neighborhoods of zeros.

  • Golden (oracle-backed) 4 / 4
  • CVP boundary 10 / 10
  • Invalid input 8 / 8
  • Property 5 / 5
  • Metamorphic 4 / 4
  • Round-trip 4 / 4
  • O3 high-precision 16 / 16
  • 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 output required declared PASS
  • schema valid input executes PASS
  • engine success output validates schema PASS
  • rest success payload validates schema PASS

Fingerprint sha256:672b0a252bc3ec1ae680516503c13aaddd3a8e304d3c94d640505752aa2b42cd

Input schema sha256:a145c86bf4295643a515b07cddf823049424a88c3a7fc25e463dfc92773671b6 · Output schema sha256:c6e4f75fa48f8b655778eb2014eee65632aa82db1d919d28c89fbd08e417449c · 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
tan
Engine
tan
Engine build
2026-10-14
Evidence core
2026-10-14T02:50:33.742Z
Rendered
2026-10-28T01:54:42.332Z
Last reviewed
—

Assumptions

  • Real tangent only. Inverse is Arctan, not this published engine.
  • Documented pole classification: UNDEFINED when distance to 90° + 180°k is < 1e-12°. That threshold is a numerical classification policy, not a claim that those inputs are mathematically exact odd multiples of 90°. |cos(θ)| is not used as a pole test.
  • If the input is not classified as a pole and distance-to-pole < 0.01°, the engine returns a finite tan(θ) with warnings: [{ code: NEAR_SINGULARITY }]. status remains ok.
  • Documented common-angle snap: after reducing mod 360°, an input within 1e-12° of a listed common angle (0, ±30, ±45, ±60, …) is replaced by the algebraic value (0, ±1/√3, ±1, ±√3). This is a snap policy, not mathematical exactness. Nearby inputs such as 60.00000005° keep IEEE-754 Math.tan.
  • Documented cleanup: if no snap applies and |y| < 1e-12, the engine rewrites y to 0. That changes the IEEE-754 result for some non-zero inputs; it is a cleanup policy, not a mathematical identity.

Limitations

  • Exact poles (90° + 180°k) → UNDEFINED
  • Within 0.01° of a pole → finite value with warnings NEAR_SINGULARITY
  • Missing theta → MISSING_REQUIRED_INPUT

Sources

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

Verification disclosure

Aggregate outcomes, scope and artifact commitments are public. Complete test inputs, expected values, execution records and oracle infrastructure are retained privately. This summary does not independently reproduce the full verification run.