FA-63343 / Actuarial life tables / Member archive
Life table survivors from mortality rates: Survivors are rounded from the cumulative product instead of step by step · case 03
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 0 | [[30585, 30327, 30028, 29686, 29301, 28866, 28375, 27826, 27215, 0], [258, 299, 342, 385, 435, 491, 549, 611, 27215]] | [[30585, 30327, 30028, 29686, 29301, 28866, 28376, 27826, 27215, 0], [258, 299, 342, 385, 435, 490, 550, 611, 27215]] | 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 ↗