Index: pobysoPythonSage/src/sageSLZ/sageRunSLZ.sage
===================================================================
--- pobysoPythonSage/src/sageSLZ/sageRunSLZ.sage	(revision 227)
+++ pobysoPythonSage/src/sageSLZ/sageRunSLZ.sage	(revision 228)
@@ -3127,6 +3127,11 @@
             slz_interval_and_polynomial_to_sage((prceSo[0], prceSo[0],
                                                  prceSo[1], prceSo[2], 
                                                  prceSo[3]))
+        print "Sage Taylor polynomial:", floatP, floatP.parent()
+        floatPcoeffs = floatP.coefficients()
+        for coeff in floatPcoeffs:
+            print coeff.n(prec=coeff.parent().prec()).str(base=2)
+            print coeff.n(prec=coeff.parent().prec())
         intvl = RRIF(intvl)
         ## Clean-up Sollya stuff.
         for elem in prceSo:
@@ -3218,19 +3223,20 @@
             print "Least common multiple:", leastCommonMultiple
         basisConstructionsFullTime        += cputime(basisConstructionTime)
         basisConstructionsCount           += 1
-        """
+        
         #### Compute the matrix to reduce.
         matrixToReduce = slz_compute_initial_lattice_matrix(intIntP,
                                                             alpha,
                                                             N,
                                                             iBound,
-                                                            tBound)
+                                                            tBound,
+                                                            True)
         matrixFile = file('/tmp/matrixToReduce.txt', 'w')
         for row in matrixToReduce.rows():
             matrixFile.write(str(row) + "\n")
         matrixFile.close()
-        raise Exception("Deliberate stop here.")
-        """
+        #raise Exception("Deliberate stop here.")
+        
         reductionTime                     = cputime()
         #### Compute the reduced polynomials.
         ccReducedPolynomialsList =  \
Index: pobysoPythonSage/src/sageSLZ/sageSLZ.sage
===================================================================
--- pobysoPythonSage/src/sageSLZ/sageSLZ.sage	(revision 227)
+++ pobysoPythonSage/src/sageSLZ/sageSLZ.sage	(revision 228)
@@ -359,7 +359,8 @@
                                        alpha,
                                        N,
                                        iBound,
-                                       tBound):
+                                       tBound,
+                                       debug = False):
     """
     For a given set of arguments (see below), compute the initial lattice
     that could be reduced. 
@@ -407,6 +408,10 @@
                                                 protoMatrix,
                                                 0)
     matrixToReduce = spo_proto_to_row_matrix(protoMatrix)
+    if debug:
+        print "Initial basis polynomials"
+        for poly in polynomialsList:
+            print poly
     return matrixToReduce
 # End slz_compute_initial_lattice_matrix.
 
@@ -866,7 +871,7 @@
     - the center of the interval;
     - the maximum error in the approximation of the input functionSo by the
       output polynomial ; this error <= approxAccurSaS.
-    Changes fom v1:
+    Changes fom v 01:
         extra verbose.
     """
     print"In slz_compute_polynomial_and_interval..."
@@ -974,14 +979,14 @@
     print "maxPrecSo: ",        ; pobyso_autoprint(maxPrecSo)
     print "approxAccurSo: ",    ; pobyso_autoprint(approxAccurSo)
     (roundedPolySo, roundedPolyMaxErrSo) = \
-    pobyso_polynomial_coefficients_progressive_round_so_so(polySo,
-                                                           functionSo,
-                                                           intervalCenterSo,
-                                                           currentRangeSo,
-                                                           itpSo,
-                                                           ftpSo,
-                                                           maxPrecSo,
-                                                           approxAccurSo)
+    pobyso_round_coefficients_progressive_so_so(polySo,
+                                                functionSo,
+                                                maxPrecSo,
+                                                currentRangeSo,
+                                                intervalCenterSo,
+                                                maxErrorSo,
+                                                approxAccurSo,
+                                                debug = True)
     
     sollya_lib_clear_obj(polySo)
     sollya_lib_clear_obj(maxErrorSo)
Index: pobysoPythonSage/src/pobyso.py
===================================================================
--- pobysoPythonSage/src/pobyso.py	(revision 227)
+++ pobysoPythonSage/src/pobyso.py	(revision 228)
@@ -375,6 +375,7 @@
     if precSa is None:
         precSa = polySa.parent().base_ring().precision()
     if (precSa > initialSollyaPrecSa):
+        assert precSa >= 2, "Precision change <2 requested"
         if precSa <= 2:
             print inspect.stack()[0][3], ": precision change <= 2 requested"
         precSo = pobyso_constant_from_int(precSa)
@@ -1548,12 +1549,12 @@
                                                 debug=False):
     if debug:
         print "Input arguments:"
-        print "Polynomia:l", ; pobyso_autoprint(polySo)
-        print "Function:", ; pobyso_autoprint(funcSo)
-        print "Internal precision:", ; pobyso_autoprint(precSo)
-        print "Interval:", ; pobyso_autoprint(intervalSo)
-        print "Current approximation error:", ; pobyso_autoprint(currentApproxErrorSo)
-        print "Requested approxiation error:", ; pobyso_autoprint(approxAccurSo)
+        print "Polynomial: ", ; pobyso_autoprint(polySo)
+        print "Function: ", ; pobyso_autoprint(funcSo)
+        print "Internal precision: ", ; pobyso_autoprint(precSo)
+        print "Interval: ", ; pobyso_autoprint(intervalSo)
+        print "Current approximation error: ", ; pobyso_autoprint(currentApproxErrorSo)
+        print "Requested approxiation error: ", ; pobyso_autoprint(approxAccurSo)
         print "________________"
     approxAccurSa        = pobyso_get_constant_as_rn_so_sa(approxAccurSo)
     currentApproxErrorSa = pobyso_get_constant_as_rn_so_sa(currentApproxErrorSo)
@@ -1565,10 +1566,10 @@
     intervalSa           = pobyso_range_to_interval_so_sa(intervalSo)
     
     if debug:
-        print "degreeSa  :", degreeSa
-        print "intervalSa:", intervalSa.str(style='brackets')
+        print "degreeSa              :", degreeSa
+        print "intervalSa            :", intervalSa.str(style='brackets')
         print "currentApproxErrorSa  :", currentApproxErrorSa 
-        print "approxAccurSa  :", approxAccurSa 
+        print "approxAccurSa         :", approxAccurSa 
     ### Start with a 0 value expression.
     radiusSa = intervalSa.absolute_diameter() / 2
     if debug:
@@ -1587,6 +1588,10 @@
             else:
                 roundingPowerSa = \
                     floor(((currentRadiusPowerSa/roundedPolyApproxAccurSa)*(degreeSa+1)).log2())
+            ## Under extreme conditions the above formulas can evaluate under 2, which is the
+            #  minimal precision of an MPFR number.
+            if roundingPowerSa < 2:
+                roundingPowerSa = 2
             if debug:
                 print "roundedPolyApproxAccurSa", roundedPolyApproxAccurSa
                 print "currentRadiusPowerSa", currentRadiusPowerSa
@@ -1701,7 +1706,7 @@
         errorTypeIsNone = False
     #
     if accuracySo is None:
-        # Notice the **!
+        # Notice the **: we are in Pythonland!
         accuracySo = pobyso_constant_sa_so(RR(2**(-40)))
         accuracyIsNone = True
     else:
