Index: sasmodels/models/bcc.py
===================================================================
--- sasmodels/models/bcc.py	(revision 2f0c07deb2cb7a8c0c93476fbf1e0ffbe6c278cb)
+++ sasmodels/models/bcc.py	(revision 43b7eea5794b4eb3362114ebde67ff2fb1c38fdc)
@@ -124,5 +124,5 @@
 # pylint: enable=bad-whitespace, line-too-long
 
-source = ["lib/sph_j1c.c", "lib/J1.c", "lib/gauss150.c", "lib/sphere_form.c", "bcc.c"]
+source = ["lib/sph_j1c.c", "lib/gauss150.c", "lib/sphere_form.c", "bcc.c"]
 
 # parameters for demo
Index: sasmodels/models/core_shell_bicelle.c
===================================================================
--- sasmodels/models/core_shell_bicelle.c	(revision cf85329d4eadae1d4c59b4a1c0b6f34770d49de5)
+++ sasmodels/models/core_shell_bicelle.c	(revision 43b7eea5794b4eb3362114ebde67ff2fb1c38fdc)
@@ -56,6 +56,6 @@
     double sinarg2 = qq*(length+facthick)*cn;
 
-    be1 = J1c(besarg1);
-    be2 = J1c(besarg2);
+    be1 = sas_J1c(besarg1);
+    be2 = sas_J1c(besarg2);
     si1 = sinc(sinarg1);
     si2 = sinc(sinarg2);
Index: sasmodels/models/core_shell_bicelle.py
===================================================================
--- sasmodels/models/core_shell_bicelle.py	(revision 2f0c07deb2cb7a8c0c93476fbf1e0ffbe6c278cb)
+++ sasmodels/models/core_shell_bicelle.py	(revision 43b7eea5794b4eb3362114ebde67ff2fb1c38fdc)
@@ -87,5 +87,5 @@
 # pylint: enable=bad-whitespace, line-too-long
 
-source = ["lib/Si.c", "lib/J1.c", "lib/J1c.c", "lib/gauss76.c", "core_shell_bicelle.c"]
+source = ["lib/Si.c","lib/polevl.c", "lib/sas_J1.c", "lib/gauss76.c", "core_shell_bicelle.c"]
 
 demo = dict(scale=1, background=0,
Index: sasmodels/models/core_shell_cylinder.c
===================================================================
--- sasmodels/models/core_shell_cylinder.c	(revision f4878dc778e82ee49c11c59cc0517797917067cc)
+++ sasmodels/models/core_shell_cylinder.c	(revision 43b7eea5794b4eb3362114ebde67ff2fb1c38fdc)
@@ -11,5 +11,5 @@
 double _cyl(double twovd, double besarg, double siarg)
 {
-    const double bj = (besarg == 0.0 ? 0.5 : J1(besarg)/besarg);
+    const double bj = (besarg == 0.0 ? 0.5 : 0.5*sas_J1c(besarg));
     const double si = (siarg == 0.0 ? 1.0 : sin(siarg)/siarg);
     return twovd*si*bj;
Index: sasmodels/models/core_shell_cylinder.py
===================================================================
--- sasmodels/models/core_shell_cylinder.py	(revision 01eece695fca4715baea58b0e86d78de1ed9ca7c)
+++ sasmodels/models/core_shell_cylinder.py	(revision 43b7eea5794b4eb3362114ebde67ff2fb1c38fdc)
@@ -130,5 +130,5 @@
              ]
 
-source = ["lib/J1.c", "lib/gauss76.c", "core_shell_cylinder.c"]
+source = ["lib/polevl.c","lib/sas_J1.c", "lib/gauss76.c", "core_shell_cylinder.c"]
 
 def ER(radius, thickness, length):
Index: sasmodels/models/core_shell_parallelepiped.py
===================================================================
--- sasmodels/models/core_shell_parallelepiped.py	(revision aa2edb2b2fb550caed0506dcf63bc7eac7e1779a)
+++ sasmodels/models/core_shell_parallelepiped.py	(revision 43b7eea5794b4eb3362114ebde67ff2fb1c38fdc)
@@ -141,5 +141,5 @@
              ]
 
