Methodology
Last updated October 3, 2026
What happens between pressing “Solve” and seeing an answer, where rounding occurs, and what we test.
The expression engine
The scientific calculator uses a small hand-written parser, not eval(). It reads your input into an expression tree that respects the standard order of operations, then evaluates that tree to produce the answer.
The step-by-step view reduces the same tree one operation at a time. The rule for choosing the next operation is: deepest brackets first; then exponents, roots, functions, factorials and percent; then multiplication and division from left to right; then addition and subtraction from left to right. Every line shown is a real intermediate state, and the last line always equals the answer.
- Unary minus is applied after exponents, so −2² is −4. Write (−2)² for 4.
- Implicit multiplication such as 2π or 3(4 + 1) is treated as multiplication.
- Angles in sin, cos, tan and their inverses use degrees or radians according to the toggle. Steps state the unit.
Fractions and exact arithmetic
Fraction tools work with whole-number numerators and denominators and reduce with the greatest common factor, found by Euclid’s algorithm. Decimals typed into a fraction tool are converted to exact fractions first (0.75 becomes 75/100). A decimal is only produced at the end, as a labelled display value.
Rounding and precision
- The scientific calculator uses standard double-precision floating point and cleans results to 12 significant digits to hide noise such as 0.1 + 0.2. Intermediate steps are shown to 10 significant digits.
- Other tools show up to six decimal places unless stated otherwise. Very large or very small values switch to scientific notation.
- Factorials are limited to whole numbers from 0 to 170; beyond that the result exceeds what a standard floating-point number can hold.
Limits
- Prime factorization accepts whole numbers up to one trillion; LCM/GCF accepts up to one billion per number.
- The statistics calculator accepts up to 500 values and lists the first ten squared deviations to keep the working readable; totals use every value.
- Permutation and combination counts use exact whole-number (BigInt) arithmetic for n up to 500, so large results are not rounded.
- Geometry tools use π at full floating-point precision; the six-decimal π in the working is display only. Triangle input must satisfy the triangle inequality.
- Probability formulas for “both” and “either” assume the two events are independent, and say so in the first step.
- The graphing calculator samples 600 points across your x-range, uses radians for trig, breaks the line at undefined points, and finds roots by sign change plus bisection (about six decimals). It can miss a root where the curve touches zero without crossing, such as x².
- Unit converters use exact definitions for the inch, mile, pound and US volume units; temperature is converted through Celsius.
- Rounding to decimal places or significant figures is done on the decimal digits themselves (half away from zero), not on the binary floating-point value, so 1.005 rounds to 1.01.
- Health calculators such as BMI use the standard WHO adult ranges and are screening tools, not diagnoses.
- Fraction inputs are limited to magnitudes under ten million so that intermediate products stay exact.
How we test
Every calculator is covered by an automated test suite. Expected values are written independently of the code under test — for example, standard deviation is cross-checked with a separate formula, and the expression trace is checked to end on the same value the evaluator returns. Worked examples on guide and calculator pages are generated by the live calculator functions at build time, so a published example cannot drift from the real output.
Known edge cases
- Division by zero, negative factorials and invalid input produce a message, not a number.
- Percent change from an old value of zero is undefined and is reported as such.
- A negative discriminant gives complex roots in a ± bi form; no graph is drawn yet.
Found a mistake?
Tell us at the address on the contact page with the input you used. Corrections are described in the editorial policy.