FA-63349 / Actuarial life tables / Member archive
Life table survivors from mortality rates: The terminal rate of one is rejected · case 04
Every properly closed table is reported as invalid.
Case contract
Input q (per 100000, last must be 100000 else 'open table'; any outside [0,100000] -> 'invalid q') and radix (<=0 -> 'invalid radix'). l_0 = radix; l_{k+1} = l_k*(1-q_k) rounded half-up at every age; d_k = l_k - l_{k+1}. Return [l, d].
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 |
|---|---|---|---|
| closed table 0 | "invalid q" | [[15185, 14930, 14648, 14331, 13977, 13587, 13160, 12694, 12190, 0], [255, 282, 317, 354, 390, 427, 466, 504, 12190]] | 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 ↗