MUSL math functions
Bruce Evans
brde at optusnet.com.au
Sat Nov 2 22:48:26 UTC 2013
On Sat, 2 Nov 2013, Steve Kargl wrote:
> On Fri, Nov 01, 2013 at 07:52:27AM +1100, Bruce Evans wrote:
>> cerfl (not in C99) is apparently amazingly complicated. There is a
>> whole library libcerf for it on the net.
>
> openlibm includes http://ab-initio.mit.edu/wiki/index.php/Faddeeva_Package
> I haven't looked into the quality. The webpage claims 13 significant
> digits, which is not quite good enough for double.
This might be the same (I remember the NOST web page and libcerf mentioning
something like Faddeev's algorithm). I thought it was better.
>> erf support is very patchy in calculators. See the list in the NIST
>> web pages that update Abramowicz and Stegun. I find it hard to test
>> since it is not in pari.
>
> MPFR has implementations for erf and erfc. Testing on flame is
> extremely slow due to this. I think that I've only tested
> around 50000 values in the non-asymptotic range.
I hoped mpfr wouldn't be so (relatively) slow on flame (old/terminanal
sparc64). pari does everything using fixed point so it doesn't notice
long doubles being slower.
Numerical integration of exp(-x^2) to give erf() is only 1000 times slower
than exp() in pari (5ms/call vs 5us/call for 28 decimal digits on freefall)
so it might be usable. It is just ~100000 times slower than FreeBSD libm
erf(). gamma() is native and is 3 times slower than exp() in pari.
Bruce
More information about the freebsd-numerics
mailing list