+
    ix                        R t ^RIHtHt R tR tER!R ltR tR tR t	^t
R	 tR
 tR t]ER"R l4       tR tR tR t]R 4       t]R 4       t . RR.NRNRR.NRNRR.NRNRR.NRNRR.NRNRR.NRNR R!.NRNR"R#.NRNR$R%.NRNR&R'.NRNR(R).NRNR*R+.NRNR,R-.NRNR.R/.NR0NR1R2.NRNR3R4.NRNR5R6.NRNR7R8.NRNR9R:.NRNR;R<.NRNR=R>.NRNR?R@.NRNRARB.NRNRCRD.NRNRERF.NRNRGRH.NRNRIRJ.NRNRKRL.NRNRMRN.NRNRORP.NRNRQRR.NRNRSRT.NRNRURV.NRNRWRX.NRNRYRZ.NRNR[R\.NRNR]R^.NRNR_R`.NRNRaRb.NRNRcRd.NRNReRf.NRNRgRh.NRNRiRj.NRNRkRl.NRNRmRn.NRNRoRp.NRNRqRr.NRNRsRt.NRNRuRv.NRNRwRx.NRNRyRz.NRNR{R|.NRNR}R~.NRNRR.NRNRR.NRNRR.NRNRR.NRNRR.NRNRR.NRNRR.NRNRR.NRNRR.NRNRR.NRNRR.NRNRR.NRNRR.NRNRR.NRNRR.NRNRR.NRNRR.NR0NRR.NRNRR.NRNRR.NRNRR.NRNRR.NRNRR.NRNRR.NRNRR.NRNRR.NRNRR.NRNRR.NRNRR.NRNRR.NRNRR.NRNRR.NRNRR.NRNRR.NRNRR.NRNRR.NRNRR.NRNRR.NRNRR.NRNRR.NRNRR.NRNRR.NRNRR.NRNRR.NRNRR.NRNRR.NRNRR.NRNRR.NRNRR.NRNRR.NRNRR.NRNRR.NRNRR.NRNRR.NRNRR.NRNRR.NRNRR.NRNRR.NRNRR.NRNRR.NRNRR.NRNRR.NRNRR.NRNER ER.NRNERER.NRNERER.NRNERER.NRNERER	.NRNER
ER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNER ER!.NRNER"ER#.NRNER$ER%.NRNER&ER'.NRNER(ER).NRNER*ER+.NRNER,ER-.NRNER.ER/.NRNER0ER1.NRNER2ER3.NRNER4ER5.NRNER6ER7.NRNER8ER9.NRNER:ER;.NRNER<ER=.NRNER>ER?.NRNER@ERA.NRNERBERC.NRNERDERE.NRNERFERG.NRNERHERI.NRNERJERK.NERLNERMERN.NRNEROERP.NRNERQERR.NERSNERTERU.NRNERVERW.NRNERXERY.NRNERZER[.NRNER\ER].NRNER^ER_.NRNER`ERa.NRNERbERc.NRNERdERe.NRNERfERg.NRNERhERi.NRNERjERk.NRNERlERm.NRNERnERo.NRNERpERq.NRNERrERs.NRNERtERu.NRNERvERw.NRNERxERy.NRNERzER{.NRNER|ER}.NRNER~ER.NRNERER.NRNERER.NERSNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNER ER.NRNERER.NRNERER.NRNERER.NRNERER	.NRNER
ER.NRNERER.NRNERER.NRNERER.NRNERER.NR0NERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNER ER!.NERSNER"ER#.NRNER$ER%.NRNER&ER'.NRNER(ER).NRNER*ER+.NRNER,ER-.NRNER.ER/.NRNER0ER1.NRNER2ER3.NRNER4ER5.NRNER6ER7.NRNER8ER9.NRNER:ER;.NRNER<ER=.NRNER>ER?.NRNER@ERA.NRNERBERC.NRNERDERE.NRNERFERG.NRNERHERI.NRNERJERK.NRNERLERM.NRNERNERO.NRNERPERQ.NRNERRERS.NRNERTERU.NRNERVERW.NRNERXERY.NRNERZER[.NRNER\ER].NRNER^ER_.NRNER`ERa.NRNERbERc.NRNERdERe.NRNERfERg.NRNERhERi.NRNERjERk.NRNERlERm.NRNERnERo.NRNERpERq.NRNERrERs.NRNERtERu.NRNERvERw.NRNERxERy.NRNERzER{.NRNER|ER}.NRNER~ER.NRNERER.NRNERER.NR0NERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NERSNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NERNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NERSNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER.NRNERER .NRNERER.NRNERER.NRNERER.NRNERER.NERNERER.NERNER	ER
.NERNERER.NERNERER.NERNERER.NERNERER.NERNERER.NERNERER.NERNERER.NERNERER.NERNERER .NERNtR# (#  a  
The function zetazero(n) computes the n-th nontrivial zero of zeta(s).

