--- common/mpmath_c.c.orig	2012-03-10 17:28:37.000000000 -0500
+++ common/mpmath_c.c	2012-03-10 17:34:32.000000000 -0500
@@ -220,7 +220,7 @@
       if(t.x < -690)
          e2x = 0.0;
       else
-         e2x = expl(t.x);
+         e2x = exp(t.x);
 #ifdef XFRACT
       if (isnan(e2x) || isinf(e2x))
          e2x = 1.0;
--- common/soi.c.orig	2011-05-07 15:36:36.000000000 -0500
+++ common/soi.c	2012-03-10 17:08:47.000000000 -0500
@@ -25,7 +25,7 @@
 #define FABS(x)  fabsl(x)
 /* the following needs to be changed back to frexpl once the portability
    issue has been addressed JCO */
-#ifndef XFRACT
+#ifndef __FreeBSD__
 #define FREXP(x,y) frexpl(x,y)
 #else
 #define FREXP(x,y) frexp(x,y)
--- unix/fpu087.c.orig	2012-03-10 17:28:49.000000000 -0500
+++ unix/fpu087.c	2012-03-10 17:36:40.000000000 -0500
@@ -86,8 +86,8 @@
     *Sinh = 1.0;
     *Cosh = 1.0;
   } else {
-    *Sinh = (LDBL)sinhl(*Angle);
-    *Cosh = (LDBL)coshl(*Angle);
+    *Sinh = (LDBL)sinh(*Angle);
+    *Cosh = (LDBL)cosh(*Angle);
   }
   if (isnan(*Sinh) || isinf(*Sinh))
     *Sinh = 1.0;
@@ -119,7 +119,7 @@
 {
     LDBL pwr,y;
     y = x->y;
-    pwr = expl(x->x);
+    pwr = exp(x->x);
     if (isnan(pwr) || isinf(pwr))
       pwr = 1.0;
     z->x = (double)(pwr*cosl(y));
