Improved Internal Accuracy in Newest Version of Free42

Hugh Steers responded to me recently in some detail when I wrote to compliment and thank him for revisions to his BCD-20 library that has made Free42 even more accurate than before. It looks like transcendental and special functions (like GAMMA and !) have been improved to give 25 digits of internal accuracy within 1 ulp in most cases.

Most intriguing for me was the claimed improvements in the integration algorithm. Hugh has improved the Romberg code to incorporate the variable transformations described by Kahan in his December 1980 HP digest paper (on the MOHPC DVD). In experimenting with the pathological integral described by Kahan in that same article, I have been able to get it correct to 23 digits within 5 ulp by setting ACC to the absurd 1e-23. I was using Free42 Decimal 1.4.52 on my Palm XT, and this took a few minutes, but it worked. In previous versions of Free42, the integrator would not return a result if ACC was smaller than 1e-13 or 1e-14.

Byron Foster has told me that the next release of 42S for iPhone will incorporate this most up to date math code.

I thought this info would be of interest to those who love Free42 in its various incarnations. Numerical integration is hot topic around here occasionally and I thought that these refinements would be of great interest to some.


Edited: 11 Aug 2009, 10:06 p.m.


Hi, Thanks for the compliment.

This is true, although the original code still applied the transformation. This "trick" is described in the HP15c advanced function handbook page 46. you set x = u/2*(3-u^2) and integrate u. This changes the Romberg integrand into an open form and, according to the book "suppresses resonance". Unfortunately, the old code suffered from a defect in the Richardson extrapolation logic (part of the Romberg method) that meant many more function evals were being called than necessary. This has been fixed. Also, i'm hoping the error estimate returned in Y is more accurate.

Edited: 12 Aug 2009, 10:07 a.m.



Also, i'm hoping the error estimate returned in Y is more accurate.

Hugh, I should look at the code myself and try to decipher, but could you tell me what you use for the error estimate? I am assuming the difference between the final and penultimate approximation to the integral that satisfies the relative error requirement stored in ACC?

Thanks in advance,


Possibly Related Threads…
Thread Author Replies Views Last Post
  How much accuracy does one actually need? Matt Agajanian 23 5,455 08-26-2013, 12:46 PM
Last Post: Kimberly Thompson
  Bug Bounty Programs Beat Internal Researchers Peter Murphy (Livermore) 0 884 07-12-2013, 06:59 PM
Last Post: Peter Murphy (Livermore)
  Improved debugger on WP34s Qt Emulator pascal_meheut 0 884 04-15-2013, 03:52 PM
Last Post: pascal_meheut
  Estimating accuracy in finite precision computations mpi 17 4,176 02-22-2013, 09:44 AM
Last Post: mpi
  HP-67 internal function timings Dieter 3 1,368 02-10-2013, 05:18 PM
Last Post: Paul Dale
  Newest 41CL ROM Images Dan Grelinger 2 1,143 01-16-2013, 01:25 PM
Last Post: Monte Dalrymple
  The latest version of Free42 is now a OS X Universal application..... zeno333 1 974 10-21-2012, 11:12 PM
Last Post: Matt Agajanian
  I need the last OS X "Universal" version of Free42..... zeno333 0 829 10-13-2012, 04:45 PM
Last Post: zeno333
  WP 34S accuracy is excellent Jeff Johnson 15 4,037 06-01-2012, 10:41 PM
Last Post: Valentin Albillo
  50G precision & accuracy Matt Agajanian 11 2,936 05-17-2012, 11:15 AM
Last Post: Crawl

Forum Jump: