FN-ROUNDUP-003: At tiny magnitudes ROUNDUP may add no unit, and the two signs differ
Excel differs from the mathematical answer · measured · recorded 2026-11-04
ROUNDUP adds no unit when the unit itself is below the normal range, whichever the sign. For a positive number it also adds none when the 15-digit reading, as binary64, lies less than 2^-1026 above the truncation; negative numbers have no such distance. So ROUNDUP(1.0001086461844975E-307,307) is 1E-307 and ROUNDUP(-1.0001086461844975E-307,307) is -2E-307, with the same digits dropped. At -1.2225E-307 and 308 places the unit, 1E-308, is subnormal, and the answer stays at -1.2E-307.
| Call and input route | Inputs | Excel | Correct value | Recorded in |
|---|---|---|---|---|
ROUNDUP(1.0001086461844975e-307, 307)cell-value2 | number: 1.0001086461844975e-3070x0031fa982c40c60enum_digits: 3070x4073300000000000 | 1e-3070x0031fa182c40c60d | 2e-3070x0041fa182c40c60d | Excel 16.0 build 20430, Windows 64-bit, CPU not recorded in this capture |
ROUNDUP(-1.2225073858507202e-307, 308)cell-value2 | number: -1.2225073858507202e-3070x8035fa182c40c60enum_digits: 3080x4073400000000000 | -1.2e-3070x80359283684dba77 | -1.3e-3070x80375eb9065434ab | Excel 16.0 build 20430, Windows 64-bit, CPU not recorded in this capture |
ROUNDUP(1.0000000022250739e-300, 307)cell-value2 | number: 1.0000000022250739e-3000x01a56e1fc3c5c026num_digits: 3070x4073300000000000 | 1.0000001000000001e-3000x01a56e1fe6ed23b2 | — | Excel 16.0 build 20430, Windows 64-bit, CPU not recorded in this capture |
Correct value: The number has a nonzero digit past 307 places, so rounding away from zero at 307 places gives 2E-307; nearest binary64.
Correct value: The number has a nonzero digit past 308 places, so rounding away from zero at 308 places gives -1.3E-307; nearest binary64.
Basis: ROUNDUP rows match under these rules as counted in FN-ROUND-001. In the 1,148 recorded rows nearest the 2^-1026 boundary this quantity has 1 violation, itself an artefact of how the row was classified; the exact value, the reading and x minus the truncation give 54 to 547. The opposite-sign pair is a reading from Excel build 20527.
Open: 14 ROUNDUP rows of tiny magnitude stay unmatched, in the near-tie class of FN-ROUND-002.
Evidence and capture sources
- ExcelFunctionsHandbook · content/notes/evidence/2026-11-04/rounding-EVIDENCE.md b5d84a80a5a4640eca9ce04f232c0bc115503f34 · research write-up: full-bank result, the rules, what stays open
- DnaCalc · crates/calc-func/src/catalogue/rounding.rs ab94fb91a50fbdf89bdb2dac0e12fcd77a5e5f82 · the rules in the product; the commit message carries the row counts
- DnaCalc · crates/calc-func/tests/f1_math.rs ab94fb91a50fbdf89bdb2dac0e12fcd77a5e5f82 · rounding_family_matches_recorded_bank_rows three rows of Excel's answers; failed before the change
- DnaCalc · crates/calc-func/tests/f1_math.rs ab94fb91a50fbdf89bdb2dac0e12fcd77a5e5f82 · rounding_family_matches_recorded_bank_rows
- DnaCalc · crates/calc-func/tests/f1_math.rs ab94fb91a50fbdf89bdb2dac0e12fcd77a5e5f82 · rounding_family_matches_recorded_bank_rows
- DnaCalc · crates/calc-func/tests/f1_math.rs ab94fb91a50fbdf89bdb2dac0e12fcd77a5e5f82 · rounding_family_matches_recorded_bank_rows