The general strategy is to locate a block of Gram intervals B where we
know exactly the number of zeros contained and which of those zeros
is that which we search.

If n <= 400 000 000  we know exactly the Rosser exceptions, contained
in a list in this file. Hence for n<=400 000 000 we simply
look at these list of exceptions. If our zero is implicated in one of
these exceptions we have our block B.  In other case we simply locate
the good Rosser block containing our zero.

For n > 400 000 000 we apply the method of Turing, as complemented by
Lehman, Brent and Trudgian  to find a suitable B.
)defundefun_wrappedc                   \        \        \        4      ^,          4       F  p\        ^V,          ,          ^ ,          p\        ^V,          ,          ^,          pW1^,
          8:  g   KH  V^,
          V8:  g   KX  V P                  V4      pV P                  V4      pV P                  P                  V4      pV P                  P                  V4      pW,
          ^,
          p	WC,
          p
\        ^V,          ^,           ,          pWV.WV.Wx.3u # 	  V^,
          p\        W4      w  rpV.pV.pV^ 8  d>   V^,          p\        W4      w  rpVP                  ^ V4       VP                  ^ V4       KD  W,
          ^,
          p	V^,
          p\        V V4      w  rpVP                  V4       VP                  V4       V^ 8  d=   V^,          p\        V V4      w  rpVP                  V4       VP                  V4       KC  WV.W3# )z;for n<400 000 000 determines a block were one find our zero)	rangelen_ROSSER_EXCEPTIONS	grampoint_fpsiegelzcompute_triple_tvbinsertappend)ctxnkabt0t1v0v1my_zero_numberzero_number_blockpatterntvTVms   &&               z/Users/tonyclaw/.openclaw/workspace/skills/math-calculator/venv/lib/python3.14/site-packages/mpmath/functions/zetazeros.pyfind_rosser_block_zeror       s   3)*A-.
QqS
!!
$
QqS
!!
$1W1Q3!8q!Bq!B$B$BSUN !(1Q/G"qEB7RG<< / 	
!As&EA	
A	
A
a%	Q"3*A	1	1SUN	!AsA&EAHHQKHHQK
a%	Q"3*A		qE1((    c                @    ^5pV R8  d   ^?pV R8  d   ^FpV R8  d   ^SpV# )z(Precision needed to compute higher zerosi l    h]     @ k  )r   wps   & r   wpzerosr&   7   s0    	B7{6z6zIr!   Nc                  a  Vf   S P                   p^ p\        V4      pWq8  Ed   Wd8  Ed   V^ ,          pV^ ,          p	V.p
V	.p^ p\        ^\        V4      4       EF8  pW,,          pW<,          pW,          ^ 8  d6   S P	                  W,          4      pW,          V,           V^,           ,          pMW,           ^,          pV^
8  d>   S P
                  P                  V4      p\        V4      V8  d   S P                  V4      pMS P                  V4      pV	V,          ^ 8  d
   V^,          pV
P                  V4       VP                  V4       W<,          pVV,          ^ 8  d
   V^,          pV
P                  V4       VP                  V4       TpTp	EK;  	  T
pTpV^,          pV\        8  Ed   V^8  Ed   V^,           V8X  Ed    ^ p^ p^ p\        ^\        V4      4       FD  pVV,          VV^,
          ,          ,
          pVV8  d	   TpTpTpK0  VV8  g   K9  VV8  g   KB  TpKF  	  V^V,          8  d   V 3R lpVV^,
          ,          pVV,          pS P                  VVV3RRRR7      pS P                  V4      p	VV8  d@   VV8  d9   WV,          ,          ^ 8  d%   VP                  VV4       VP                  VV	4       \        V4      pEK  Wq8X  d   RpMRpW#V3# )zZSeparate the zeros contained in the block T, limitloop
determines how long one must searchc                 *   < SP                  V ^R7      # )   
derivative)rs_zxr   s   &r   <lambda>)separate_zeros_in_block.<locals>.<lambda>y   s    chhqAh6r!   illinoisF)solververifyverboseT)infcount_variationsr   r   sqrtr	   r
   absr   ITERATION_LIMITfindrootr   )r   r   r   r   	limitloopfp_tolerance
