FN-MROUND-001: MROUND counts a quotient within 5E-15 below a half up
Excel differs from the mathematical answer · measured · recorded 2026-11-04
MROUND(n,m) forms q = n/m on the x87 unit and stores it to binary64, counts floor(q), adds 1 when 0.5 - frac(q) <= 5E-15, and returns count*m from the x87 unit. A number just below a half therefore rounds up though it is nearer the lower multiple: 0.499999999999995 with multiple 1 gives 1, and the next binary64 below it gives 0. MROUND(6.05,0.1) stays 6, because its quotient 60.49999999999999 lies 7.1E-15 below the half.
Documentation: MROUND rounds up, away from zero, if the remainder of dividing number by multiple is greater than or equal to half the value of multiple. Source documentation
| Call and input route | Inputs | Excel | Correct value | Recorded in |
|---|---|---|---|---|
MROUND(0.499999999999995, 1)cell-value2 | number: 0.4999999999999950x3fdfffffffffffa6multiple: 10x3ff0000000000000 | 10x3ff0000000000000 | 00x0000000000000000 | Excel 16.0 build 20430, Windows 64-bit, CPU not recorded in this capture |
MROUND(0.49999999999999495, 1)cell-value2 | number: 0.499999999999994950x3fdfffffffffffa5multiple: 10x3ff0000000000000 | 00x0000000000000000 | — | Excel 16.0 build 20430, Windows 64-bit, CPU not recorded in this capture |
MROUND(0.49999999999999994, 1)cell-value2 | number: 0.499999999999999940x3fdfffffffffffffmultiple: 10x3ff0000000000000 | 10x3ff0000000000000 | 00x0000000000000000 | Excel 16.0 build 20430, Windows 64-bit, CPU not recorded in this capture |
Correct value: The number is nearer to 0 than to 1.
Correct value: The number is nearer to 0 than to 1.
Basis: All 50,782 recorded MROUND rows match this rule. The cut-off lies between the adjacent binary64 values 4.996E-15 (rounded up) and 5.0515E-15 (rounded down) from 0.5, measured at floor(q) = 0 over 4,264 rows.
Inferred: The window is measured between two neighbouring values; that the constant is the decimal 5E-15 is inferred, as the decimal in that window.
Evidence and capture sources
- DnaCalc · crates/calc-func/tests/f1_math.rs 77873410e3b5b659e3ab1c808a7926dd9f36c5ea · rounding_family_matches_recorded_bank_rows ROUND family rules in the product; failed before the change
- ExcelFunctionsHandbook · content/notes/evidence/2026-11-04/rounding-EVIDENCE.md b5d84a80a5a4640eca9ce04f232c0bc115503f34 · research write-up: full-bank result, the rules, what stays open
- CalcFunc-Evidence · runs/w111-mround-fraction-cutoff-20260929/answers-mround.json.gz 4d5320dfdc385354469b4d506153357bb932ab08 · mround-fraction-cutoff-00181
- CalcFunc-Evidence · runs/w111-mround-fraction-cutoff-20260929/answers-mround.json.gz 4d5320dfdc385354469b4d506153357bb932ab08 · mround-fraction-cutoff-00183
- CalcFunc-Evidence · runs/w111-mround-fraction-cutoff-20260929/answers-mround.json.gz 4d5320dfdc385354469b4d506153357bb932ab08 · mround-fraction-cutoff-00003