-source = ["lib/J1.c", "lib/gauss76.c", "core_shell_parallelepiped.c"]
+source = ["lib/gauss76.c", "core_shell_parallelepiped.c"]
 
 
Index: sasmodels/models/ellipsoid.py
===================================================================
--- sasmodels/models/ellipsoid.py	(revision aa2edb2b2fb550caed0506dcf63bc7eac7e1779a)
+++ sasmodels/models/ellipsoid.py	(revision 43b7eea5794b4eb3362114ebde67ff2fb1c38fdc)
@@ -132,5 +132,5 @@
              ]
 
-source = ["lib/J1.c", "lib/sph_j1c.c", "lib/gauss76.c", "ellipsoid.c"]
+source = ["lib/sph_j1c.c", "lib/gauss76.c", "ellipsoid.c"]
 
 def ER(rpolar, requatorial):
Index: sasmodels/models/elliptical_cylinder.c
===================================================================
--- sasmodels/models/elliptical_cylinder.c	(revision a8b3cdb60df4f2e22c9b3c5c3110bb51b7dba2c6)
+++ sasmodels/models/elliptical_cylinder.c	(revision 43b7eea5794b4eb3362114ebde67ff2fb1c38fdc)
@@ -22,5 +22,6 @@
         retval = 1.0;
     }else{
-        retval = 2.0*NR_BessJ1(arg)/arg;
+        //retval = 2.0*NR_BessJ1(arg)/arg;
+        retval = sas_J1c(arg);
     }
     return retval*retval ;
@@ -155,5 +156,6 @@
       Be = 0.5;
     }else{
-      Be = NR_BessJ1(qr)/qr;
+      //Be = NR_BessJ1(qr)/qr;
+      Be = 0.5*sas_J1c(qr);
     }
 
Index: sasmodels/models/elliptical_cylinder.py
===================================================================
--- sasmodels/models/elliptical_cylinder.py	(revision aa2edb2b2fb550caed0506dcf63bc7eac7e1779a)
+++ sasmodels/models/elliptical_cylinder.py	(revision 43b7eea5794b4eb3362114ebde67ff2fb1c38fdc)
@@ -105,5 +105,5 @@
 # pylint: enable=bad-whitespace, line-too-long
 
-source = ["lib/nr_bess_j1.c", "lib/gauss76.c", "lib/gauss20.c", "elliptical_cylinder.c"]
+source = ["lib/polevl.c","lib/sas_J1.c", "lib/gauss76.c", "lib/gauss20.c", "elliptical_cylinder.c"]
 
 demo = dict(scale=1, background=0, r_minor=100, r_ratio=1.5, length=400.0,
Index: sasmodels/models/fcc.py
===================================================================
--- sasmodels/models/fcc.py	(revision 2f0c07deb2cb7a8c0c93476fbf1e0ffbe6c278cb)
+++ sasmodels/models/fcc.py	(revision 43b7eea5794b4eb3362114ebde67ff2fb1c38fdc)
@@ -116,5 +116,5 @@
 # pylint: enable=bad-whitespace, line-too-long
 
-source = ["lib/sph_j1c.c", "lib/J1.c", "lib/gauss150.c", "lib/sphere_form.c", "fcc.c"]
+source = ["lib/sph_j1c.c", "lib/gauss150.c", "lib/sphere_form.c", "fcc.c"]
 
 # parameters for demo
Index: sasmodels/models/flexible_cylinder.c
===================================================================
--- sasmodels/models/flexible_cylinder.c	(revision e7678b2f993854334aca4c45e1c7022b2fdbb509)
+++ sasmodels/models/flexible_cylinder.c	(revision 43b7eea5794b4eb3362114ebde67ff2fb1c38fdc)
@@ -25,5 +25,5 @@
     const double qr = q*radius;
     //const double crossSect = (2.0*J1(qr)/qr)*(2.0*J1(qr)/qr);
-    const double crossSect = J1c(qr);
+    const double crossSect = sas_J1c(qr);
     double flex = Sk_WR(q,length,kuhn_length);
     flex *= crossSect*crossSect;
Index: sasmodels/models/flexible_cylinder.py
===================================================================
--- sasmodels/models/flexible_cylinder.py	(revision aa2edb2b2fb550caed0506dcf63bc7eac7e1779a)
+++ sasmodels/models/flexible_cylinder.py	(revision 43b7eea5794b4eb3362114ebde67ff2fb1c38fdc)
@@ -84,5 +84,5 @@
     ]
 # pylint: enable=bad-whitespace, line-too-long
