with AUTOMATIC, initial_T can decrease to 1
in some cases, initial_T decreases to 1 and gets no chance to increase again. Here is a case with revision e20aae38 and the following change for -DEXP -DBASIS=2 -DAUTOMATIC:
--- a/slz.c
+++ b/slz.c
@@ -150,12 +150,14 @@ slz (mpz_t **Res, int *Nb, mpfr_t *P, mpz_t C, mpz_t T,
where PP:=31093302508524778756033342159 X^0 + -4294969383 X^1 + 0 X^2
and hensel() fails for all pairs 1 <= i < j <= 6
(all polynomials after LLL reduction split in two linear factors). */
+#if 0
if (d >= 2 && mpz_sgn (PP[d]) == 0)
{
fprintf (stderr, "Coefficient of degree d=%d of PP is zero\n", d);
fprintf (stderr, "Maybe you should decrease d?\n");
exit (1);
}
+#endif
#if DEBUG >= 2
printf ("PP:="); print_uni_pol_mpz (PP, d); printf("\n");
Then bacsel is very slow with:
zimmerma@tomate:~/svn/bacsel$ ./bacsel -rnd_mode all -prec 128 -n 53 -nn 53 -m 45 -t 20 -t0 4503599627370496 -t1 4503737066323968 -d 2 -alpha 2 -v -e_in -28
This example shows the limits of the "automatic" mechanism. With -t 33 it takes "0ms" with failure rate 0% (without -DAUTOMATIC).