Corrections log
Every time an audit finds a wrong number, a wrong label or a wrong source on a calculator, it is listed here. Each entry gives the date, what was wrong, what the calculator says now, and how the fix was checked. Newest entries come first.
For how formulas are tested before they ship, see our methodology. If you spot an error that is not listed, write to contact@thecalcuniverse.com.
October 2026
-
Arizona state tax used a standard deduction of $8,350 (single) and $16,700 (joint). The Arizona Department of Revenue publishes $15,750 and $31,500, and tells 2026 estimated-tax filers to use those amounts until the 2026 figures are out. The same state engine feeds the Salary Take-Home calculator.
- Was
- Arizona single, $80,000 of wages: $1,791.25 state tax
- Now
- $1,606.25 (2.5% x (80,000 - 15,750))
How it was checked. Arizona Department of Revenue 2026 Form 140ES booklet (https://azdor.gov/sites/default/files/document/FORMS_INDIVIDUAL_2026_140ESBooklet.pdf) and Individual Income Update, February 2026 (https://azdor.gov/sites/default/files/document/IND_Updates-2602.pdf), read 2026-10-22. Value checked with Python Decimal; pinned in test/calculators/finance/state-tax-util.test.ts.
-
Massachusetts state tax started its 4% surtax at the 2025 threshold of $1,083,150. For tax year 2026 the Department of Revenue lists $1,107,750. The same state engine feeds the Salary Take-Home calculator.
- Was
- Massachusetts, $1,200,000 of wages: $64,674.00 state tax
- Now
- $63,690.00 (5% x 1,200,000 + 4% x (1,200,000 - 1,107,750))
How it was checked. Massachusetts Department of Revenue Tax Rates page, updated December 30, 2025 (https://www.mass.gov/info-details/tax-rates), read 2026-10-22. Value checked with Python Decimal; pinned in test/calculators/finance/state-tax-util.test.ts.
-
Ohio state tax left out the fixed $332 that the statute adds once income passes $26,050 (the 2026 schedule is $332 plus 2.75% of the excess, with no tax at or below $26,050). Ohio income above the threshold was under-taxed by $332. The same state engine feeds the Salary Take-Home calculator.
- Was
- Ohio, $76,050 of wages: $1,375.00 state tax
- Now
- $1,707.00 ($332 + 2.75% x 50,000)
How it was checked. Ohio Revised Code section 5747.02(A)(3)(c), as amended by House Bill 96 (https://codes.ohio.gov/ohio-revised-code/section-5747.02; authenticated PDF dated 9-30-2025), read 2026-10-22. Value checked with Python Decimal; pinned in test/calculators/finance/state-tax-util.test.ts.
-
Georgia state tax used the 2025 flat rate of 5.19% and a $12,000 / $24,000 standard deduction. Georgia's 2026 law (HB 463) cut the rate to 4.99% and raised the standard deduction to $15,000 single / $30,000 joint, retroactive to January 1, 2026. The same state engine feeds the Salary Take-Home calculator.
- Was
- Georgia single, $75,000 of wages: $3,269.70 state tax
- Now
- $2,994.00 (4.99% x (75,000 - 15,000))
How it was checked. Georgia Department of Revenue 2026 Employer's Tax Guide, updated June 2026, section What's new for tax year 2026 (https://dor.georgia.gov/document/document/2026-employers-tax-guide-updated-june-2026/download), read 2026-10-22. Value checked with Python Decimal; pinned in test/calculators/finance/state-tax-util.test.ts.
-
California state tax used bracket thresholds from 2025 and a standard deduction of $5,540 / $11,080 (the 2024 amounts). The Franchise Tax Board's 2026 schedules start the 2% bracket at $11,456 (single) and $22,912 (joint) and the standard deduction is $5,900 / $11,800. The same state engine feeds the Salary Take-Home calculator.
- Was
- California single, $52,000 of wages: $1,322.49 state tax
- Now
- $1,251.08 (FTB 2026 Schedule X on taxable income 52,000 - 5,900)
How it was checked. Franchise Tax Board 2026 indexing announcement with the 2026 Schedules X and Y (https://www.ftb.ca.gov/about-ftb/newsroom/tax-news/index.html), read 2026-10-22; the FTB says the complete 2026 tables follow in late December. Value checked with Python Decimal using the FTB's printed base-plus-rate form; pinned in test/calculators/finance/state-tax-util.test.ts.
-
Dog and Cat Age Calculator
Half-way results were rounded down by floating-point noise: a 2.3-year-old dog is 24 + 0.3 × 5 = 25.5 human years, but the stored number was 25.499999999999996, so the page showed 25 instead of 26. The value is now rounded to 6 places before it is rounded to whole years.
- Was
- 2.3-year-old dog: 25 human years
- Now
- 26 human years (25.5 rounds up)
How it was checked. 25.5 checked by hand and with Python Decimal (ROUND_HALF_UP); pinned in test/calculators/health/explain-steps-h2.test.ts.
-
Resistor Calculator
The minimum and maximum values rounded the stored binary number instead of the decimal digits, so exact halves went the wrong way: a 4.7 kΩ resistor at ±5% showed 4.46 and 4.93 kΩ instead of 4.47 and 4.94 kΩ. Values now round half up.
- Was
- 4.7 kΩ ±5%: min 4.46 kΩ, max 4.93 kΩ
- Now
- min 4.47 kΩ, max 4.94 kΩ (exact limits 4.465 and 4.935)
How it was checked. Exact limits 4700 × 0.95 = 4465 Ω and 4700 × 1.05 = 4935 Ω checked by hand; pinned in test/calculators/math/resistor.test.ts and explain-steps-4.test.ts.
-
Extremely large or small coefficients could freeze the page or raise an error. The exact square-root routine started from a floating-point estimate and then stepped to the answer one integer at a time, which does not finish when the estimate is off by many digits. It now uses an exact integer Newton iteration.
- Was
- Coefficients near 1e-300 never finished; coefficients near 1e300 threw an error
- Now
- Both return promptly; x² − 1e80 gives the exact roots ±1e40
How it was checked. Expected values from Python math.isqrt; regression tests with time limits in test/calculators/math/quadratic-audit.test.ts.
-
California Mortgage Calculator
The default property-tax rate, its help text and both worked examples used the roughly 0.77% statewide average. A new California buyer is assessed at the purchase price, so the tax is the 1% Proposition 13 base rate plus local voter-approved levies, a little above 1%. The statewide average (about 0.7%) reflects long-time owners with low assessed values. The default is now 1.1%.
- Was
- $650,000 home: $417 a month ($5,005 a year) in property tax
- Now
- $650,000 home: $596 a month ($7,150 a year) at 1.1%
How it was checked. 1% base rate from Proposition 13; statewide average from Census ACS estimates as compiled at taxbycounty.com (0.714% for 2019-2023). Both worked examples recomputed with Python Decimal and pinned in test/calculators/finance/audit-batch-b.test.ts.
-
The page said the SBA 7(a) minimum debt service coverage ratio is 1.15. The SBA’s current rules (SOP 50 10 8.1) set different floors by loan type, so the page now states all three and says individual lenders can require more.
- Was
- SBA 7(a) minimum DSCR: 1.15
- Now
- SBA 7(a) floors: 1.10 small loans / 1.15 standard / 1.25 acquisitions
How it was checked. Read from SBA SOP 50 10 8.1 (sba.gov): 1.15 for most 7(a) loans, 1.10 for 7(a) Small Loans that are not changes of ownership, 1.25 for business acquisitions, owner buyouts and ESOPs. Text pinned in the audit tests in test/calculators/finance/audit-batch-a.test.ts.
-
The Section 179 limit was labelled only "2025" and cited to the revenue procedure without section numbers. It now says "tax year 2025", adds the 2026 limit, and cites the sections.
- Was
- Section 179 Limit (2025)
- Now
- Section 179 limit (tax year 2025) $2,500,000; (tax year 2026) $2,560,000, phase-out above $4,090,000
How it was checked. Rev. Proc. 2025-32 sections 2.10 and 3.02 give $2,500,000 and $4,000,000 for tax years beginning in 2025, and section 4.24 gives $2,560,000 and $4,090,000 for 2026.
-
The Toronto land transfer tax text did not say what applies above $3 million. It now lists the new higher rates, the date Council adopted them and when they take effect, and that they apply to one or two single-family residences only.
How it was checked. City of Toronto MLTT page: adopted 17 Dec 2025, effective 1 Apr 2026; 4.40%, 5.45%, 6.5%, 7.55% and 8.6% above $3M, $4M, $5M, $10M and $20M. A $5M Toronto purchase is pinned at total LTT $271,450 in the audit tests in test/calculators/finance/audit-batch-a.test.ts.
-
California Mortgage Calculator
Removed Texas and Florida property-tax rates and median prices from the diagram, and the Texas "1.4-1.8%" and "$9,000-$11,700" claims from the worked example and FAQ. None could be traced to a source. The diagram now explains how Proposition 13 works.
- Was
- CA 0.77%, TX 1.80%, FL 0.90%; TX $350K / FL $400K
- Now
- Prop 13: How It Works (1% cap, 2% per year, resets on sale)
How it was checked. No replacement figures were added; the page points to C.A.R. for the current median. Pinned in the audit tests in test/calculators/finance/audit-batch-b.test.ts.
-
In the "how long will it last" mode the final partial payment was treated as a fractional period, so the total was slightly off. It is now whole payments plus a final payment of the remaining balance with one period of interest.
- Was
- $300,000 at 4%, $20,000 a year: total $467,248
- Now
- Same case: 23 payments of $20,000 plus a final $7,339.17 = $467,339
How it was checked. Independent Python Decimal ledger; pinned in the audit tests in test/calculators/finance/audit-batch-a.test.ts.
-
With no assets entered, debt-to-asset showed 100.0%, although the ratio is undefined.
- Was
- Debt-to-asset 100.0%
- Now
- N/A (no assets)
How it was checked. Pinned in the audit tests in test/calculators/finance/net-worth.test.ts.
-
Pennsylvania taxes 401(k) deferrals, but the calculator subtracted them from state wages. A deferral at or above pay also produced negative net pay. Deferrals are now limited so net pay is never below zero, and the limitations text says the method is an annualised estimate, not IRS Pub 15-T per-period withholding.
- Was
- $80,000 in PA with a $10,000 deferral: PA tax $2,149 a year; net pay $55,161 a year
- Now
- PA tax $2,456 a year (3.07% of $80,000); net pay $54,854 a year
How it was checked. PA Department of Revenue Personal Income Tax Guide (Gross Compensation): IRC 401 plan contributions are not excludable. Only Pennsylvania was changed; other state schedules are not claimed to be verified. Pinned in the audit tests in test/calculators/finance/audit-batch-c.test.ts.
-
The verdict said "Yes - Refinance now" even when resetting to a longer term raised lifetime interest. It now shows lifetime interest and the interest over the next 20 years side by side, and says a lower payment is the only benefit when interest rises.
- Was
- $200,000 at 7% with 20 years left, to 6.5% over 30 years: "Yes - Refinance now"
- Now
- "Lower payment, but no lifetime interest saving"; lifetime interest $172,143 vs $255,089
How it was checked. Independent Python Decimal ledger; pinned in the audit tests in test/calculators/finance/audit-batch-c.test.ts.
-
Celsius input was converted and run through the imperial formula, which differs slightly from the official metric one, and the formula was applied outside the range Environment Canada uses. It now uses the metric formula directly and shows the air temperature, with a note, when the air is above 0 °C or the wind is under 5 km/h.
- Was
- -20 °C at 30 km/h: -32.5 °C
- Now
- -32.6 °C (other results shift by 0.02-0.05)
How it was checked. Range from the canada.ca wind chill page (0 °C or colder, wind 5 km/h or faster); its worked examples (-15/20, -20/30, -30/40) agree with the formula. Pinned in the audit tests (test/calculators/devtools/audit-batch-d.test.ts).
-
Body weight was required but never used. It now drives a fat-per-kilogram row. The help text now says only the 20-35% total-fat range (Institute of Medicine) is a published recommendation and the narrower goal ranges are planning ranges.
- Was
- Weight asked for but not used
- Now
- 70 kg, 2,200 kcal, maintain: 0.87-1.23 g/kg/day (target 1.04 g/kg)
How it was checked. Per-kilogram value checked independently (1 lb = 0.45359237 kg); pinned in the audit tests in test/calculators/health/audit-batch-h.test.ts.
-
The waist field asked for the narrowest part of the waist, but the WHO waist-to-hip thresholds assume the waist measured midway between the lowest rib and the top of the hip bone. The label, help text, steps and FAQ now follow the WHO protocol.
- Was
- Waist Circumference: "narrowest part of your natural waistline"
- Now
- Waist Circumference (midway between lowest rib and hip bone)
How it was checked. WHO 2008 Waist Circumference and Waist-Hip Ratio report, sections 2.5 and 5.2, read from the report. The arithmetic is unchanged. Pinned in the audit tests in test/calculators/health/audit-batch-h.test.ts.
-
The frame-size FAQ used wrist cut-offs, a thumb-and-finger test and an "elbow caliper is most accurate" claim that could not be sourced. It now uses the MedlinePlus frame-size chart by height and cites it.
- Was
- Wrist under 6.25 in (women) / 6.5 in (men) = small frame; thumb-and-finger test
- Now
- MedlinePlus chart by height
How it was checked. MedlinePlus frame-size chart. Pinned in the audit tests in test/calculators/health/audit-batch-h.test.ts.
-
The page called its ranges "evidence-based" in three places. The Morton 2018 figures are now quoted exactly, and the endurance range is described as a planning range chosen for this calculator.
- Was
- "evidence-based range"
- Now
- break point 1.62 g/kg/day, 95% CI 1.03 to 2.20; endurance 1.4-1.8 described as a planning range
How it was checked. Morton 2018 (PMC full text): break point 1.62 g/kg/day, 95% confidence interval 1.03 to 2.20. The ISSN 2017 range of 1.4-2.0 g/kg was verified. Pinned in the audit tests in test/calculators/health/audit-batch-h.test.ts.
-
Statements such as "guidelines cite 8-12 g/kg" now say these are planning ranges, because the 2016 position statement is paywalled and the figures could not be confirmed against it.
How it was checked. The page claims only what was verified. Pinned in the audit tests in test/calculators/health/audit-batch-h.test.ts.
-
The activity add-ons are now described as rules of thumb, and an unsupported "24+ oz" running example was removed.
How it was checked. The page claims only what was verified. Pinned in the audit tests in test/calculators/health/audit-batch-h.test.ts.
-
A revealed IE conditional comment was mangled. The sequence <!--[if !IE]><!--> started an ordinary comment that swallowed the content that followed and left an unclosed comment. The empty comments <!-->, <!---> and <!----> are also now removed correctly.
- Was
- <!--[if !IE]><!--><p>x</p><!--<![endif]--> became <!--[if !IE]>
- Now
- The input is returned unchanged
How it was checked. Hand-written inputs covering pre, textarea, script and style content, attribute quoting, CSS and JS strings; pinned in the audit test test/calculators/devtools/audit-batch-d.test.ts.
-
The limitations text said the minifier does not preserve textarea, code or script content, and the sizes were described as bytes. It preserves pre, textarea, script and style content (code and CSS white-space:pre areas are collapsed), and it counts characters.
- Was
- "does not preserve <textarea>, <code>, or <script>"; sizes in "bytes"
- Now
- pre, textarea, script and style are preserved; sizes in characters
How it was checked. The counts in the worked examples (241 to 185 and 247 to 155 characters) were hand-counted; pinned in the audit test test/calculators/devtools/audit-batch-d.test.ts.
-
The CMHC insurance premium for a 30-year amortization left out the 0.20% surcharge CMHC adds for amortizations longer than 25 years.
- Was
- 90% loan-to-value, 30-year amortization: 3.10% premium ($20,925), payment $3,818.60
- Now
- Same loan: 3.30% premium ($22,275), payment $3,826.01
How it was checked. Premium and payment recomputed independently with decimal arithmetic and pinned in the audit test test/calculators/finance/audit-batch-a.test.ts.
-
A bond priced at par was described as a discount bond ("Discount bond confirms higher effective yield"). The comparison now uses the bond’s discount, par or premium status.
- Was
- YTM 5.0000% vs coupon 5.0000%: "Discount bond confirms higher effective yield"
- Now
- "Equal — Bond trading at par value"
How it was checked. Pinned in the audit test test/calculators/finance/audit-batch-a.test.ts.
-
When years × payments per year was not a whole number, the last coupon was dropped from the yield but still counted in the totals. Periods are now rounded to whole coupons, and the method text says so.
- Was
- 2.5-year bond with annual coupons: YTM 6.2833%, total coupons $125
- Now
- Same bond: YTM 6.9018%, total coupons $150
How it was checked. Yield recomputed independently by solving the price equation; pinned in the audit test test/calculators/finance/audit-batch-a.test.ts.
-
With nothing saved, "Compounding Returns as % of Total Balance" showed "NaN%".
- Was
- NaN%
- Now
- 0.0%
How it was checked. Pinned in the audit test test/calculators/finance/audit-batch-a.test.ts.
-
The worked example quoted an inflation-adjusted payout that did not match what the calculator produces for the same inputs.
- Was
- $1,093.05 per month in today’s dollars
- Now
- $1,105.82 per month in today’s dollars
How it was checked. The example was recomputed from the annuity formula; pinned in the audit test test/calculators/finance/audit-batch-a.test.ts.
-
The how-to text gave a statewide average property-tax rate of about 1.6%, contradicting the 1.3% used elsewhere on the page.
- Was
- NY averages ~1.6%, 0.8% (NYC) to 2.5% (upstate)
- Now
- About 1.3% statewide, under 1% in NYC and over 2.4% in some upstate counties
How it was checked. Text now matches the calculator’s own assumption; STAR figures for 2026-27 checked against tax.ny.gov. Pinned in the audit test test/calculators/finance/audit-batch-a.test.ts.
-
California Mortgage Calculator
Removed out-of-date and unsourced market figures: a "~$750,000 (highest in the US)" median home price and a "~6.9% (April 2026)" rate. The page now points to C.A.R. and a current lender quote. The CalHFA MyHome limit now says 3.5% with an FHA first mortgage and 3% with a conventional one.
How it was checked. CalHFA program terms taken from the CalHFA MyHome page during the audit; calculator math pinned in the audit test test/calculators/finance/audit-batch-b.test.ts.
-
Loan Payment Calculator
A text said a payment of $495 to $545 pays the loan off from 60 months. A payment of exactly $495 takes 61 payments. The result also said "1 payments".
- Was
- "($495 to $545) … from 60 months"; "1 payments"
- Now
- "$495.03"; "1 payment"
How it was checked. The payoff length was recomputed month by month; pinned in the audit test test/calculators/finance/audit-batch-b.test.ts.
-
The formula text did not state the model’s assumptions. It now says: 30-year fixed loan, property tax held at the purchase-price level, deductions ignored, and the monthly cash-flow difference not invested.
How it was checked. Checked against an independent 30-year month-by-month ledger built from those assumptions; pinned in the audit test test/calculators/finance/audit-batch-b.test.ts.
-
A monthly contribution typed on the "With Contributions" tab stayed in the answer after switching back to "Standard", because the hidden field was not cleared.
- Was
- $10,000 at 7% for 20 years with $500/month left in the hidden field: far more than the standard result
- Now
- $40,387.39
How it was checked. Closed-form compounding; pinned in the audit test test/calculators/finance/audit-batch-b.test.ts.
-
An all-cash purchase showed a debt service coverage ratio of "0.00x" in red. With no loan the ratio is undefined.
- Was
- 0.00x (red)
- Now
- N/A (no loan)
How it was checked. Four independent hand-built property cases; pinned in the audit test test/calculators/finance/audit-batch-c.test.ts.
-
Rent vs. Buy Calculator (real estate)
"Total Monthly Buy Cost" left out private mortgage insurance, which the model charges when the down payment is under 20%.
- Was
- 10% down on $400,000 at 6.8%: $3,414 per month
- Now
- $3,624 per month
How it was checked. Month-by-month loan and PMI simulation; pinned in the audit test test/calculators/finance/audit-batch-c.test.ts.
-
Rent vs. Buy Calculator (real estate)
The break-even text said "Buy if staying > 23 years", but year 23 itself already favours buying. A how-to line also claimed buying wins over horizons of 7+ years, which the calculator’s own defaults contradict (break-even at year 23).
- Was
- Buy if staying > 23 years
- Now
- Buy if staying 23 years or more
How it was checked. Pinned in the audit test test/calculators/finance/audit-batch-c.test.ts.
-
Rent vs. Buy Calculator (real estate)
A negative net cost printed with the minus sign after the dollar sign.
- Was
- $-214,409
- Now
- -$214,409
How it was checked. Pinned in the audit test test/calculators/finance/audit-batch-c.test.ts.
-
A capital loss printed with the minus sign after the dollar sign. The 2026 thresholds were checked against Rev. Proc. 2025-32.
- Was
- $-5,000
- Now
- -$5,000
How it was checked. Stacked-bracket arithmetic recomputed independently; pinned in the audit test test/calculators/finance/audit-batch-c.test.ts.
-
The monthly savings figures had no thousands separator.
- Was
- $1593.45
- Now
- $1,593.45
How it was checked. Future-value formulas recomputed independently; pinned in the audit test test/calculators/finance/audit-batch-c.test.ts.
-
In undiscounted mode, total cash ÷ investment was labelled "Profitability Index", a term for the discounted ratio. It is now "Return Multiple".
- Was
- Profitability Index
- Now
- Return Multiple (undiscounted cash ÷ investment)
How it was checked. Year-by-year loop recomputed independently; pinned in the audit test test/calculators/finance/audit-batch-c.test.ts.
-
The formula line used annual notation while the code compounds monthly at (r − expense ratio) ÷ 12. The numbers were right; the formula text now describes them.
How it was checked. Pinned in the audit test test/calculators/finance/audit-batch-c.test.ts.
-
"Calories from Fat" rounded the midpoint percentage to a whole number.
- Was
- Weight loss 23%; heart health 28%
- Now
- Weight loss 22.5%; heart health 27.5%
How it was checked. Pinned in the audit test test/calculators/health/audit-batch-h.test.ts.
-
The text said the body "uses only about X g per meal" for muscle building, which overstated a limit, and attributed a 1.6–2.2 g/kg range to the ISSN. It now says about 0.4 g/kg per meal is enough to maximally stimulate muscle protein synthesis (extra protein still counts toward the day), and cites the ISSN 2017 range of 1.4–2.0 g/kg and Morton 2018.
How it was checked. Arithmetic checked independently and pinned in the audit test test/calculators/health/audit-batch-h.test.ts. The upper end of the Morton confidence interval could not be confirmed from the full text.
-
A "common uses" line suggested managing kidney disease through protein restriction. The calculator never restricts protein, so the line now frames the splits as a starting point to discuss with a dietitian.
How it was checked. Mifflin-St Jeor, Katch-McArdle and 4/4/9 splits recomputed independently; pinned in the audit test test/calculators/health/audit-batch-h.test.ts.
-
The text said all-cause mortality is lowest at BMI 18.5–24.9 and called waist-to-height ratio "a superior metric". It now describes 18.5–24.9 as the WHO/CDC normal-weight category, notes that the mortality evidence is debated, and calls the ratio a useful complement. The frame-size factor is disclosed as the calculator’s own convention.
How it was checked. BMI range, Devine and ratio bands recomputed independently; pinned in the audit test test/calculators/health/audit-batch-h.test.ts.
-
The FAQ answered "No" to whether pregnancy can happen outside the fertile window. It now says the dates are calendar estimates, ovulation can shift by days, and the tool is not contraception.
How it was checked. Dates recomputed from LMP + 280 days; pinned in the audit test test/calculators/health/audit-batch-h.test.ts.
-
The source note implied every g/kg range came from the 2016 Academy of Nutrition and Dietetics, Dietitians of Canada and ACSM position statement. It now says the statement sets targets by training volume and the ranges used here are conventional goal ranges.
How it was checked. Arithmetic recomputed independently; pinned in the audit test test/calculators/health/audit-batch-h.test.ts.
-
Dollar amounts of $1,000 or more were shown without thousands separators.
- Was
- $5129.13 monthly payment, $57747.97 total interest
- Now
- $5,129.13 monthly payment, $57,747.97 total interest
How it was checked. The calculator’s test now asserts the formatted output, and the full unit suite passes.
-
Dollar amounts of $1,000 or more were shown without thousands separators.
How it was checked. The money formatter was changed to group digits, and the full unit suite passes.
-
The countdown said “1 days to go” instead of “1 day to go”. It also repeated the same count in a second line, which went negative once the due date had passed. The repeat was removed.
- Was
- 1 days to go
- Now
- 1 day to go
How it was checked. Singular and plural are now handled by one helper, and the full unit suite passes. Independent values for 21 health calculators are pinned in an audit test.
-
The explanation called 37 to 42 weeks “full term”. A baby is considered term from 37 to 42 weeks, and “full term” is 39 weeks to 40 weeks 6 days. The wording now says so.
- Was
- Full term is anywhere from 37 to 42 weeks.
- Now
- A baby is considered term anywhere from 37 to 42 weeks (39 to 40 weeks 6 days is “full term”).
How it was checked. The corrected wording is in the calculator text, and the full unit suite passes.
-
The mid-parental (Tanner) formula added 13 inches instead of 13 centimetres, so every prediction came out about 4 inches too tall. The likely-range text was also wrong. It now uses ±8.5 cm, about 95%.
- Was
- Mother 5′4″, father 5′10″: son predicted at 6′1.5″
- Now
- Same parents: son 5′9.6″ (176.7 cm), daughter 5′4.4″ (163.7 cm)
How it was checked. The formula is (mother + father ± 13 cm) ÷ 2. Expected values in the audit test were derived independently of the code.
-
The cm/360 figure used the Counter-Strike yaw value for every game, and Overwatch and Rainbow Six had a conversion multiplier of 1. Every game now uses its own yaw, so cross-game conversions keep the same physical mouse distance.
- Was
- Valorant at sensitivity 0.35: 148 cm per 360°
- Now
- Valorant at sensitivity 0.35: 46.7 cm (18.4 in) per 360°
How it was checked. The audit test checks the yaw values (0.022 CS, 0.07 Valorant, 0.0066 Overwatch, 0.00573 Rainbow Six). It also checks that converting to another game and back returns the original sensitivity.
-
On a hip roof the ridge cap length used the full building length. A hip roof has a short ridge plus four hips, which is much more material.
- Was
- Hip roof, 42 × 32 ft building: 42 ft of ridge cap
- Now
- Hip roof, 42 × 32 ft building: 106 ft (10 ft ridge + four 24 ft hips)
How it was checked. Hand calculation: each hip is √(16² + 16² + 8²) = 24 ft. A regression test pins 106.
-
The entropy figure was computed as length × log₂(character set size), which overstates it. The generator is now uniform over valid passwords, so the entropy shown is the exact log₂ of the number of possible passwords. The random-integer routine also accepted one value too many, which slightly biased the output.
- Was
- Length 4: 25.9 bits
- Now
- Length 4: 22.1 bits
How it was checked. Entropy is checked in the audit test against an independent count of valid passwords.
-
A transfer time just under two minutes was printed with an impossible seconds value.
- Was
- 119.6 seconds shown as “1m 60s”
- Now
- 119.6 seconds shown as “2m 0s”
How it was checked. A regression test pins the formatter output.
-
A leftover default molar mass (58.44, sodium chloride) overrode whatever compound was typed, so every compound was calculated as if it were NaCl. The compound field now sets the molar mass.
- Was
- H₂SO₄ was calculated with a molar mass of 58.44 g/mol
- Now
- H₂SO₄ uses 98.0800 g/mol; 9.808 g in 1 L gives 0.1000 M
How it was checked. The audit test checks the molar mass used and the resulting molarity, with expected values worked out by hand.
-
The calculator still applied the 0.96 multiplier from the pre-2020 USGA system. It now follows the World Handicap System (Rules 5.1, 5.2 and 6.1). That means no 0.96 factor, a three-score minimum with the WHS adjustments for 3, 4 and 6 scores, an optional Playing Conditions Calculation, and plus-handicap formatting. The explanatory text was corrected to match.
- Was
- Index = Avg(Lowest 8 of 20) × 0.96
- Now
- Index = average of the best differentials, rounded to one decimal, with no 0.96 factor
How it was checked. WHS arithmetic now lives in its own module with its own tests. Every fix has a regression test with independently derived values.
-
Slope used floating-point arithmetic, so simple decimal inputs gave results like 0.9999999999999998. Horizontal lines produced malformed equations, identical points produced a “vertical line”, and radians mode still showed 90°. It now uses exact rational arithmetic.
- Was
- Horizontal line through (0, 3) and (4, 3): “y = + 3”
- Now
- Horizontal line through (0, 3) and (4, 3): “y = 3”. Points (0.1, 0.2) and (0.4, 0.5) give a slope of exactly 1.
How it was checked. Expected values were derived independently with exact fraction arithmetic in Python and pinned in an audit test.
-
The radian display matched any angle within about 0.18° of a common fraction, so 30.1° was shown as π/6. Radians are now exact π-fractions only for whole-degree angles, and angles are reduced exactly.
- Was
- 30.1° displayed as π/6
- Now
- 30.1° displayed as 0.5253 rad
How it was checked. A regression test covers this case alongside exact values for special angles.
-
The expression parser bound a leading minus sign tighter than the exponent, so -2^2 was read as (-2)². The true minus sign on the keypad (U+2212) was rejected, so keypad subtraction failed. Factorials such as 1000000000! could hang the page. These were fixed in the shared evaluator.
- Was
- -2^2 returned 4
- Now
- -2^2 returns -4; 2^3^2 returns 512; 9 − 4 returns 5
How it was checked. The audit test checks precedence against Python (for example -2**2 == -4), plus factorial limits and degree-mode trig values.
-
Factorials were computed with floating-point numbers, so digits beyond the 15th or so were wrong. The calculator now uses exact integers and accepts values up to 1000!.
- Was
- 25! shown as 15,511,210,043,330,986,000,000,000
- Now
- 25! shown as 15,511,210,043,330,985,984,000,000
How it was checked. The audit test pins exact values (25!, all 307 digits of 170!, the 2,568 digits of 1000!). The Fibonacci calculator got the same fix: F(100) was printed as 354224848179262000000 and is now 354224848179261915075.
-
The text you typed was sent to a third-party image service (api.qrserver.com) to draw the QR code. That contradicted our claim that calculations stay in your browser. The QR code is now generated locally with no network request.
How it was checked. The new encoder (versions 1 to 40, error-correction levels L, M, Q and H) is tested against an independent decoder.
-
Site-wide
A sweep of all 343 calculators with blank, zero, minimum and maximum inputs found that very large typed or linked values could freeze the browser tab, and that 15 calculators could show NaN or Infinity. The form now shows a range message outside each field’s declared limits, and the 15 calculators were fixed individually.
How it was checked. Each of the 15 calculators has a regression test.
-
The years, months and days breakdown could show a negative number of days when the birth day was later than the length of the previous month (for example 31 January measured to 1 March). Total days were also off by one across daylight-saving changes.
How it was checked. A regression test covers the month-end case, and total days are now counted in UTC.
-
The annual mortgage insurance premium used the 30-year rate for 15-year loans. It now follows the full HUD Mortgagee Letter 2023-05 schedule, which depends on loan term, loan amount against the conforming limit, and loan-to-value. A related earlier fix (2026-09-27) corrected the 0.55% rate tier to apply only below 5% down.
- Was
- 15-year loans charged 0.50% to 0.55% a year
- Now
- 15-year loans charged 0.15% to 0.40% a year (higher above the conforming limit)
How it was checked. Rates were checked against HUD ML 2023-05, and each tier has a regression test.
September 2026
-
The shared tax data file was labelled 2026 but held 2025 figures: brackets, standard deductions, Social Security wage base and IRA limits. Several calculators import this file, so all of them were affected. The 2026 values were checked against IRS and SSA publications.
- Was
- Single 10% bracket ended at $11,925; Social Security wage base $176,100
- Now
- Single 10% bracket ends at $12,400; Social Security wage base $184,500
How it was checked. Figures were compared with IRS.gov and the SSA announcement. The worked examples, FAQs and tests were recomputed.
-
Self-Employment Tax Calculator
The Social Security wage base was the 2025 figure but was labelled as 2026, which understated the tax for high earners. The constant and every text reference were updated and the worked example recomputed.
- Was
- Wage base $176,100; worked example SECA tax $21,077.07
- Now
- Wage base $184,500; worked example SECA tax $22,118.67 (effective rate 12.29%)
How it was checked. Wage base checked against the SSA announcement. The tests were updated to the recomputed values.
-
The calculator used the earlier federal exemption of $13.99 million per person. The 2026 exemption is $15 million per individual ($30 million for a married couple). The constant and about ten places in the text were updated.
- Was
- $13.99M exemption
- Now
- $15M exemption
How it was checked. Checked against published coverage of the 2025 law. Four existing tests that hardcoded the old amounts were updated, and two regression tests were added.
-
A worked example understated the extra cost of interest capitalization by about 40%.
- Was
- additional $258 in interest
- Now
- additional $416 in interest
How it was checked. Total interest with and without capitalization was compared, which gives $416.43.
-
The text said $25 extra a month on a $25,000 loan at 7% over 5 years saves over $1,000 in interest. The calculator’s own extra-payment loop gives about $60.
- Was
- saves over $1,000 in interest
- Now
- saves about $60 in interest and shaves 3 months off the term
How it was checked. Re-simulated with the calculator’s own extra-payment loop, which gives $60.09.
-
The chicken-breast equivalent divided the daily protein target by 31 g instead of 26 g per 3 oz serving, which understated the servings needed. The salmon figure was also labelled in ounces when it counted servings.
- Was
- chicken breasts = target ÷ 31
- Now
- chicken breasts (3 oz) = target ÷ 26
How it was checked. The 26 g per 3 oz figure matches USDA data and the file’s own comment. A regression test was added.
-
In custom-project mode your own gauge was applied twice, so a non-standard gauge badly undercounted the yardage.
- Was
- Custom 50 × 60 in, 10 stitches per 4 in: 120 yards
- Now
- Same inputs: 480 yards
How it was checked. The area formula gives (50 × 60) ÷ (2.5 × 3) × 1.2 = 480. This matches the page’s own worked example and is pinned in a regression test.
-
The CSS minifier deleted all whitespace instead of collapsing it. That corrupted values and changed selectors.
- Was
- box-shadow: 0 2px 4px rgba(…) became “02px4pxrgba(…)”; “.header .logo” became “.header.logo”
- Now
- .header{box-shadow:0 2px 4px rgba(0,0,0,0.1)} and .header .logo{width:120px}
How it was checked. Two regression tests pin the exact minified output.
-
The normal distribution function skipped the division by √2 required by the Abramowitz and Stegun erf approximation, so the probability was wrong for every z other than 0.
- Was
- Φ(1.96) = 0.9972
- Now
- Φ(1.96) = 0.975
How it was checked. The textbook anchor value Φ(1.96) = 0.975 was derived by hand (0.975018) and is pinned in a regression test.
-
Mortgage Amortization Calculator
The payoff date was always shown one month too late, because the first payment falls in the start month, not one month after it.
- Was
- One payment starting March 2024: payoff shown as Apr 2024
- Now
- Payoff shown as Mar 2024
How it was checked. Hand simulation: a 30-year loan starting January 2024 ends in December 2053, not January 2054. A regression test pins the one-payment case.
-
The Rockwell C and Rockwell B to Vickers conversions used polynomials that did not match the published tables, giving results about 3 to 10 times too high. They were replaced with interpolation over the ASTM E140 table.
- Was
- HRC 50 converted to HV 1537.5; HRC 60 to HV 1939.1
- Now
- HRC 50 converts to HV 513; HRC 60 to HV 697
How it was checked. Values were checked against the ASTM E140 conversion table and an independent source. Regression tests pin them.