Home Developers Evidence math.special

Public evidence

math.special

Machine-checked verification for calculation version 1.10.0 · tier engine_tested

Verification

58/58 calculation tests · Production surface contract 4/4

  • Golden tests 13 / 13
  • Boundary tests 8 / 8
  • Property tests 37 / 37
  • Production surface contract 4 / 4
  • }
  • Engine tested Yes
  • Source checked Yes
  • Artifact integrity PASS
  • Production attestation Embedded snapshot: unpublished · Build schema 1.10.0 ready · Semantic contract ✓ · Attestation report not published on origin · Live production status STALE (2 capabilities; 162 remain CURRENT) @ 2026-09-20T09:01:12.147Z
  • Semantic contract PASS
  • Evidence attested at 2026-09-18T21:41:55.460Z
  • Last production check 2026-09-18T21:41:55.460Z
  • Public / cache
  • Origin
  • Supplemental domain review Not performed
  • Named expert review Not performed
  • release artifacts aligned PASS
  • schema valid input executes PASS
  • engine success output validates schema PASS
  • schema rejects incomplete input PASS

Fingerprint sha256:51533eecfeaa78ed9a19aecf37760944d857b430aa676bef46b8f89b684f96af

Input schema sha256:8b9159f42671dafa4cf80275c34395c83fae0f5d0be7dcc2342c329578a66f01 · Output schema sha256:4240a4b6d19a781570dec236229987f2533d42c9fcadede16a0d5c3c3112d3d9 · 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
special-functions
Engine
special-functions
Engine build
2026-09-20
Evidence core
2026-09-20T07:29:05.922Z
Rendered
2026-09-20T09:07:29.782Z
Last reviewed

Assumptions

  • Real argument
  • Gamma poles at non-positive integers
  • lgamma is real for x > 0
  • Bessel J integer n=0…8, |x|≤80
  • Bessel Y integer n=0…8, x>0
  • Bessel I integer n=0…8, |x|≤80
  • Bessel K integer n=0…8, x>0
  • Lambert W_0 for x ≥ −1/e
  • Lambert W_{-1} for −1/e ≤ x < 0
  • Complete Euler B(x,y) for x>0, y>0
  • Incomplete B_x(a,b) for a>0, b>0, 0≤x≤1
  • Unnormalized sinc(x)=sin(x)/x, sinc(0)=1
  • Normalized sinc(x)=sin(πx)/(πx), sinc(0)=1
  • Not factorial
  • Not CAS

Limitations

  • Real argument only
  • Not factorial — integer n! stays on math.factorial
  • Gamma poles at non-positive integers
  • lgamma is real for x > 0 on this seed
  • Bessel J / Y / I / K integer n=0…8, |x|≤80 for J and I, x>0 for Y and K
  • Lambert W_0 for x ≥ −1/e; W_{-1} for −1/e ≤ x < 0
  • Complete Euler B(x,y) for x>0, y>0; incomplete B_x(a,b) for a>0, b>0, 0≤x≤1
  • Unnormalized sinc(x)=sin(x)/x and normalized sinc(x)=sin(πx)/(πx), both with sinc(0)=1
  • unknown mode (including cas, factorial) → INVALID_MODE

Sources

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

Published checks

Golden, boundary, and property cases included in this evidence build.

