Inverse hyperbolic trigonometric functions should call m_log1p, not log1p.
diff --git a/Modules/_math.c b/Modules/_math.c
index e27c100..995d1c0 100644
--- a/Modules/_math.c
+++ b/Modules/_math.c
@@ -3,6 +3,7 @@
 
 #include "Python.h"
 #include <float.h>
+#include "_math.h"
 
 /* The following copyright notice applies to the original
    implementations of acosh, asinh and atanh. */
@@ -67,7 +68,7 @@
 	}
 	else {				/* 1 < x <= 2 */
 		double t = x - 1.0;
-		return log1p(t + sqrt(2.0*t + t*t));
+		return m_log1p(t + sqrt(2.0*t + t*t));
 	}
 }
 
@@ -103,7 +104,7 @@
 	}
 	else {				/* 2**-28 <= |x| < 2= */
 		double t = x*x;
-		w = log1p(absx + t / (1.0 + sqrt(1.0 + t)));
+		w = m_log1p(absx + t / (1.0 + sqrt(1.0 + t)));
 	}
 	return copysign(w, x);
 	
@@ -149,10 +150,10 @@
 	}
 	if (absx < 0.5) {		/* |x| < 0.5 */
 		t = absx+absx;
-		t = 0.5 * log1p(t + t*absx / (1.0 - absx));
+		t = 0.5 * m_log1p(t + t*absx / (1.0 - absx));
 	} 
 	else {				/* 0.5 <= |x| <= 1.0 */
-		t = 0.5 * log1p((absx + absx) / (1.0 - absx));
+		t = 0.5 * m_log1p((absx + absx) / (1.0 - absx));
 	}
 	return copysign(t, x);
 }