双曲線関数の数値計算

双曲線関数($\cosh$, $\sinh$)でオーバーフローをおこす場合には、

$$\cosh bx=\displaystyle\frac{1}{2}\left({{\rm e}^{bx} + {\rm e}^{-bx}}\right)$$

$$\sin bx=\displaystyle\frac{1}{2}\left({{\rm e}^{bx} - {\rm e}^{-bx}}\right)$$

$$b=\sqrt{a^2-1}$$

より、

$$1-{\rm e}^{- ax}\left({\cosh bx+\displaystyle\frac{a}{b}\sinh bx}\right)=1-\displaystyle\frac{{a+b}}{{2b}}{\rm e}^{-\frac{x}{{a+b}}}+\displaystyle\frac{1}{2b(a + b)}{\rm e}^{-\left({a+b}\right)x}$$

を使え。