FA-63448 / Actuarial life tables / Member archive
Commutation-function life annuities: Temporary annuities stop one payment early · case 03
An n-year annuity-due makes n-1 payments.
Case contract
Input l by age from 0, i (per mille), age, n (None = whole life). v=1/(1+i); D_k = v^k l_k (zero beyond the table); N_k = sum of D from k. end = table length for whole life else min(length, age+n). Annuity-due = (N_age - N_end)/D_age; immediate = (N_{age+1} - N_{end+1})/D_age. Missing or extinct age -> 'invalid age'. Return both rounded to 6.
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 |
|---|---|---|---|
| temporary annuity 0 | [1.0, 0.962112] | [1.962112, 1.886656] | 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 ↗