How we verify the calculators

Most calculator sites ask you to take the arithmetic on faith. This one does not, and this page explains the mechanism — partly so you can judge how much to trust a result, and partly because the method is worth copying.

The short version

Every calculator's maths lives in its own module, separate from the page that displays it. Each module carries a set of assertions, and those assertions run every time the site is built. If any one of them fails, the build fails and nothing is published. There is no path by which a page with a broken formula reaches the site.

At the time this page was generated that means49 verified modules carrying roughly813 assertions between them, behind113 calculators. Those figures are counted from the source when the page is built, not typed in — if the checks were ever removed, this page would say so.

What the assertions actually check

Restating the formula back to itself proves nothing, so the assertions try to be things that could genuinely fail:

  • Known values. A cubic yard of concrete must come to 45 bags of 80 lb mix. A 12/12 roof pitch must give exactly √2. Water's specific heat must come out at 1 BTU per pound per °F, because that is how the BTU was defined.
  • Invariants. At terminal velocity, drag must exactly equal weight — so the check computes both and compares them, rather than trusting the speed. Foundations in solitaire must hold 52 cards between them. A fence must have one more post than it has sections.
  • Round-trips. The Roman numeral converter runs every integer from 1 to 3999 through both directions and requires each to come back unchanged. Unit conversions must return the original value after a there-and-back trip.
  • Relationships. Doubling a car's speed must quadruple its braking distance. A steeper roof must never need less material. A waste allowance must never reduce an order.
  • Rejections. Malformed input has to be refused, not quietly accepted: IIII is not a Roman numeral, a fence post cannot be wider than its hole, and a sample cannot decay to more than it started with.

Three mistakes it caught

The value of this is not theoretical. All three of these were caught by the build and never reached the site:

Planetary surface gravity. A table computed from mass and radius gave Jupiter 25.9 m/s², against the 24.79 every reference quotes. The assertion failed and the reason turned out to be real physics rather than a typo: the published figures use each planet's equatorialradius, and the gas giants are oblate enough for that to move the answer by nearly 5%.

A unit switch that changed the answer. The heat energy calculator fills its specific-heat field from a materials table rather than having you type it. Switching from metric to imperial left the metric figure in place, where it was then read as BTU per pound per °F — overstating the energy by a factor of about 4187. Round-trip testing in a browser found it.

An object that could not exist. A drag-coefficient entry labelled "smooth sphere" paired a baseball's mass with the frontal area of a ball twice the size. It is now an actual baseball, and an assertion checks that its implied density lands in a plausible range.

What this does not cover

Verification proves that a calculator implements the formula it claims to. It cannot prove the formula is the right one for your situation, and it says nothing about inputs. A correctly-implemented approximation is still an approximation: IPC-2221 trace currents are a conservative rule of thumb, not a thermal simulation; bag yields and paint coverage vary between manufacturers; bulk densities move with moisture content.

Reference data — material densities, battery capacities, isotope half-lives — is checked for internal consistency and against values that are widely published, but published sources themselves disagree in the last digit or two. Where a figure is typical rather than exact, the page says so.

If you find a mistake

Tell me and it gets fixed, usually within a day or two — and the fix includes a new assertion, so that particular error can never come back. That is the part that compounds: every correction makes the next one less likely. The contact page has the details, andabout explains who is behind the site.