-source = ["lib/J1.c", "lib/J1c.c", "lib/wrc_cyl.c", "flexible_cylinder.c"]
+source = ["lib/polevl.c","lib/sas_J1c.c", "lib/wrc_cyl.c", "flexible_cylinder.c"]
 
 demo = dict(scale=1.0, background=0.0001,
Index: sasmodels/models/flexible_cylinder_ex.c
===================================================================
--- sasmodels/models/flexible_cylinder_ex.c	(revision e7678b2f993854334aca4c45e1c7022b2fdbb509)
+++ sasmodels/models/flexible_cylinder_ex.c	(revision 43b7eea5794b4eb3362114ebde67ff2fb1c38fdc)
@@ -24,5 +24,5 @@
         SINCOS(zi, sn, cn);
         double arg = q*sqrt(a*a*sn*sn+b*b*cn*cn);
-        double yyy = pow((double)J1c(arg),2);
+        double yyy = pow((double)sas_J1c(arg),2);
         yyy *= Gauss76Wt[i];
         summ += yyy;
Index: sasmodels/models/flexible_cylinder_ex.py
===================================================================
--- sasmodels/models/flexible_cylinder_ex.py	(revision aa2edb2b2fb550caed0506dcf63bc7eac7e1779a)
+++ sasmodels/models/flexible_cylinder_ex.py	(revision 43b7eea5794b4eb3362114ebde67ff2fb1c38fdc)
@@ -109,5 +109,5 @@
 # pylint: enable=bad-whitespace, line-too-long
 
-source = ["lib/J1.c", "lib/J1c.c", "lib/gauss76.c", "lib/wrc_cyl.c", "flexible_cylinder_ex.c"]
+source = ["lib/polevl.c","lib/sas_J1.c", "lib/gauss76.c", "lib/wrc_cyl.c", "flexible_cylinder_ex.c"]
 
 demo = dict(scale=1.0, background=0.0001,
Index: sasmodels/models/hollow_cylinder.c
===================================================================
--- sasmodels/models/hollow_cylinder.c	(revision 0420af743cbd4738603a3f63dde3bffd78ebfdcd)
+++ sasmodels/models/hollow_cylinder.c	(revision 43b7eea5794b4eb3362114ebde67ff2fb1c38fdc)
@@ -24,10 +24,10 @@
     	lam1 = 1.0;
     }else{
-    	lam1 = 2.0*J1(arg1)/arg1;
+    	lam1 = sas_J1c(arg1);
     }
     if (arg2 == 0.0){
     	lam2 = 1.0;
     }else{
-    	lam2 = 2.0*J1(arg2)/arg2;
+    	lam2 = sas_J1c(arg2);
     }
     //Todo: Need to check psi behavior as gamma goes to 1.
Index: sasmodels/models/hollow_cylinder.py
===================================================================
--- sasmodels/models/hollow_cylinder.py	(revision 01eece695fca4715baea58b0e86d78de1ed9ca7c)
+++ sasmodels/models/hollow_cylinder.py	(revision 43b7eea5794b4eb3362114ebde67ff2fb1c38fdc)
@@ -79,5 +79,5 @@
 # pylint: enable=bad-whitespace, line-too-long
 
-source = ["lib/J1.c", "lib/gauss76.c", "hollow_cylinder.c"]
+source = ["lib/polevl.c","lib/sas_J1.c", "lib/gauss76.c", "hollow_cylinder.c"]
 
 # pylint: disable=W0613
Index: sasmodels/models/hollow_rectangular_prism.py
===================================================================
--- sasmodels/models/hollow_rectangular_prism.py	(revision aa2edb2b2fb550caed0506dcf63bc7eac7e1779a)
+++ sasmodels/models/hollow_rectangular_prism.py	(revision 43b7eea5794b4eb3362114ebde67ff2fb1c38fdc)
@@ -115,5 +115,5 @@
              ]
 
-source = ["lib/J1.c", "lib/gauss76.c", "hollow_rectangular_prism.c"]
+source = [ "lib/gauss76.c", "hollow_rectangular_prism.c"]
 
 def ER(a_side, b2a_ratio, c2a_ratio, thickness):
Index: sasmodels/models/hollow_rectangular_prism_infinitely_thin_walls.py
===================================================================
--- sasmodels/models/hollow_rectangular_prism_infinitely_thin_walls.py	(revision aa2edb2b2fb550caed0506dcf63bc7eac7e1779a)
+++ sasmodels/models/hollow_rectangular_prism_infinitely_thin_walls.py	(revision 43b7eea5794b4eb3362114ebde67ff2fb1c38fdc)
@@ -99,5 +99,5 @@
              ]
 
