FAILURE MAP
← Case archive

FA-63727 / Actuarial life tables / Member archive

Double-decrement death and lapse table: Year-end lapses are applied to the starting count · case 02

Lapses are counted on lives who died during the year.

Member previewVariant 2 · 3 implementations · 9 checks per implementation

Case contract

Input qd, qw (associated single-decrement rates per 100000, equal lengths else 'length mismatch'), timing udd|eoy, radix. UDD in each decrement: q(d)=q'd(1-q'w/2), q(w)=q'w(1-q'd/2). eoy (lapses at year end): q(d)=q'd, q(w)=(1-q'd)q'w. Each year counts are rounded half-up and subtracted from l. Return [[deaths, lapses] per year, final l].

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 fixture

This sample comes from the broken implementation of a controlled reproducer.

Boundary fixtureActualExpectedOutcome
eoy decrement table 2[[[173, 658], [214, 2037], [234, 429], [291, 1562], [316, 1213], [342, 1099]], 5971][[[173, 650], [215, 2006], [235, 422], [292, 1526], [319, 1181], [347, 1063]], 6110]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 ↗