diff -p -up L-1.21/src/Lglobals.cc.orig L-1.21/src/Lglobals.cc --- L-1.21/src/Lglobals.cc.orig 2009-03-25 19:51:06.000000000 -0300 +++ L-1.21/src/Lglobals.cc 2009-03-25 19:51:31.000000000 -0300 @@ -348,7 +348,7 @@ void extend_prime_table(int x) number_primes = 0; // Use explicit prime number theorem to allocate enough memory for primes - number_primes_guess = max((int)ceil(x/(log(x)-4))+1, 100); + number_primes_guess = max((int)ceil(x/(log((double)x)-4))+1, 100); prime_table = new int[number_primes_guess]; @@ -361,7 +361,7 @@ void extend_prime_table(int x) sieve[n] = 1; p = 2; - sqrtx = (int) sqrt(x); + sqrtx = (int) sqrt((double)x); while (p <= sqrtx) { n = 2*p; diff -p -up L-1.21/include/Ldokchitser.h.orig L-1.21/include/Ldokchitser.h --- L-1.21/include/Ldokchitser.h.orig 2009-03-25 19:58:42.000000000 -0300 +++ L-1.21/include/Ldokchitser.h 2009-03-25 19:59:33.000000000 -0300 @@ -31,7 +31,7 @@ phi_series(int precision) if (j != k) { diff = 2*(lambda[j] - lambda[k]); - if((imag(diff)==0) && (fmod(real(diff),2) == 0) && (real(diff)<=0)) + if((imag(diff)==0) && (fmod((double)real(diff),2) == 0) && (real(diff)<=0)) { pordtmp[j]+=pordtmp[k]; pordtmp[k]=0;