-source = ["lib/J1.c", "lib/gauss76.c", "hollow_rectangular_prism_infinitely_thin_walls.c"]
+source = ["lib/gauss76.c", "hollow_rectangular_prism_infinitely_thin_walls.c"]
 
 def ER(a_side, b2a_ratio, c2a_ratio):
Index: sasmodels/models/parallelepiped.py
===================================================================
--- sasmodels/models/parallelepiped.py	(revision aa2edb2b2fb550caed0506dcf63bc7eac7e1779a)
+++ sasmodels/models/parallelepiped.py	(revision 43b7eea5794b4eb3362114ebde67ff2fb1c38fdc)
@@ -193,5 +193,5 @@
              ]
 
-source = ["lib/J1.c", "lib/gauss76.c", "parallelepiped.c"]
+source = ["lib/gauss76.c", "parallelepiped.c"]
 
 def ER(a_side, b_side, c_side):
Index: sasmodels/models/rectangular_prism.py
===================================================================
--- sasmodels/models/rectangular_prism.py	(revision aa2edb2b2fb550caed0506dcf63bc7eac7e1779a)
+++ sasmodels/models/rectangular_prism.py	(revision 43b7eea5794b4eb3362114ebde67ff2fb1c38fdc)
@@ -107,5 +107,5 @@
              ]
 
-source = ["lib/J1.c", "lib/gauss76.c", "rectangular_prism.c"]
+source = ["lib/gauss76.c", "rectangular_prism.c"]
 
 def ER(a_side, b2a_ratio, c2a_ratio):
Index: sasmodels/models/stacked_disks.c
===================================================================
--- sasmodels/models/stacked_disks.c	(revision d507c3a946bb1b2103ca169efe83263b3955b43d)
+++ sasmodels/models/stacked_disks.c	(revision 43b7eea5794b4eb3362114ebde67ff2fb1c38fdc)
@@ -52,6 +52,6 @@
 	const double sinarg2 = qq*(halfheight+layer_thick)*cos(zi);
 
-    const double be1 = J1(besarg1)/besarg1;
-	const double be2 = J1(besarg2)/besarg2;
+    const double be1 = sas_J1c(besarg1);
+	const double be2 = sas_J1c(besarg2);
 	const double si1 = sin(sinarg1)/sinarg1;
 	const double si2 = sin(sinarg2)/sinarg2;
@@ -62,6 +62,6 @@
 	const double totald=2.0*(layer_thick+halfheight);
 
-	const double t1 = 2.0*area*(2.0*halfheight)*dr1*(si1)*(be1);
-	const double t2 = 2.0*area*dr2*(totald*si2-2.0*halfheight*si1)*(be2);
+	const double t1 = area*(2.0*halfheight)*dr1*(si1)*(be1);
+	const double t2 = area*dr2*(totald*si2-2.0*halfheight*si1)*(be2);
 
 
Index: sasmodels/models/stacked_disks.py
===================================================================
--- sasmodels/models/stacked_disks.py	(revision 5111921153c056b59ff03411e4b7b028d238ae26)
+++ sasmodels/models/stacked_disks.py	(revision 43b7eea5794b4eb3362114ebde67ff2fb1c38fdc)
@@ -133,5 +133,5 @@
 # pylint: enable=bad-whitespace, line-too-long
 
-source = ["lib/gauss76.c", "lib/J1.c", "stacked_disks.c"]
+source = ["lib/polevl.c", "lib/sas_J1.c", "lib/gauss76.c", "stacked_disks.c"]
 
 demo = dict(background=0.001,
Index: sasmodels/models/triaxial_ellipsoid.py
===================================================================
--- sasmodels/models/triaxial_ellipsoid.py	(revision aa2edb2b2fb550caed0506dcf63bc7eac7e1779a)
+++ sasmodels/models/triaxial_ellipsoid.py	(revision 43b7eea5794b4eb3362114ebde67ff2fb1c38fdc)
@@ -104,5 +104,5 @@
              ]
 
-source = ["lib/J1.c", "lib/sph_j1c.c", "lib/gauss76.c", "triaxial_ellipsoid.c"]
+source = ["lib/sph_j1c.c", "lib/gauss76.c", "triaxial_ellipsoid.c"]
 
 def ER(req_minor, req_major, rpolar):
