Accurate TVM for HP42S - Printable Version +- HP Forums (https://archived.hpcalc.org/museumforum) +-- Forum: HP Museum Forums (https://archived.hpcalc.org/museumforum/forum-1.html) +--- Forum: Old HP Forum Archives (https://archived.hpcalc.org/museumforum/forum-2.html) +--- Thread: Accurate TVM for HP42S (/thread-68077.html) Accurate TVM for HP42S - Tommi - 01-23-2005 An accurate TVM equation written as a program for the HP42S Solver. ```n number of periods i interest rate PMT periodic payment PV present value FV future value B/E BEGIN/END``` ```Solve equation: PMT*(i1-1)*(1/i+p)+PV*i1+FV=0 where (i1-1) = e1^(n*ln1(i)) and i1 = e^(n*ln1(i)) and ln1(x) = ln(1+x) and e1(x) = e^x-1 p=0 for END, p=1 for BEGIN``` The use of ln1+x and e^x-1 prevents the loss of significant digits for small values of i. Consider these extreme examples for accuracy checking: Example 1: ```n=63 i=0.00000161 PV=0 PMT=-1,000,000 END Mode (set B/E=0 in Solver)``` Solving for FV: HP 42S: 63,000,031.4434 (correct is 63,000,031.4433) Example 2: ```n=31536000 i=10/n PV=0 PMT=-0.01 END Mode``` Solving for FV: HP 42S: 331,667.006689 (correct is 331,667.006691) You might compare these results using the "normal" TVM equation, found in many manuals ;) E.g. using the TVM equation in the 42S manual, we get 62,921,744.4422 and 311,565.594018 respectively. The program: ```00 {91-Byte Prgm } 01 LBL "TVM" 02 MVAR "N" 03 MVAR "I%" 04 MVAR "PV" 05 MVAR "PMT" 06 MVAR "FV" 07 MVAR "B/E" 08 RCL "I%" 09 100 10 / 11 LN1+X 12 RCL* "N" 13 E^X-1 14 RCL* "PMT" 15 RCL "I%" 16 100 17 / 18 1/X 19 RCL+ "B/E" 20 * 21 RCL "PV" 22 RCL "I%" 23 100 24 / 25 LN1+X 26 RCL* "N" 27 E^X 28 * 29 + 30 RCL+ "FV" 31 END ``` Edited: 23 Jan 2005, 12:13 p.m. Re: Accurate TVM for HP42S - hugh steers - 01-23-2005 hi tommi, yes indeed. that is a good way to tackle the problem. i wrote a page on this problem (also with the same test case) http://www.voidware.com/tvm.htm there's some stuff about how to fix it when you dont have the ln1 and exp1 functions (see the 15c case). also solving for `i' is interesting. checkout the references at the end too. cheers, Re: Accurate TVM for HP42S - Tommi - 01-23-2005 Yes, the second test case is well-known. Also known as "A Penny for your Thoughts", see Mathematics Written in Sand The first test case is from Hewlett-Packard Journal, October 1977. In fact, while lnx+1 and e^x-1 are useful indeed, even better would be the super accurate ((1+i)^n-1)/i found in many HP financial calculators. At least in HP-37E, n can also be fractional, while HP-12C only works with INT(n), of much less use. Don't know how other HP financial calculators behave in this respect. Cheers! Edited: 23 Jan 2005, 5:02 p.m.