loopnumber
variationsr   r   newTnewVr   b2ualphar   wdtMaxdtSeckMaxk1dtfr   r   r   	separateds   f&&&&&                      r   separate_zeros_in_blockrL   B   s    GG	J!!$J*1FaDaDss
qQABAAGBJq)T1Hb GGOOA&q6,&AA++a.s1ua
KKNKKNAsAva
KKOKKNAA1 !2 Q
o%*Q,:a<IZ;ZEEDAc!forU1RT7]:D!EE%xRYE & QuW}6T!V9tW,,qBr7JeUZ,[KKNqDqt!dG)A+HHT!$HHT!$%a(
&		r!   c                  a  ^ pV^ ,          p\        ^\        V4      4       F/  pWH,          p	Wy,          ^ 8  d   V^,          pWa8X  d   Tp
TpT	pT	pK1  	  VX
,          pW:^,
          ,          pVS n        \        VS P	                  V4      ,          4      p^S P                  V4      ,          pS P                  ^,           .p^ pV^ ,          ^V,          8  d9   V^,          pV^ ,          ^,          ^,           ^V,          ,           .V,           pKM  V^ ,          V,           S n        S P                  V 3R lW3RRR7      pS P                  RV4      pVR,           Fb  pVV,           S n        VS P                  V4      S P                  V^R7      ,          ,
          pS P                  RS P                  V4      4      pKd  	  S P                  V4      # )zLIf we know which zero of this block is mine,
the function separates the zeroc                 &   < SP                  V 4      # )Nr
   r-   s   &r   r/   "separate_my_zero.<locals>.<lambda>   s    ckk!nr!   r1   F)r2   r4         ?:r)   NNr*   )
r   r   precr&   logmagr:   mpczetaim)r   r   r   r   r   rR   r>   r   r   r   k0leftvrightvr   r   wpzguardprecsindexrzznews   f&&&&&                r   separate_my_zerorb      s    J	
1B1SV_T519NJ+  
2B	
a4BCH
.!88
9Ccggn%%EXXaZLE
E
(QsU
	qQ!!E')*U2Qx%CH,rgzSXYA	ggc!nAb		%<388A;!!:::
''#cffTl
#  66!9r!   c                @   VR8  d   ^# V P                  V^d,
          4      pV P                  P                  V4      pRV^,          ,          RV,          ,           pRV^,          ,          RV,          ,           pV P                  \	        WE4      4      p\        V4      pV# )zThe number of good Rosser blocks needed to apply
Turing method
References:
R. P. Brent, On the Zeros of the Riemann Zeta Function
in the Critical Strip, Math. Comp. 33 (1979) 1361--1372
T. Trudgian, Improvements to Turing Method, Math. Comp.gHPx?g{Gz?ga+ei?g)\(?i )r   r	   lnceilminint)r   r   glgbrenttrudgianNs   &&     r   sure_number_blockrm      s~     	7{aeA	ABRUNDG#EA~tBw&HU$%AAAHr!   c                    V P                  V4      pV P                  P                  V4      pV P                  \	        V4      4      V P                  V4      ^-,
          8  d   V P                  V4      pVRV,          ,          pW#V3# )-   )r   r	   r
   rT   r8   )r   r   r   r   r   s   &&   r   r   r      se    aAA
wws1vswwqz"}$KKN	2'	Aq5Lr!   c           	     d	   \        W4      p^ pV^,
          p\        W4      w  rgpV.p	V.p
V^ 8  d<   V^,          p\        W4      w  rgpV	P                  V4       V
P                  V4       KB  V.pV.pV.pV^V,          8  Ed   V^,          p\        W4      w  rgpVP                  V4       VP                  V4       V^ 8  d<   V^,          p\        W4      w  rgpVP                  V4       VP                  V4       KB  VP                  V4       \        V4      ^,
          p\	        WW\
        VR7      w  pppV	P                  4        V	P                  V4       V
P                  4        V
P                  V4       V'       d   V^,          pM^ pV.pV.pEK#  ^ pV^,
          p\        W4      w  rgpV	P                  ^ V4       V
P                  ^ V4       V^ 8  d>   V^,          p\        W4      w  rgpV	P                  ^ V4       V
P                  ^ V4       KD  VP                  ^ V4       V.pV.pV^V,          8  Ed	   V^,          p\        W4      w  rgpVP                  ^ V4       VP                  ^ V4       V^ 8  d>   V^,          p\        W4      w  rgpVP                  ^ V4       VP                  ^ V4       KD  VP                  ^ V4       \        V4      ^,
          p\	        WW\
        VR7      w  pppVP                  4        W,           p	VP                  4        VV
,           p
V'       d   V^,          pM^ pV.pV.pEK  V^V,          ,          p\        V4      pVV^V,          ,
          ^,
          ,          p\        V V4      w  pppV	P                  V4      p\        V V4      w  pppV	P                  V4      pV	VV^,            pV
VV^,            pVV,
          p\	        WW\
        VR7      w  pppV'       d   VV,
          ^,
          VV.VV3# W,          p\        V4      pVVV,
          ^,
          ,          p\        V V4      w  ppp V	P                  V4      p!\        W4      w  p"p#p$V	P                  V"4      p%V	V!V%^,            pV
