r2_check.py (verification run 2); Python 3.13.5; parts 012345; back end both; PB = 320
============================================================================================================
N652-B:  N = 652;  Sigma* = 1/2 (computed);  nu = 17923/2125520000, x0 = 1/2000, X = 15644677463754464603/15625000000000000000, rho = 2240504329174974763041/250000000000000000000000000
  [1] (2), (3), (4) vanish exactly at the six states of Lemma 3.2, all C_j > 0, Sigma = Sigma*, feasible: True;  signs of the right-hand side of (1): + - + - + -   PASS
  [2] signs of P at the six test points: + - + - + -   PASS   (integers chat_1, that_0 of 20155 to 57239 bits)
      time: 1.0 s
  [3] Lemma 4.1 (PB = 320): 46443 closed intervals cover [x0, X]: 46419 without a root, 24 monotone; deepest bisection 36, 92858 point evaluations, smallest interval 1.46e-11
      roots of P in [x0, X]: 5, all simple;  signs of P': - + - + -   PASS   (one in each interval between consecutive test points: True)
        root 1:  x in (0.9848008512025017, 0.9848008512316276),  S in (0.9843008512025018, 0.9843008512316277)
        root 2:  x in (0.9849765446852018, 0.9849765446997648),  S in (0.9844765446852018, 0.9844765446997648)
        root 3:  x in (0.9852431824155717, 0.9852431824301346),  S in (0.9847431824155717, 0.9847431824301347)
        root 4:  x in (0.9854836839774884, 0.9854836839920513),  S in (0.9849836839774884, 0.9849836839920514)
        root 5:  x in (0.9857732975817667, 0.9857732976982705),  S in (0.9852732975817667, 0.9852732976982704)
      time: 99.8 s
  [4] coefficients of a positive multiple of P: degree 653, up to 20301 bits   (time: 0.9 s)
      Horner values of the coefficient list at the six test points equal the values of the recursion: True
      back end python-flint 0.9.0: 18 intervals between x0 and X, sign changes: 0 0 0 0 0 0 0 0 0 1 1 0 1 1 1 0 0 0
      cut points: 1/2, 4/5, 9/10, 19/20, 49/50, 491/500, 123/125, 1969/2000, 1231/1250, 9849/10000, 197/200, 2463/2500, 4927/5000, 1971/2000, 493/500, 247/250, 99/100
      every interval has 0 or 1 sign changes: True;  number of roots of P in (x0, X): 5   PASS   (time: 5.9 s)
      each root interval of part [3] lies in one of the five intervals with one sign change: True
      back end plain Python integers: 18 intervals between x0 and X, sign changes: 0 0 0 0 0 0 0 0 0 1 1 0 1 1 1 0 0 0
      cut points: 1/2, 4/5, 9/10, 19/20, 49/50, 491/500, 123/125, 1969/2000, 1231/1250, 9849/10000, 197/200, 2463/2500, 4927/5000, 1971/2000, 493/500, 247/250, 99/100
      every interval has 0 or 1 sign changes: True;  number of roots of P in (x0, X): 5   PASS   (time: 13.5 s)
      each root interval of part [3] lies in one of the five intervals with one sign change: True
  [5] gcd(P, P') is constant (all complex roots of P are simple): True   PASS   (time: 0.0 s)
  N652-B: ALL EXECUTED PARTS PASS   (total 122.1 s)
============================================================================================================
1 parameter points: ALL PASS
