This report presents specific results which were obtained during the numerical verification of the Riemann Hypothesis. Therefore, we recommend the reader to study the four papers by Brent [3], Brent et al. [4], and van de Lune et al. [13], [14] for an easy understanding of this report and the notation.
Starting in Febrary 2001, we transferred the source code of van de Lune, te Riele, and Winter [12] from FORTRAN/COMPASS to C++, enabling us to use the program on different workstations and PCs. Similarly, our program used a very fast and efficient method and a 120 times slower but very accurate method. Especially for the x86 processor and the fast method, the evaluation of the sum
was written in Assembler which is part of the RiemannSiegel formula for the realvalued function Z(t) with accurate IEEE floatingpoint arithmetic, since this needs about 78.7% of the running time. About 21% of the running time was spent for the slower method on evaluating Z(t) with twice the precision of IEEE double (106 mantissa bits) using Briggs’ C++ doubledouble package [5]. Our main difference in the fast method is that we evaluate a rigorous lower and upper bound for Z(t) simultaneously, which made the error analysis more simple than the error analysis of the paper [12]. Let (t,k) be the computed value of l(t,k) and let (d) be the approximated cosinevalues of cos(2 ^{.} d/2^{20}) for 0 < d < 2^{20} then the value of L(t) is between
and
Mainly, the strategy in our program of searching for sign changes of Z(t) in Rosser blocks of length greater than or equal to 2 based on the method of Rosser et al. [17] where many details are described in [12]. Therefore, the average number of Zevaluations, needed to separate a zero from its predecessor, is about 1.26 which is nearly the same as in [12]. The different search routines which determine the missing zeros in a Rosser block by Rosser’s rule are improved by recognizing a local minimum and maximum value of Z(t) in the search interval before using a grid of increasing refinement to search again in the same interval, if the “missing two” (zeros) are not found. Moreover, to handle the failures to Rosser’s rule, we used a simple method which searches for two additional sign changes in the previous two Rosser blocks B_{n1}, B_{n2} and the next two Rosser blocks B_{n+1}, B_{n+2} in zigzag manner  moving from the center of the blocks towards their periphery  if an exception to Rosser’s rule occurs in the Rosser block B_{n}. If the method looks just in one previous Rosser block, then we have the first exception for n = 53,365,784,979 (S(t) = 3.0214). Also, if the method looks just in one next Rosser block, then we have the first exception for n = 67,976,501,145 (S(t) = 3.2281).
In August 2001, we started the project “ZetaGrid” as Internet Computing inside the Intranet of IBM Corporation [24], and in August 2002, we extended this project for the Internet. So that there are more than 800 office computers/notebooks involved in this computation. These computers spend all of their idle time to the computation. Beside the mathematical correctness of this computation, the main challenges in the ZetaGrid computations were data management, data analysis, and social factors.
An historical overview of the number of computed zeros gives the following table:
Year  Author  Source  n  T(n)

