The old round off problem?

David Treadwell i.failed.turing.test at
Sun Mar 5 05:01:36 CET 2006

I wish I knew!

So I asked Google. Here's what I learned:

Most implementations are based on, or similar to the implementation  
in the fdlibm package.

sinh(x) and cosh(x) are both based on exp(x). See http://

exp(x) is implemented by:

1.  reducing x into the range |r| <=  0.5 * ln(2), such that x = k *  
ln(2) + r
2.  approximating exp(r) with a fifth-order polynomial,
3.  re-scaling by multiplying by 2^k: exp(x) = 2^k * exp(r)

sinh(x) is mathematically ( exp(x) - exp(-x) )/2 but it's not  
calculated directly that way.

My brain hurts at this point; it's late. I'll have another go at  
hunting down the errors tomorrow. In the interim, does anybody out  
there already know the answer?


On Mar 4, 2006, at 8:27 PM, sam wrote:

> David I beg I beg
> Can you answer the question?
> Also thanks for the information on using the Taylor series.
> Sam Schulenburg
> -- 

More information about the Python-list mailing list