IDKindStatusDetail
golden-erf-1goldenpassExpected value=0.84270079295 · Actual value=0.84270079295 · mode=erf · x=1 · erf=0.84270079295 · erfc=0.15729920705 · formula=erf(x) = (2/√π) ∫₀ˣ e^{−t²} dt
golden-gamma-halfgoldenpassExpected value=1.77245385091 · Actual value=1.77245385091 · mode=gamma · x=0.5 · gamma=1.77245385091 · formula=Γ(x) = ∫₀^∞ t^{x−1} e^{−t} dt
golden-gamma-6goldenpassExpected value=120 · Actual value=120 · mode=gamma · x=6 · gamma=120 · formula=Γ(x) = ∫₀^∞ t^{x−1} e^{−t} dt
golden-j0-1goldenpassExpected n=0 · value=0.765197686558 · algorithm=series · Actual n=0 · value=0.765197686558 · mode=bessel_j · x=1 · formula=J_n(x) = (x/2)^n Σ_k (−1)^k (x/2)^{2k} / (k! (n+k)!) · algorithm=series
golden-w-egoldenpassExpected value=1 · branch=0 · algorithm=halley · Actual value=1 · mode=lambert_w · x=2.718281828459045 · branch=0 · formula=W(x) e^{W(x)} = x · algorithm=halley
golden-b23goldenpassExpected value=0.0833333333333 · algorithm=lgamma · Actual value=0.0833333333333 · mode=beta · x=2 · y=3 · formula=B(x, y) = Γ(x)Γ(y) / Γ(x+y) · algorithm=lgamma
golden-sinc-0goldenpassExpected value=1 · algorithm=unnormalized · Actual value=1 · mode=sinc · x=0 · formula=sinc(x) = sin(x)/x, sinc(0)=1 · algorithm=unnormalized
golden-y0-1goldenpassExpected n=0 · value=0.0882569642157 · algorithm=series · Actual n=0 · value=0.0882569642157 · mode=bessel_y · x=1 · formula=Y_n(x) = (2/π) J_n(x) ln(x/2) − (x/2)^{−n}/π Σ_{k<n} − (x/2)^n/π Σ ψ · algorithm=series
golden-i0-1goldenpassExpected n=0 · value=1.26606587775 · algorithm=series · Actual n=0 · value=1.26606587775 · mode=bessel_i · x=1 · formula=I_n(x) = (x/2)^n Σ_k (x/2)^{2k} / (k! (n+k)!) · algorithm=series
golden-k0-1goldenpassExpected n=0 · value=0.421024438241 · algorithm=series · Actual n=0 · value=0.421024438241 · mode=bessel_k · x=1 · formula=K_n(x) = ½ (x/2)^{−n} Σ_{k<n} (−1)^k + (−1)^{n+1} I_n ln(x/2) + (−1)^n ½ (x/2)^n Σ ψ · algorithm=series
golden-wm1-01goldenpassExpected value=-3.57715206396 · branch=-1 · algorithm=halley · Actual value=-3.57715206396 · mode=lambert_wm1 · x=-0.1 · branch=-1 · formula=W_{-1}(x) e^{W_{-1}(x)} = x · algorithm=halley
golden-ibeta-halfgoldenpassExpected value=0.0572916666667 · regularized=0.6875 · algorithm=series · Actual value=0.0572916666667 · mode=incomplete_beta · x=0.5 · a=2 · b=3 · regularized=0.6875 · formula=B_x(a, b) = ∫₀ˣ t^{a−1} (1−t)^{b−1} dt · algorithm=series
golden-nsinc-halfgoldenpassExpected value=0.636619772368 · algorithm=normalized · Actual value=0.636619772368 · mode=normalized_sinc · x=0.5 · formula=sinc(x) = sin(πx)/(πx), sinc(0)=1 · algorithm=normalized
boundary-special-modeboundarypassExpected INVALID_MODE · Actual INVALID_MODE
boundary-gamma-poleboundarypassExpected INVALID_INPUT · Actual INVALID_INPUT
boundary-y0boundarypassExpected INVALID_INPUT · Actual INVALID_INPUT
boundary-i0boundarypassExpected INVALID_INPUT · Actual INVALID_INPUT
boundary-k0boundarypassExpected INVALID_INPUT · Actual INVALID_INPUT
boundary-wm1boundarypassExpected INVALID_INPUT · Actual INVALID_INPUT
boundary-ibetaboundarypassExpected INVALID_INPUT · Actual INVALID_INPUT
boundary-nsincboundarypassExpected INVALID_NUMBER · Actual INVALID_NUMBER
property-erf-1propertypasserf(1)
property-erf-oddpropertypasserf odd
property-erf-erfcpropertypasserf+erfc
property-gamma-6propertypassΓ(6)=5!
property-gamma-halfpropertypassΓ(1/2)=√π
property-lgamma-6propertypassln Γ(6)
property-j0-0propertypassJ_0(0)=1
property-j1-1propertypassJ_1(1)
property-j1-oddpropertypassJ_1 odd
property-w0-0propertypassW_0(0)=0
property-w-epropertypassW_0(e)=1
property-w-identitypropertypassW e^W = x
property-beta-11propertypassB(1,1)=1
property-beta-halfpropertypassB(1/2,1/2)=π
property-beta-sympropertypassB(x,y)=B(y,x)
property-sinc-0propertypasssinc(0)=1
property-sinc-pipropertypasssinc(π)=0
property-sinc-evenpropertypasssinc even
property-y0-1propertypassY_0(1)
property-y1-1propertypassY_1(1)
property-i0-0propertypassI_0(0)=1
property-i0-1propertypassI_0(1)
property-i1-oddpropertypassI_1 odd
property-k0-1propertypassK_0(1)
property-k-recurrencepropertypassK_2 = (2/x)K_1 + K_0
property-wm1-branchpropertypassW_{-1}(-1/e)=-1
property-wm1-m2propertypassW_{-1}(-2/e²)=-2
property-wm1-identitypropertypassW_{-1} e^{W}=x
property-ibeta-0propertypassB_0(a,b)=0
property-ibeta-1propertypassB_1(a,b)=B(a,b)
property-ibeta-11propertypassB_x(1,1)=x
property-ibeta-halfpropertypassB_{1/2}(1/2,1/2)=π/2
property-ibeta-identitypropertypassB_x(a,b)+B_{1-x}(b,a)=B
property-nsinc-0propertypasssinc_N(0)=1
property-nsinc-1propertypasssinc_N(1)=0
property-nsinc-evenpropertypasssinc_N even
property-nsinc-identitypropertypasssinc_N(1/2)=sinc(π/2)