FA-63342 / Actuarial life tables / Member archive
Life table survivors from mortality rates: Survivors are rounded from the cumulative product instead of step by step · case 02
Published l_x values drift from the stepwise-rounded table.
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 1 | [[95565, 94148, 92571, 90822, 88871, 86698, 84285, 81649, 0], [1417, 1577, 1749, 1951, 2173, 2413, 2636, 81649]] | [[95565, 94148, 92571, 90822, 88871, 86698, 84284, 81648, 0], [1417, 1577, 1749, 1951, 2173, 2414, 2636, 81648]] | 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 ↗