FA-63603 / Actuarial life tables / Member archive
Central death rate to mortality rate conversion: A rate of exactly one is rejected · case 03
A group where everyone dies returns an error.
Case contract
Input deaths, exposure [num, den] central person-years, method udd|cfm|actuarial. m = deaths/exposure. UDD q=m/(1+m/2); constant force q=1-exp(-m); actuarial q=deaths/(exposure+deaths). exposure<=0 or deaths<0 -> 'invalid'; q>1 -> 'rate exceeds unity'; other method -> 'unknown method'. Return [m, q] rounded to 8.
Why this case matters
Life-table arithmetic compounds across ages, so one misplaced index or assumption shifts every downstream value.
One recorded failure
Sample boundary fixtureThis sample comes from the broken implementation of a controlled reproducer.
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| udd rate exactly one | "rate exceeds unity" | [2.0, 1.0] | Failed |
MEMBER ARCHIVE
The complete case is available to members.
This record includes three runnable implementations, regression fixtures, execution results, and source hashes.
Member access is invitation-based. Sign in with your invited account to inspect the sources.
Sign in to the archive ↗