function sinh (x) c august 1977 edition. w. fullerton, c3, los alamos scientific lab. dimension sinhcs(8) external csevl, exp, inits, r1mach, sqrt c c series for sinh on the interval 0. to 1.00000d+00 c with weighted error 9.47e-17 c log weighted error 16.02 c significant figures required 15.11 c decimal places required 16.48 c data sinhcs( 1) / .1730421940 471796e0 / data sinhcs( 2) / .0875942219 2276048e0 / data sinhcs( 3) / .0010794777 7456713e0 / data sinhcs( 4) / .0000063748 4926075e0 / data sinhcs( 5) / .0000000220 2366404e0 / data sinhcs( 6) / .0000000000 4987940e0 / data sinhcs( 7) / .0000000000 0007973e0 / data sinhcs( 8) / .0000000000 0000009e0 / c data nterms, sqeps, ymax / 0, 2*0.0 / c if (nterms.ne.0) go to 10 nterms = inits (sinhcs, 8, 0.1*r1mach(3)) sqeps = sqrt (6.0*r1mach(3)) ymax = 1.0/sqrt(r1mach(3)) c 10 y = abs(x) if (y.gt.1.0) go to 20 c sinh = x if (y.gt.sqeps) sinh = x*(1.0 + csevl (2.*x*x-1., sinhcs, nterms)) return c 20 y = exp(y) if (y.ge.ymax) sinh = sign (0.5*y, x) if (y.lt.ymax) sinh = sign (0.5*(y-1.0/y), x) c return end