V!V%^,            pVV,
          ^,
          VV.W3# )zTo use for n>400 000 000r;   r<   )
rm   r   r   r   rL   r9   popextendr   r^   )&r   r   r<   sbnumber_goodblocksm2r   r   r   TfVf
goodpointsr   r   znABrK   r_   ri   strvrbrartsvsbsas1qtqvqbqaqttvtbtats&   &&&                                   r   search_supergood_blockr      sL   	3	"B	
1B )GA!
B
B
a%
a"3+A
		!
		!J	
A	
A
ad
"
a$S-a		!e!GB&s/EAHHQKHHQK"VAX"3AO)+ 	1i 	
		!

		!" !CC	
1B )GA!IIaNIIaN
a%
a"3+A
		!A
		!Aa	
A	
A
ad
"
a$S-a	1	1!e!GB&s/EAHHQqMHHQqM!BVAX"3AOZfg 	1i	T	rT" !CC1R4A	ZB2ad719A#C+JBB	"B#C+JBB
((2,C
2c!eA
2c!eA	
1Bsq_S_` Aq)!AqeAa  A	ZB2b57A#C+JBB	"B#C+JBB	"B
2bdA
2bdAaCE1Q%r!   c                     ^ pV ^ ,          p\        ^\        V 4      4       F#  pW,          pW$,          ^ 8  d
   V^,          pTpK%  	  V#     )r   r   )r   countvoldr   vnews   &    r   r6   r6   2  sJ    EQ4D1c!ft9q=AIE	 
 Lr!   c                    R pV^ ,          pV^,          p\        W4      w  rxp	^ p
^ p\        V^,           V^,           4       F  p\        W4      w  rp\        V4      pV
V8  d   W*,          V8:  d   V
^,          p
K  W;V
 pVP                  V4       VP	                  ^ V4       \        V4      pVRV,          ,           pV^ 8  d
   VR,           pT
pYTrpK  	  VRR pV# )(z%sz)(Nrp   )r   r   r   r   r   r6   )r   blockr   r   r   r   r   r   r   b0r   rX   r   r   r   b1lgTLr   s   &&&&               r   pattern_constructr   <  s    GaAaA!#)HB"	A	
B1Q3qs^%c-bV3wQTRZFAG		2 #TE\*6nGbb  crlGNr!   c           	     L   \        V4      pV^ 8  d!   V P                  V) 4      P                  4       # V^ 8X  d   \        R4      hV P                  p \        W4      w  rVWPn        VR8  d   \        W4      w  rxrM\        WV4      w  rxrV^,          V^ ,          ,
          p\        WWV P                  VR7      w  rpV'       d   \        WW4      p\        WE4      p\        WWW4      pV P                  RV4      pW@n        V'       d   V5pV'       d   VWX3# V#   Y@n        i ; i)a  
Computes the `n`-th nontrivial zero of `\zeta(s)` on the critical line,
i.e. returns an approximation of the `n`-th largest complex number
`s = \frac{1}{2} + ti` for which `\zeta(s) = 0`. Equivalently, the
imaginary part `t` is a zero of the Z-function (:func:`~mpmath.siegelz`).

**Examples**

The first few zeros::

    >>> from mpmath import *
    >>> mp.dps = 25; mp.pretty = True
    >>> zetazero(1)
    (0.5 + 14.13472514173469379045725j)
    >>> zetazero(2)
    (0.5 + 21.02203963877155499262848j)
    >>> zetazero(20)
    (0.5 + 77.14484006887480537268266j)

Verifying that the values are zeros::

    >>> for n in range(1,5):
    ...     s = zetazero(n)
    ...     chop(zeta(s)), chop(siegelz(s.imag))
    ...
    (0.0, 0.0)
    (0.0, 0.0)
    (0.0, 0.0)
    (0.0, 0.0)

Negative indices give the conjugate zeros (`n = 0` is undefined)::

    >>> zetazero(-1)
    (0.5 - 14.13472514173469379045725j)

:func:`~mpmath.zetazero` supports arbitrarily large `n` and arbitrary precision::

    >>> mp.dps = 15
    >>> zetazero(1234567)
    (0.5 + 727690.906948208j)
    >>> mp.dps = 50
    >>> zetazero(1234567)
    (0.5 + 727690.9069482075392389420041147142092708393819935j)
    >>> chop(zeta(_)/_)
    0.0

with *info=True*, :func:`~mpmath.zetazero` gives additional information::

    >>> mp.dps = 15
    >>> zetazero(542964976,info=True)
    ((0.5 + 209039046.578535j), [542964969, 542964978], 6, '(013111110)')

This means that the zero is between Gram points 542964969 and 542964978;
it is the 6-th zero between them. Finally (01311110) is the pattern
of zeros in this interval. The numbers indicate the number of zeros
in each Gram interval (Rosser blocks between parenthesis). In this case
there is only one Rosser block of length nine.
zn must be nonzero rr   rQ   )rg   zetazero	conjugate
ValueErrorrR   comp_fp_tolerancer    r   rL   r5   r   maxrb   rU   )r   r   inforound	wpinitialr[   r<   r   r   r   r   r   rK   r   rR   r   r   s   &&&&             r   r   r   T  s#   x 	AA1u||QB))++Av,--I-c5y=#C+ (N1a $CL9 (N1!!HU1X-1#!ggL:i'!6G9"S2CaMGGCN2%w// s   B)D D#c                    VR8  d   ^V P                  V^
4      ,          pM^ pV P                  p V ;P                  V,          un        \        V P                  V4      V P                  ,          4      pW0n        V#   Y0n        i ; i)
   l     a$)rS   rR   rg   siegelthetapi)r   r   r%   rR   hs   &&   r   
gram_indexr     sl    6zswwq"~88DB"366)*I s   AA= =Bc                    ^ pV^ ,          pV^ ,          pV^,          p^pWq8  d4   W8,          p	WY,          ^ 8  d
   V^,          pT	pV^,          pW(,          pK9  V P                  V4      p
W,          ^ 8  d
   V^,          pV# r   rO   )r   r   r   r   r   r   toldtnewr   r   r   s   &&&&       r   count_tor     s~    EQ4DQ4DQ4D	A
(t9q=QJE	QtAAvz
Lr!   c                 |    \        WP                  V4      ,          4      pVR8  d   RpW#3# VR8:  d   RpW#3# ^dpW#3# )   gMb@?g?i /hYr#   )r&   rS   )r   r   r[   r<   s   &&  r   r   r     sV    
!GGAJ,
C8|
 	 
f  r!   c           	        VR8  d   ^ # \        W4      p\        V P                  V4      4      pV P                  p\	        W4      w  rVWPn        V P                  V4      pVR8X  d
   V^ 8  d   ^ # VR8X  d
   V^ 8  d   ^# V^,           R8  d   \        W^,           4      pM\        W^,           V4      pV^,          w  rW,
          ^8X  d<   V^,          ^ ,          pW{,          ^ 8  d   W@n        V^,           # W@n        V^,           # Vw  rrW,
          p\        V VWV P                  VR7      w  rp\        WW4      pW@n        VV	,           ^,           # )a  
Computes the number of zeros of the Riemann zeta function in
`(0,1) \times (0,t]`, usually denoted by `N(t)`.

**Examples**

The first zero has imaginary part between 14 and 15::

    >>> from mpmath import *
    >>> mp.dps = 15; mp.pretty = True
    >>> nzeros(14)
    0
    >>> nzeros(15)
    1
    >>> zetazero(1)
    (0.5 + 14.1347251417347j)

Some closely spaced zeros::

    >>> nzeros(10**7)
    21136125
    >>> zetazero(21136125)
    (0.5 + 9999999.32718175j)
    >>> zetazero(21136126)
    (0.5 + 10000000.2400236j)
    >>> nzeros(545439823.215)
    1500000001
    >>> zetazero(1500000001)
    (0.5 + 545439823.201985j)
    >>> zetazero(1500000002)
    (0.5 + 545439823.325697j)

This confirms the data given by J. van de Lune,
H. J. J. te Riele and D. T. Winter in 1986.
g%fD,@r   rr   rp   )r   rg   floorrR   r   r
   r    r   rL   r5   r   )r   r   r.   r   r   r[   r<   r   Rblockn1n2r   r   r   r   r   r   rK   r   s   &&                 r   nzerosr     s6   J 	3ACIIaLAI)#1CHAABw1q5	
bQUsY'qS1'qS,?AYFB	uz1IaL37 HQ3J HQ3J!'N!-c.?8;9EGOA) 	AHR46Mr!   c                    V P                  V4      ^,
          V P                  V4      V P                  ,          ,
          # )a  
Computes the function
`S(t) = \operatorname{arg} \zeta(\frac{1}{2} + it) / \pi`.

See Titchmarsh Section 9.3 for details of the definition.

**Examples**

    >>> from mpmath import *
    >>> mp.dps = 15; mp.pretty = True
    >>> backlunds(217.3)
    0.16302205431184

Generally, the value is a small number. At Gram points it is an integer,
frequently equal to 0::

    >>> chop(backlunds(grampoint(200)))
    0.0
    >>> backlunds(extraprec(10)(grampoint)(211))
    1.0
    >>> backlunds(extraprec(10)(grampoint)(232))
    -1.0

The number of zeros of the Riemann zeta function up to height `t`
satisfies `N(t) = \theta(t)/\pi + 1 + S(t)` (see :func:nzeros` and
:func:`siegeltheta`)::

    >>> t = 1234.55
    >>> nzeros(t)
    842
    >>> siegeltheta(t)/pi+1+backlunds(t)
    842.0

)r   r   r   )r   r   s   &&r   	backlundsr   !  s.    H ::a=?3??1-cff444r!   i i z(00)3iaidiiz3(00)i=i=ioioiKiNi'i'iDiDi5i5i"i"i͜JiМJi+di.diOeiRei6٧i:٧z(00)40i(i(iR4yiU4yiýiýieieiii2 i5 i^RiaRi(i(iL=iO=iGi"Givi"viiiii	Ui	Ui_i_ieieihihi$.i'.i;i;iii~)i~)i<i
<i@i@iZDi]DipNisNibibi(i(iiivxiyxiiikini7/i:/i(7i(7ioEirEiOeIiReIipipi5i5iiiEŵiHŵi:i=i#i&i	i	i.	i1	i	iÁ	i&&	i)&	iĺ?	iǺ?	iϴB	iҴB	i_	i_	i_	i_	i&g	i&g	itqo	iwqo	i		i		ic	if	i=	i=	iv	iv	i	i	id	ig	iL
	iO
	i;
i;
i0
i0
iS'
iV'
i,
i,
i@
i@
i1T
i1T
i[
i[
i`
i`
i`c
i`c
if
if
i!y
i!y
iՊ
iՊ
i
i
i
i
iWC
iZC
i>h
iAh
i[b
i^b
i
i
z22(00)iǂ
iʂ
it4diw4dididififz(00)22iyiyiiiךiךi׬i׬isisiii
i
iZi]ititiii!i!i{i{i"i%iyiyi{i~iiiii=&i=&i|Ei|EiwLizLiYiYioYirYi]i]z3(010)i$`i'`ififiˁgi΁gib|ie|i`i`i3i6iii߀ii(>i+>iOiRiiiiÀiii
i
ie
ih
ijimi.Wi1Wi0`i3`i)T/i,T/i	SiSiXiXi]Yi`Yi<Ngi@Ngimimiii*i-iwiwi_ibi٤i٤iii=gi@gi#i#iii`~ic~ib
ie
i?iBi<i?i7(i7(z04(00)i//Ni2/Niz|Qi}|QiNciNcz(010)3i˾eiξeihihiDhiGhihʇikʇiiiiiiiiiliЦiЦiS;iV;i ii%i(iii-i0i'i*i55i55iZ7iZ7i"Mi"Mi`i`iSgiWgiti ti?iBiviviii"Ai%Aikiki#i&iiiii0i0i[i^iXi[iR%iR%iO'iR'iz7i}7iaI?idI?i!Wi$WiKYiNYihihi}li}lioqirqihrikriyiyiiiii(i(i$
i'
im(ip(i[i^iѓiԓiqxitxi@QiCQiSiSiCiFie,ih,iw)iz)iߥii8i;iiiiiiic!if!i'i'i(i(i:6i:6iJiJiOiOi]^i`^iqsitsiexihxi&|i)|i"i"ibibiiiiiAiDiiiaiaiiiii i i1!i1!iʺ*iκ*iP2iS2i.Ii.Ii;Mi;MiSiSididijnimniiiɭi̭iIiLiii !i!iڜiڜikiki*i*iiiiiiili'Di*Diii~ii)i,iFiIiK\iN\izB-i}B-i*Vi*VimimixixiPyiSyi׸iڸi$Îi'Îiĩiǩiϐiϐiiiiimipi5i5i%i%i>KiAKi{~i~~iViYiHiHiii*i*iiiii3i6iiiiiY#iY#i#i#i$i$iNgiQgidligliůiůipipi\i\i׊iڊiNiQiiiiiAiAi	.i.i2i2ipipiii i iii'*i**iZ35i^35i<7i<7i'=i*=iAiAiEiEiEiEiPUiPUi{Xi{Xi fifiiiniri1i1i @i@iii?i?iiiii*i-i$i$z04(010)i9i<i i iImiLmisisiІ4iԆ4iZ6i]6i;i;iBiBicici
vi
vidzidzi}i}i8i8i5i5ixi{iʯiʯiGSiJSiiiQNiTNipipiiizi~iii6i6i} i} iViVi/i/iMo%iPo%i*i*i-i-iA@iA@iNAiRAiGCiJCizXizXi'\i*\i\i\i'li'li1li4lifrifriTKxiWKxi|i|i꣗iiљiљiiiiiii2ji5jiۣii	]i]z032(00)i΄c,iӄc,z(010)40iӹ,iӹ,i9i9i%:i%:z(00)410iw;iw;it?it?z(00)230iqHivHi}Ji}JiQiQ)NN)FT)__doc__	functionsr   r   r    r&   rL   rb   rm   r   r9   r   r6   r   r   r   r   r   r   r   r   r$   r!   r   <module>r      s.  " ,!)F	DL#J" fP0 Y Yv$ E EN #5 #5L&^C(H Cw C	8 CC	8 CC 
8 C C 
8 	C 	C
 
8 C
 C 
8 C C 
8 C C 
8 C C 
8 C C 
8 C C 
8 C C 
8 C C 
8 C C 
8 C C 
8 C C  
8 !C  !C" 
8 #C" #C$ 
8 %C$ %C& 
8 'C& 'C( 
8 )C( )C* 
8 +C* +C, 
8 -C, -C. 
8 /C. /C0 
8 1C0 1C2 I 3C2  3C4 I 5C4  5C6 I 7C6  7C8 I 9C8  9C: I ;C:  ;C< I =C<  =C> I ?C>  ?C@ I AC@  ACB I CCB  CCD I ECD  ECF I GCF  GCH I ICH  ICJ I KCJ  KCL I MCL  MCN I OCN  OCP I QCP  QCR I SCR  SCT I UCT  UCV I WCV  WCX I YCX  YCZ I [CZ  [C\ I ]C\  ]C^ I _C^  _C` I aC`  aCb I cCb  cCd I eCd  eCf I gCf  gCh I iCh  iCj I kCj  kCl I mCl  mCn I oCn  oCp I qCp  qCr I sCr  sCt I uCt  uCv I wCv  wCx I yCx  yCz I {Cz  {C| I }C|  }C~ I C~  C@ I AC@  ACB I CCB  CCD I ECD  ECF I GCF  GCH I ICH  ICJ I KCJ !KCL I MCL  MCN I OCN  OCP I QCP  QCR I SCR  SCT I UCT  UCV I WCV  WCX I YCX  YCZ I [CZ  [C\ I ]C\  ]C^ I _C^  _C` I aC`  aCb I cCb  cCd I eCd  eCf I gCf  gCh I iCh  iCj I kCj  kCl I mCl  mCn I oCn  oCp I qCp  qCr I sCr !sCt I uCt  uCv I wCv  wCx I yCx  yCz I {Cz !{C| I }C|  }C~ I C~ !C@ I AC@  ACB I CCB  CCD I ECD  ECF I GCF  GCH I ICH  ICJ I KCJ  KCL I MCL  MCN I OCN  OCP I QCP  QCR I SCR  SCT I UCT  UCV I WCV !WCX I YCX  YCZ I [CZ  [C\ I ]C\  ]C^ I _C^  _C` I aC`  aCb I cCb  cCd I eCd  eCf I gCf !gCh I iCh  iCj I kCj  kCl I mCl  mCn I oCn  oCp I qCp  qCr I sCr  sCt I uCt  uCv I wCv  wCx I yCx  yCz I {Cz  {C| I }C|  }C~ I C~  C@ I AC@  ACB I CCB  CCD I ECD  ECF I GCF  GCH I ICH  ICJ I KCJ  KCL I MCL  MCN I OCN  OCP I QCP  QCR I SCR  SCT I UCT !UCV I WCV  WCX I YCX  YCZ I [CZ  [C\ I ]C\  ]C^ I _C^  _C` I aC`  aCb I cCb  cCd I eCd  eCf I gCf  gCh I iCh  iCj I kCj  kCl I mCl  mCn I oCn  oCp I qCp  qCr I sCr !sCt I uCt  uCv I wCv  wCx I yCx !yCz I {Cz  {C| I }C|  }C~ I C~  C@ I AC@  ACB I CCB  CCD I ECD  ECF I GCF  GCH I ICH  ICJ I KCJ  KCL I MCL  MCN I OCN  OCP I QCP  QCR I SCR  SCT I UCT  UCV I WCV  WCX I YCX  YCZ I [CZ  [C\ I ]C\  ]C^ I _C^  _C` I aC` !aCb I cCb  cCd I eCd  eCf I gCf  gCh I iCh !iCj I kCj  kCl I mCl  mCn I oCn  oCp I qCp  qCr I sCr  sCt I uCt  uCv I wCv  wCx I yCx  yCz I {Cz  {C| I }C|  }C~ I C~  C@ I AC@  ACB I CCB  CCD I ECD  ECF I GCF  GCH I ICH  ICJ I KCJ  KCL I MCL  MCN I OCN !OCP I QCP  QCR I SCR  SCT I UCT  UCV I WCV  WCX I YCX  YCZ I [CZ  [C\ I ]C\  ]C^ I _C^  _C` I aC`  aCb I cCb  cCd I eCd  eCf I gCf  gCh I iCh  iCj I kCj  kCl I mCl  mCn I oCn  oCp I qCp  qCr I sCr  sCt I uCt  uCv I wCv  wCx I yCx  yCz I {Cz  {C| I }C|  }C~ I C~ !C@ I AC@  ACB I CCB  CCD I ECD  ECF I GCF  GCH I ICH  ICJ I KCJ  KCL I MCL  MCN I OCN  OCP I QCP  QCR I SCR  SCT I UCT  UCV I WCV  WCX I YCX  YCZ I [CZ  [C\ I ]C\  ]C^ I _C^ !_C` I aC`  aCb I cCb  cCd I eCd  eCf I gCf  gCh I iCh  iCj I kCj  kCl I mCl  mCn I oCn  oCp I qCp  qCr I sCr  sCt I uCt  uCv I wCv  wCx I yCx !yCz I {Cz  {C| I }C|  }C~ I C~  C@ I AC@  ACB I CCB  CCD I ECD  ECF I GCF !GCH I ICH  ICJ I KCJ  KCL I MCL  MCN I OCN  OCP I QCP  QCR I SCR  SCT I UCT  UCV I WCV  WCX I YCX  YCZ I [CZ  [C\ I ]C\  ]C^ I _C^  _C` I aC`  aCb I cCb  cCd I eCd  eCf I gCf  gCh I iCh  iCj I kCj  kCl I mCl  mCn I oCn  oCp I qCp !qCr I sCr  sCt I uCt  uCv I wCv  wCx I yCx  yCz I {Cz  {C| I }C|  }C~ I C~  C@	 I A	C@	  A	CB	 I C	CB	  C	CD	 I E	CD	  E	CF	 I G	CF	  G	CH	 I I	CH	  I	CJ	 I K	CJ	  K	CL	 I M	CL	  M	CN	 I O	CN	  O	CP	 I Q	CP	  Q	CR	 I S	CR	  S	CT	 I U	CT	  U	CV	 I W	CV	  W	CX	 I Y	CX	  Y	CZ	 I [	CZ	  [	C\	 I ]	C\	  ]	C^	 I _	C^	  _	C`	 I a	C`	  a	Cb	 I c	Cb	  c	Cd	 I e	Cd	  e	Cf	 I g	Cf	  g	Ch	 I i	Ch	 !i	Cj	 I k	Cj	  k	Cl	 I m	Cl	  m	Cn	 I o	Cn	  o	Cp	 I q	Cp	  q	Cr	 I s	Cr	  s	Ct	 I u	Ct	  u	Cv	 I w	Cv	  w	Cx	 I y	Cx	  y	Cz	 I {	Cz	  {	C|	 I }	C|	 !}	C~	 I 	C~	  	C@
 I A
C@
  A
CB
 I C
CB
  C
CD
 I E
CD
  E
CF
 I G
CF
  G
CH
 I I
CH
  I
CJ
 I K
CJ
  K
CL
 I M
CL
 "M
CN
 I O
CN
  O
CP
 I Q
CP
  Q
CR
 I S
CR
  S
CT
 I U
CT
  U
CV
 I W
CV
 !W
CX
 I Y
CX
  Y
CZ
 I [
CZ
  [
C\
 I ]
C\
  ]
C^
 I _
C^
  _
C`
 I a
C`
  a
Cb
 I c
Cb
  c
Cd
 I e
Cd
  e
Cf
 I g
Cf
  g
Ch
 I i
Ch
  i
Cj
 I k
Cj
  k
Cl
 I m
Cl
  m
Cn
 I o
Cn
  o
Cp
 I q
Cp
 !q
Cr
 I s
Cr
  s
Ct
 I u
Ct
  u
Cv
 I w
Cv
  w
Cx
 I y
Cx
 !y
Cz
 I {
Cz
  {
C|
 I }
C|
  }
C~
 I 
C~
  
C@ I AC@  ACB I CCB !CCD I ECD  ECF I GCF  GCH I ICH  ICJ I KCJ  KCL I MCL !MCN I OCN  OCP I QCP  QCR I SCR  SCT I UCT !UCV I WCV  WCX I YCX  YCZ I [CZ  [C\ I ]C\  ]C^ I _C^  _C` I aC`  aCb I cCb  cCd I eCd  eCf I gCf  gCh I iCh  iCj I kCj  kCn I oCn "oCp I qCp "qCr I sCr "sCt I uCt "uCv I wCv "wCx I yCx "yCz I {Cz "{C| Z }C| $}C~ Z C~ $C@ Z AC@ $ACB Z CCB $CCD Z ECD $EC r!   