/*! * copyright (c) Able to Pay LLC 2015 * version 3 * November 29, 2015 */ // Source: https://www.socialsecurity.gov/OACT/STATS/table4c6.html // Female life expectancy, ages 0 to 119, from Social Security actuarial tables function longF( ageF ) { var femaleLE = [ 80.94,80.39,79.43,78.44,77.46,76.47,75.47,74.48,73.49,72.50, 71.50,70.51,69.52,68.52,67.53,66.54,65.56,64.57,63.59,62.61, 61.63,60.66,59.68,58.71,57.74,56.77,55.79,54.82,53.85,52.88, 51.92,50.95,49.98,49.02,48.06,47.10,46.14,45.18,44.23,43.27, 42.32,41.38,40.43,39.50,38.56,37.63,36.71,35.79,34.88,33.97, 33.07,32.18,31.29,30.40,29.52,28.65,27.77,26.91,26.04,25.19, 24.34,23.49,22.65,21.83,21.01,20.20,19.40,18.62,17.84,17.08, 16.33,15.59,14.87,14.16,13.46,12.77,12.11,11.46,10.83,10.21, 9.61, 9.03, 8.47, 7.93, 7.41, 6.91, 6.44, 5.99, 5.56, 5.17, 4.80, 4.45, 4.13, 3.84, 3.58, 3.34, 3.13, 2.94, 2.76, 2.60, 2.45, 2.31, 2.17, 2.03, 1.91, 1.79, 1.67, 1.56, 1.45, 1.35, 1.26, 1.17, 1.08, 1.00, 0.92, 0.84, 0.77, 0.71, 0.66, 0.60 ]; return femaleLE[ Number(ageF) ]; } // Male life expectancy, ages 0 to 119, from Social Security actuarial tables function longM( ageM ) { var maleLE = [ 76.10,75.62,74.65,73.67,72.69,71.70,70.71,69.72,68.73,67.74, 66.74,65.75,64.76,63.76,62.78,61.80,60.82,59.86,58.90,57.95, 57.00,56.06,55.13,54.20,53.27,52.34,51.41,50.48,49.55,48.62, 47.68,46.75,45.82,44.88,43.95,43.02,42.08,41.15,40.22,39.30, 38.37,37.45,36.53,35.62,34.72,33.82,32.93,32.05,31.17,30.31, 29.45,28.60,27.76,26.93,26.10,25.29,24.48,23.69,22.90,22.12, 21.34,20.57,19.81,19.05,18.30,17.57,16.84,16.13,15.43,14.75, 14.07,13.40,12.75,12.12,11.49,10.89,10.30, 9.72, 9.17, 8.63, 8.10, 7.60, 7.11, 6.65, 6.21, 5.78, 5.38, 5.00, 4.64, 4.30, 3.99, 3.70, 3.44, 3.20, 2.98, 2.79, 2.62, 2.47, 2.34, 2.22, 2.10, 1.99, 1.88, 1.78, 1.68, 1.59, 1.50, 1.41, 1.32, 1.24, 1.17, 1.09, 1.02, 0.95, 0.89, 0.83, 0.77, 0.71, 0.66, 0.60 ]; return maleLE[ Number(ageM) ]; } function getLong( age, gender ) { if ( gender == "Female" ) { return Number( longF( age ) ); } else if ( gender == "Male" ) { return Number( longM( age ) ); } else { return 0.5 * ( longF( age ) + longM( age ) ); }; } function longP6Rate( age, gender ) { return 1 / ( Number( getLong( age, gender ) ) + 6 ); }