diff --git a/src/lib/math/sinh.go b/src/lib/math/sinh.go
index 622467e..e0201ee 100644
--- a/src/lib/math/sinh.go
+++ b/src/lib/math/sinh.go
@@ -14,25 +14,25 @@
  *	greater in magnitude than 0.5.
  *
  *	A series is used for arguments smaller in magnitude than 0.5.
- *	The coefficients are #2029 from Hart & Cheney. (20.36D)
  *
  *	cosh(arg) is computed from the exponential func for
  *	all arguments.
  */
 
-const
-(
-	shp0	= -0.6307673640497716991184787251e+6;
-	shp1	= -0.8991272022039509355398013511e+5;
-	shp2	= -0.2894211355989563807284660366e+4;
-	shp3	= -0.2630563213397497062819489e+2;
-	shq0	= -0.6307673640497716991212077277e+6;
-	shq1	=  0.1521517378790019070696485176e+5;
-	shq2	= -0.173678953558233699533450911e+3;
-)
-
 export func Sinh(arg float64) float64 {
-	sign := false;
+	// The coefficients are #2029 from Hart & Cheney. (20.36D)
+	const
+	(
+		P0	= -0.6307673640497716991184787251e+6;
+		P1	= -0.8991272022039509355398013511e+5;
+		P2	= -0.2894211355989563807284660366e+4;
+		P3	= -0.2630563213397497062819489e+2;
+		Q0	= -0.6307673640497716991212077277e+6;
+		Q1	=  0.1521517378790019070696485176e+5;
+		Q2	= -0.173678953558233699533450911e+3;
+	)
+
+		sign := false;
 	if arg < 0 {
 		arg = -arg;
 		sign = true;
@@ -47,9 +47,9 @@
 		temp = (Exp(arg) - Exp(-arg))/2;
 
 	default:
-		argsq := arg*arg;
-		temp = (((shp3*argsq+shp2)*argsq+shp1)*argsq+shp0)*arg;
-		temp = temp/(((argsq+shq2)*argsq+shq1)*argsq+shq0);
+		sq := arg*arg;
+		temp = (((P3*sq+P2)*sq+P1)*sq+P0)*arg;
+		temp = temp/(((sq+Q2)*sq+Q1)*sq+Q0);
 	}
 
 	if sign {
