Copyright 2009 The Go Authors. All rights reserved. Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.

package math
Floating-point hyperbolic sine and cosine.
The exponential func is called for arguments greater in magnitude than 0.5.
A series is used for arguments smaller in magnitude than 0.5.
Cosh(x) is computed from the exponential func for all arguments.
Sinh returns the hyperbolic sine of x. Special cases are: Sinh(±0) = ±0 Sinh(±Inf) = ±Inf Sinh(NaN) = NaN
The coefficients are #2029 from Hart & Cheney. (20.36D)
	const (
		 = -0.6307673640497716991184787251e+6
		 = -0.8991272022039509355398013511e+5
		 = -0.2894211355989563807284660366e+4
		 = -0.2630563213397497062819489e+2
		 = -0.6307673640497716991212077277e+6
		 = 0.1521517378790019070696485176e+5
		 = -0.173678953558233699533450911e+3
	)

	 := false
	if  < 0 {
		 = -
		 = true
	}

	var  float64
	switch {
	case  > 21:
		 = Exp() * 0.5

	case  > 0.5:
		 := Exp()
		 = ( - 1/) * 0.5

	default:
		 :=  * 
		 = (((*+)*+)* + ) * 
		 =  / (((+)*+)* + )
	}

	if  {
		 = -
	}
	return 
}
Cosh returns the hyperbolic cosine of x. Special cases are: Cosh(±0) = 1 Cosh(±Inf) = +Inf Cosh(NaN) = NaN
func ( float64) float64

func ( float64) float64 {
	 = Abs()
	if  > 21 {
		return Exp() * 0.5
	}
	 := Exp()
	return ( + 1/) * 0.5