(28/48/50) Lambert W Function - Printable Version +- HP Forums (https://www.hpmuseum.org/forum) +-- Forum: HP Software Libraries (/forum-10.html) +--- Forum: General Software Library (/forum-13.html) +--- Thread: (28/48/50) Lambert W Function (/thread-19689.html) Pages: 1 2 3 RE: (28/48/50) Lambert W Function - Albert Chan - 01-30-2024 04:04 PM (01-30-2024 02:52 PM)Gil Wrote:  FNL= « WHILE x .4 >= REPEAT 'x/(sqrt(1+x)+1)' ->NUM 'x' STO x FNL 2 * x SQ - 'fnl' STO END 'x/(x+2)' ->NUM 'X2' STO X2 DUP * 'X4' STO 'X4*(5005-X4*(5082-X4*969))/(15015-X4*(24255-X4*(11025-X4*1225)))' ->NUM 'X4' STO 'X2*(X4+X4-x)' ->NUM 'fnl' STO » Again, FNL is a recursive function! I don't know RPL, but the fact it started with WHILE already look wrong. Also, FNL is unsuitable for big x. (excess recursions cause unnessary rounding errors) For big x, return LOGP1(X)-X, or simply LN(1+X)-X, is faster and better. Again, please read thread: Accurate x - log(1+x) If your question is only about accurate log(1+x)-x, please posted there. RE: (28/48/50) Lambert W Function - Gil - 01-31-2024 07:10 PM John, Great your LambertW implementation! Comparing your results with my proper HP50G program, I think that for special cases like: k=-1 & input x tiny like {x=-1E-496 or x=-1E-497 or x=-1E-497 or x=-1E-499 } or k=0 and x=1E-499 your program cannot give a correct answer. Almost a pity. Regards, Gil