1903  J. P. Gram  [6]  15  65.801 
1914  R. J. Backlund  [1]  79  199.649 
1925  J. I. Hutchinson  [7]  138  300.468 
1935  E. C. Titchmarsh  [22]  1, 041  1, 467.477 
1953  A. M. Turing  [23]  1, 104  1, 539.742 
1956  D. H. Lehmer  [10]  15, 000  14, 041.137 
1956  D. H. Lehmer  [11]  25, 000  21, 942.593 
1958  N. A. Meller  [16]  35, 337  29, 750.168 
1966  R. S. Lehman  [9]  250, 000  170, 570.745 
1968  J. B. Rosser, J. M. Yohe,  
L. Schoenfeld  [17]  3, 500, 000  1, 893, 193.452  
1977  R. P. Brent  [2]  40, 000, 000  18, 114, 537.803 
1979  R. P. Brent  [3]  81, 000, 001  35, 018, 261.243 
1982  R. P. Brent, J. van de Lune,  
H. J. J. te Riele, D. T. Winter  [4]  200, 000, 001  81, 702, 130.190  
1983  J. van de Lune, H. J. J. te Riele  [13]  300, 000, 001  119, 590, 809.282 
1986  J. van de Lune, H. J. J. te Riele,  
D. T. Winter  [14]  1, 500, 000, 001  545, 439, 823.215  
2001  J. van de Lune  [15]  10, 000, 000, 000  3, 293, 531, 632.415 
In 1988, a faster method for simultaneous computation of large sets of zeros of the zeta function was invented by Odlyzko and Sch¨onhage [21]. It has been implemented and used to compute 175 ^{.} 10^{6} zeros near zero number 10^{20}, 10 billion zeros near zero number 10^{22} and about 20 billion zeros near zero number 10^{23} (see [18], and [20]).
During the course of the verification of H(75,039,937,803) we accumulated various
statistics which are a continuation of the four papers by Brent [3], Brent et al. [4], and
van de Lune et al. [13], [14].
Some of these results are important for other papers, e.g. Odlyzko [19].
Our program did not explicitly search for pairs of close zeros of Z(t), but all small values of Z(t) which were computed by the more accurate method are printed out in logging files. Parsing all these logging files, we observed that the Rosser block B_{n} of length 2 and of zeropattern “0 2” contains the closest pair of zeros for n = 60,917,681,408 in the interval [g_{0},g_{75,039,937,803})^{1}. The distance between these two zeros is about 0.0001008. Comparing their distance with the quantity 2/ln(t_{n}) which is a natural measure on the distance of two consecutive zeros t_{n} and t_{n+1} of Z(t), we have
The following figure presents a graph of Z(t) in the interval [g_{n},g_{n+1}):
Our program prints out all zeropatterns in files. Parsing all these files for the exceptions to Rosser’s rule with zeropattern “0 0 0 0,” we found the following Gram indices
where the zeropattern “0 0 0 0” is in the interval [g_{n},g_{n+4}). Observing these numbers we found the largest distance between two zeros with a large positive value in the middle of these two zeros for n = 4,020,755,336 which is greater than 1.33805, and with a large negative value in the middle of these two zeros for n = 4,219,726,751 which is greater than 1.34254, respectively. A zeropattern “0 0 0 0 0” has not yet been found, neither 5 zeros in 1 Gram interval. The following figure presents a graph of Z(t) in the interval [g_{n2},g_{n+5}) for n = 4,020,755,336:
Our program did not explicitly search for large absolute values of Z(t), although we searched for large values in the intervals with zeropattern “0 0 0 0.” In these intervals, we found the largest positive value
for n = 63,052,468,321, and the largest negative value
for n = 25,304,589,019.^{2} The following figure presents a graph of Z(t) in the interval [g_{n1},g_{n+5}) for n = 50,740,831,994:
There exist a positive extreme value S(t) = 3.0214 for n = 53,365,784,979.
The following two tables give the number of Rosser blocks of length k in the interval [g_{0},g_{75,039,937,803}) for strings of 10^{10} successive Gram intervals J(k,n + 10^{10})  J(k,n):
Let M(P) be the set of all Gram indices where the Rosser block has the zeropattern P. Then the following three tables give the number and the first occurrences of a Rosser block with zeropattern P in the interval [g_{0},g_{75,039,937,803})^{3}:
The heuristic of van de Lune, te Riele, Winter [12] is also valid for higher ranges, i.e. the tendency of the socalled “missing two zeros” in Rosser blocks of length between 3 and 7, to lie in one of the two outer Gram intervals of the Rosser block.
First and foremost, I thank my managers Herbert Kircher, J¨org Thielges, Reinhold Krause, and Ralf Grohmann at IBM. They have given me all support needed to make this computing effort possible. I also wish to thank Andrew M. Odlyzko, Herman J. J. te Riele and Jan van de Lune for many useful suggestions. Finally, I gratefully acknowledge the participation of more than 380 persons in ZetaGrid [24].
[1] R. J. Backlund, ¨ Uber die Nullstellen der Riemannschen Zetafunktion, Dissertation, Helsingfors, 1916.
[2] R. P. Brent, The First 40, 000, 000 Zeros of (s) Lie on the Critical Line, Notices of the American Mathematical Society 24 (1977), A417.
[3] R. P. Brent, On the Zeros of the Riemann Zeta Function in the Critical Strip, Mathematics of Computation 33 (1979), 13611372.
[4] R. P. Brent, J. van de Lune, H. J. J. te Riele, D. T. Winter, On the Zeros of the Riemann Zeta Function in the Critical Strip II, Mathematics of Computation 39 (1982), 681688.
[5] K. M. Briggs, C++ software package ’doubledouble’, available at <http://www.btexact.com/people/briggsk2/doubledouble.html> or alternatively <http://more.btexact.com/people/briggsk2/doubledouble.html>.
[6] J. P. Gram, Note sur les zéros de la fonction (s) de Riemann, Acta Mathematica 27 (1903), 289304.
[7] J. I. Hutchinson, On the Roots of the Riemann Zeta Function, Transactions of the American Mathematical Society 27 (1925), 4960.
[8] T. Kotnik, Computational Estimation of the Order of ( + it), preprint, 2002.
[9] R. S. Lehman, Separation of Zeros of the Riemann ZetaFunction, Mathematics of Computation 20 (1966), 523541.
[10] D. H. Lehmer, On the Roots of the Riemann ZetaFunction, Acta Mathematica 95 (1956), 291298.
[11] D. H. Lehmer, Extended Computation of the Riemann ZetaFunction, Mathematika 3 (1956), 102108.
[12] J. van de Lune, H. J. J. te Riele, D. T. Winter, Rigorous High Speed Separation of Zeros of Riemann’s Zeta Function, Report NW 113/81, Mathematical Centre, Amsterdam, October 1981.
[13] J. van de Lune, H. J. J. te Riele, On the Zeros of the Riemann Zeta Function in the Critical Strip III, Mathematics of Computation 41 (1983), 759767.
[14] J. van de Lune, H. J. J. te Riele, D. T. Winter, On the Zeros of the Riemann Zeta Function in the Critical Strip IV, Mathematics of Computation 46 (1986), 667681.
[15] J. van de Lune, Private communication, October 27, 2001.
[16] N. A. Meller, Computations Connected with the Check of Riemann’s Hypothesis, Doklady Akademii Nauk SSSR 123 (1958), 246248.
[17] J. B. Rosser, Y. M. Yohe, L. Schoenfeld, Rigorous Computation and the Zeros of the Riemann ZetaFunction, Information Processing 68, Proceedings of IFIP Congress (1968), 7076.
[18] A. M. Odlyzko, The 10^{20}th Zero of the Riemann Zeta Function and 175 Million of it Neighbors, available at <http://www.dtc.umn.edu/~odlyzko/>, 1990.
[19] A. M. Odlyzko, An improved bound for the de BruijnNewman constant, Numerical Algorithms 25 (2000), 293303.
[20] A. M. Odlyzko, The 10^{22}nd zero of the Riemann zeta function, in M. van Frankenhuysen, M. L. Lapidus (Eds.): Dynamical, Spectral, and Arithmetic Zeta Functions, American Mathematical Society, Contemporary Mathematics, volume 290 (2001), 139144.
[21] A. M. Odlyzko, A. Sch¨onhage, Fast Algorithms for Multiple Evaluations of the Riemann Zeta Function, Transactions of the American Mathematical Society 309 (1988), 797809.
[22] E. C. Titchmarsh, The Zeros of the Riemann ZetaFunction, Proceedings of the Royal Society of London 151 (1935), 234255.
[23] A. M. Turing, Some Calculations of the Riemann ZetaFunction, Proceedings of the London Mathematical Society 3 (1953), 99117.
[24] S. Wedeniwski, ZetaGrid  Verification of the Riemann Hypothesis, available at <http://www.zetagrid.net/>.
Email address: wedeniws@de.ibm.com