--- src/src/Lcommandline_elliptic.cc	2010-01-31 16:16:45.000000000 +0100
+++ src/src/Lcommandline_elliptic.cc	2011-05-10 17:08:10.000000000 +0200
@@ -121,11 +121,11 @@
 
 
     F = cgetg(6, t_VEC);
-    F[1] = lgeti(BIGDEFAULTPREC);
-    F[2] = lgeti(BIGDEFAULTPREC);
-    F[3] = lgeti(BIGDEFAULTPREC);
-    F[4] = lgeti(BIGDEFAULTPREC);
-    F[5] = lgeti(BIGDEFAULTPREC);
+    F[1] = (long)cgeti(BIGDEFAULTPREC);
+    F[2] = (long)cgeti(BIGDEFAULTPREC);
+    F[3] = (long)cgeti(BIGDEFAULTPREC);
+    F[4] = (long)cgeti(BIGDEFAULTPREC);
+    F[5] = (long)cgeti(BIGDEFAULTPREC);
 
     //gaffsg(a1,(GEN) F[1]);
     //gaffsg(a2,(GEN) F[2]);
@@ -133,15 +133,15 @@
     //gaffsg(a4,(GEN) F[4]);
     //gaffsg(a6,(GEN) F[5]);
 
-    gaffect(strtoGEN(a1), (GEN) F[1]);
-    gaffect(strtoGEN(a2), (GEN) F[2]);
-    gaffect(strtoGEN(a3), (GEN) F[3]);
-    gaffect(strtoGEN(a4), (GEN) F[4]);
-    gaffect(strtoGEN(a6), (GEN) F[5]);
+    gaffect(gp_read_str(a1), (GEN) F[1]);
+    gaffect(gp_read_str(a2), (GEN) F[2]);
+    gaffect(gp_read_str(a3), (GEN) F[3]);
+    gaffect(gp_read_str(a4), (GEN) F[4]);
+    gaffect(gp_read_str(a6), (GEN) F[5]);
 
-    E = initell(F,BIGDEFAULTPREC);
+    E = ellinit(F, NULL, BIGDEFAULTPREC);
 
-    C=globalreduction(E);
+    C=ellglobalred(E);
 
     x=gtodouble((GEN) C[1]);
 
@@ -167,8 +167,8 @@
 
             p=n;
             gaffsg(p,y);
-            coeff[p] = Double(1.*llrint(gtodouble(apell(E,y))))/sqrt(Double(1.*p));
-            //coeff[p] = Double(1.*Long(gtodouble(apell(E,y))+.1))/sqrt(Double(1.*p));
+            coeff[p] = Double(1.*llrint(gtodouble(ellap(E,y))))/sqrt(Double(1.*p));
+            //coeff[p] = Double(1.*Long(gtodouble(ellap(E,y))+.1))/sqrt(Double(1.*p));
 
             if(gtolong(gmod((GEN) E[12],(GEN) y))==0) // if p|discriminant, i.e. bad reduction
             {
diff -ru src/src/Lcommandline.cc b/src/Lcommandline.cc
--- src/src/Lcommandline.cc	2012-08-08 23:21:56.000000000 +0200
+++ b/src/Lcommandline.cc	2014-01-06 14:02:19.463388366 +0100
@@ -473,7 +473,9 @@
 
 #ifdef INCLUDE_PARI
         if(do_elliptic_curve){
-             allocatemoremem((int) N_terms*16+1000000); //XXXXXXXXX this should depend on whether we're double or long double or mpfr double
+             // Reallocate PARI stack
+             paristack_setsize((size_t)N_terms*16 + 1000000, 0); //XXXXXXXXX this should depend on whether we're double or long double or mpfr double
+
              if (my_verbose>0) cout << "Will precompute " << N_terms << " elliptic L-function dirichlet coefficients..." << endl;
              initialize_new_L(a1,a2,a3,a4,a6,N_terms); 
         }
