Proofwell
Menu

How we verify our calculators

A calculator is only useful if you can trust its answer. This page explains how every calculator on this site is built and checked before it is published.

Calculation engines are separate from the page

Each calculator has its own calculation engine, written as a self-contained module with no connection to the page design. The same engine produces the result you see, the step-by-step working and the worked example in the article. Because they share one source, the article and the calculator cannot disagree.

Tested against published reference values

Before a calculator goes live, its engine must pass an automated test suite. The suite includes worked examples from published sources, such as textbook data sets and standard statistical tables, along with:

  • invalid, empty and out-of-range inputs, which must produce a clear error rather than a wrong answer;
  • boundary values such as zero and one;
  • mathematical identities checked across thousands of randomly generated inputs. For example, allele frequencies must always sum to 1, and a matrix multiplied by its inverse must give the identity matrix.

These tests run again every time any part of the site changes, so a later change cannot silently break an earlier calculator.

Exact arithmetic where it matters

Computers store most decimals approximately, which is why some calculators show answers like 0.30000000000000004. Where a problem allows it, our engines keep numbers as exact fractions throughout and only round for display. Where numerical methods are unavoidable, the calculator states the precision of its result.

Steps that reflect the real calculation

Every step in a step-by-step solution is produced by the code that performed that operation, with your numbers substituted. We never write explanatory steps after the fact to match an answer. If a result comes from a method that cannot produce readable steps, the calculator says so instead of inventing them.

Assumptions are stated

Scientific formulas rest on assumptions: equilibrium in population genetics, no air resistance in simple projectile motion, ideal behaviour in chemistry. Each calculator lists the assumptions behind its result, and warns you when your input falls outside the range where a method is reliable.