Paul Zimmermann 0001

dblp:z/PZimmermann · DBLP profile ↗
← Back
35ranked-venue papers
0as first author
4since 2021 · last 2025
0000-0003-0718-4458ORCID · conflict

Domains — the database's venue-derived domains; a paper can count in several

Theory of computation · 26 · 4 since 2021Security and privacy · 5Systems, architecture and hardware · 2Artificial intelligence and machine learning · 1Applied, interdisciplinary, general and emerging computing · 1
YearPublicationVenuePosition
2025 Correct Rounding in Double Extended Precision
abstract
The double extended precision format is an 80-bit floating-point format introduced in the 80x87 series of floating-point processors by Intel. Since the introduction of vector instructions in the x86 processors, its use has fallen due to speed concerns. We implement in CORE-MATH the first correctly-rounded routines for double extended precision. These implementations use modern microprocessor features and double-double arithmetic, avoiding x87-specific features, and achieve up to 2x speedup over state-of-the-art implementations which are not correctly rounded. This demonstrates that double extended precision could be viable as a large computational format.
Sélène Corbineau, Paul Zimmermann 0001
ARITH2
2025 FastTwoSum revisited
abstract
The FastTwoSum algorithm is a classical way to evaluate the rounding error that occurs when adding two numbers in finite precision arithmetic. Starting with Dekker in the early 1970s, numerous floating-point analyses have been made of this algorithm, that are aimed at identifying sufficient conditions for the error to be computed exactly and, otherwise, at quantifying the quality of the error estimate thus produced. In this paper we revisit these two aspects of FastTwoSum. We first provide new, less restrictive conditions for exactness, and show that FastTwoSum performs an error-free transform in more general situations than those found so far in the literature. Second, when exactness cannot be guaranteed we give several error analyses of the output of FastTwoSum and show that the bounds obtained are tight. In particular, this provides further insight into how the algorithm behaves when roundings other than ‘to nearest’ are used, or when the operands are reversed.
Claude-Pierre Jeannerod, Paul Zimmermann 0001
ARITH2
2023 Towards a correctly-rounded and fast power function in binary64 arithmetic
abstract
We design algorithms for the correct rounding of the power function xyin the binary64 IEEE 754 format, for all rounding modes, modulo the knowledge of hardest-to-round cases. Our implementation of these algorithms largely outperforms previous correctly-rounded implementations and is not far from the efficiency of current mathematical libraries, which are not correctly-rounded. Still, we expect our algorithms can be further improved for speed. The proofs of correctness are fully detailed in the extended version [9] of this paper, with the goal to enable a formal proof of these algorithms. We hope this work will motivate the next IEEE 754 revision committee to require correct rounding for mathematical functions.
Tom Hubrecht, Claude-Pierre Jeannerod, Paul Zimmermann 0001
ARITH3
2022 The CORE-MATH Project
abstract
The CORE-MATH project aims at providing open-source mathematical functions with correct rounding that can be integrated into current mathematical libraries. This article demonstrates the CORE-MATH methodology on two functions: the binary32 power function (powf) and the binary64 cube root function (cbrt). CORE-MATH already provides a full set of correctly rounded C99 functions for single precision (binary32). These functions provide similar or in some cases up to threefold speedups with respect to the GNU libc mathematic library, which is not correctly rounded. This work offers a prospect of the mandatory requirement of correct rounding for mathematical functions in the next revision of the IEEE-754 standard.
Alexei Sibidanov, Paul Zimmermann 0001, Stéphane Glondu
ARITH2
2020 Comparing the Difficulty of Factorization and Discrete Logarithm: A 240-Digit Experiment
Fabrice Boudot, Pierrick Gaudry, Aurore Guillevic, Nadia Heninger, Emmanuel Thomé, Paul Zimmermann 0001
CRYPTO (2)6
2018 On Various Ways to Split a Floating-Point Number
abstract
We review several ways to split a floating-point number, that is, to decompose it into the exact sum of two floating-point numbers of smaller precision. All the methods considered here involve only a few IEEE floating-point operations, with rounding to nearest and including possibly the fused multiply -add (FMA). Applications range from the implementation of integer functions such as round and floor to the computation of suitable scaling factors aimed, for example, at avoiding spurious underflows and overflows when implementing functions such as the hypotenuse.
Claude-Pierre Jeannerod, Jean-Michel Muller, Paul Zimmermann 0001
ARITH3
2017 Optimized Binary64 and Binary128 Arithmetic with GNU MPFR
abstract
We describe algorithms used to optimize the GNU MPFR library when the operands fit into one or two words. On modern processors, this gives a speedup for a correctly rounded addition, subtraction, multiplication, division or square root in the standard binary64 format (resp. binary128) between 1.8 and 3.5 (resp. between 1.6 and 3.2). We also introduce a new faithful rounding mode, which enables even faster computations. Those optimizations will be available in version 4 of MPFR.
Vincent Lefèvre, Paul Zimmermann 0001
ARITH2
2015 Imperfect Forward Secrecy: How Diffie-Hellman Fails in Practice
abstract
We investigate the security of Diffie-Hellman key exchange as used in popular Internet protocols and find it to be less secure than widely believed. First, we present Logjam, a novel flaw in TLS that lets a man-in-the-middle downgrade connections to "export-grade" Diffie-Hellman. To carry out this attack, we implement the number field sieve discrete log algorithm. After a week-long precomputation for a specified 512-bit group, we can compute arbitrary discrete logs in that group in about a minute. We find that 82% of vulnerable servers use a single 512-bit group, allowing us to compromise connections to 7% of Alexa Top Million HTTPS sites. In response, major browsers are being changed to reject short groups. We go on to consider Diffie-Hellman with 768- and 1024-bit groups. We estimate that even in the 1024-bit case, the computations are plausible given nation-state resources. A small number of fixed or standardized groups are used by millions of servers; performing precomputation for a single 1024-bit group would allow passive eavesdropping on 18% of popular HTTPS sites, and a second group would allow decryption of traffic to 66% of IPsec VPNs and 26% of SSH servers. A close reading of published NSA leaks shows that the agency's attacks on VPNs are consistent with having achieved such a break. We conclude that moving to stronger key exchange methods should be a priority for the Internet community.
David Adrian, Karthikeyan Bhargavan, Zakir Durumeric, Pierrick Gaudry, Matthew Green 0001, J. Alex Halderman, Nadia Heninger, Drew Springall, Emmanuel Thomé, Luke Valenta, Benjamin VanderSloot, Eric Wustrow, Santiago Zanella-Béguelin, Paul Zimmermann 0001
CCS14
2015 Corrigendum to "A long note on Mulders' short product" [J. Symb. Comput 37 (3) (2004) 391-401]
Guillaume Hanrot, Paul Zimmermann 0001
J. Symb. Comput.2
2014 Division-Free Binary-to-Decimal Conversion
abstract
This article presents algorithms that convert multiple precision integer or floating-point numbers from radix$2$to radix$10$(or to any radix$b > 2$). Those algorithms, based on the “scaled remainder tree” technique, use multiplications instead of divisions in their critical part. Both quadratic and subquadratic algorithms are detailed, with proofs of correctness. Experimental results show that our implementation of those algorithms outperforms the GMP library by up to 50 percent (using the same low-level routines).
Cyril Bouvier, Paul Zimmermann 0001
IEEE Trans. Computers2
2012 Finding Optimal Formulae for Bilinear Maps
Razvan Barbulescu, Jérémie Detrey, Nicolas Estibals, Paul Zimmermann 0001
WAIFI4
2012 Non-linear polynomial selection for the number field sieve
Thomas Prest, Paul Zimmermann 0001
J. Symb. Comput.2
2011 Short Division of Long Integers
abstract
We consider the problem of short division - i.e., approximate quotient - of multiple-precision integers. We present ready-to-implement algorithms that yield an approximation of the quotient, with tight and rigorous error bounds. We exhibit speedups of up to 30% with respect to GMP division with remainder, and up to 10% with respect to GMP short division, with room for further improvements. This work enables one to implement fast correctly rounded division routines in multiple-precision software tools.
Paul Zimmermann 0001
IEEE Symposium on Computer Arithmetic2
2010 Factorization of a 768-Bit RSA Modulus
Thorsten Kleinjung, Kazumaro Aoki, Jens Franke, Arjen K. Lenstra, Emmanuel Thomé, Joppe W. Bos, Pierrick Gaudry, Alexander Kruppa, Peter L. Montgomery, Dag Arne Osvik, Herman J. J. te Riele, Andrey Timofeev, Paul Zimmermann 0001
CRYPTO13
2007 Worst Cases of a Periodic Function for Large Arguments
abstract
One considers the problem of finding hard to round cases of a periodic function for large floating-point inputs, more precisely when the function cannot be efficiently approximated by a polynomial. This is one of the last few issues that prevents from guaranteeing an efficient computation of correctly rounded transcendentals for the whole IEEE-754 double precision format. The first non-naive algorithm for that problem is presented, with a heuristic complexity of O(20.676p) for a precision of p bits. The efficiency of the algorithm is shown on the largest IEEE-754 double precision binade for the sine function, and some corresponding bad cases are given. We can hope that all the worst cases of the trigonometric functions in their whole domain will be found within a few years, a task that was considered out of reach until now.
Guillaume Hanrot, Vincent Lefèvre, Damien Stehlé, Paul Zimmermann 0001
IEEE Symposium on Computer Arithmetic4
2007 Time-and space-efficient evaluation of some hypergeometric constants
abstract
HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci-entific research documents, whether they are pub-lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers. L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et a ̀ la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.
Howard Cheng, Guillaume Hanrot, Emmanuel Thomé, Paul Zimmermann 0001, Eugene V. Zima
ISSAC4
2007 A gmp-based implementation of schönhage-strassen's large integer multiplication algorithm
abstract
Schönhage-Strassen's algorithm is one of the best known algorithms for multiplying large integers. Implementing it ef?ciently is of utmost importance, since many other algorithms rely on it as a subroutine. We present here an improved implementation, based on the one distributed within the GMP library. The following ideas and techniques were used or tried: faster arithmetic modulo 2n + 1, improved cache locality, Mersenne transforms, Chinese Remainder Reconstruction, the √2 trick, Harley's and Granlund's tricks, improved tuning.
Pierrick Gaudry, Alexander Kruppa, Paul Zimmermann 0001
ISSAC3
2007 MPFR: A multiple-precision binary floating-point library with correct rounding
abstract
This article presents a multiple-precision binary floating-point library, written in the ISO C language, and based on the GNU MP library. Its particularity is to extend to arbitrary-precision, ideas from the IEEE 754 standard, by providing correct rounding and exceptions . We demonstrate how these strong semantics are achieved---with no significant slowdown with respect to other arbitrary-precision tools---and discuss a few applications where such a library can be useful.
Laurent Fousse, Guillaume Hanrot, Vincent Lefèvre, Patrick Pélissier, Paul Zimmermann 0001
ACM Trans. Math. Softw.5
2005 Gal's Accurate Tables Method Revisited
abstract
Gal's accurate tables algorithm aims at providing an efficient implementation of mathematical functions with correct rounding as often as possible. This method requires an expensive pre-computation of the values taken by the function - or by several related functions - at some distinguished points. Our improvements of Gal's method are two-fold: on the one hand we describe what is the arguably best set of distinguished values and how it improves the efficiency and accuracy of the function implementation, and on the other hand we give an algorithm which drastically decreases the cost of the pre-computation. These improvements are related to the worst cases for the correct rounding of mathematical functions and to the algorithms for finding them. We demonstrate how the whole method can be turned into practice for 2/sup x/ and sin x for x/spl isin/[1/2,1[, in double precision.
Damien Stehlé, Paul Zimmermann 0001
IEEE Symposium on Computer Arithmetic2
2005 An elementary digital plane recognition algorithm
Yan Gérard, Isabelle Debled-Rennesson, Paul Zimmermann 0001
Discret. Appl. Math.3
2005 Searching Worst Cases of a One-Variable Function Using Lattice Reduction
abstract
We propose a new algorithm to find worst cases for the correct rounding of a mathematical function of one variable. We first reduce this problem to the real small value problem - i.e., for polynomials with real coefficients. Then, we show that this second problem can be solved efficiently by extending Coppersmith's work on the integer small value problem - for polynomials with integer coefficients - using lattice reduction. For floating-point numbers with a mantissa less than N and a polynomial approximation of degree d, our algorithm finds all worst cases at distance less than N/sup -d2//2d+1 from a machine number in time O(N/sup (d+1/2d+1)+/spl epsiv//). For d=2, a detailed study improves on the O(N/sup 2/(3+/spl epsiv/)/) complexity from Lefevre's algorithm to O(N/sup 4/(7+/spl epsiv/)/). For larger d, our algorithm can be used to check that there exist no worst cases at distance less than N/sup -k/ in time O(N/sup 1/(2+/spl epsiv/)/).
Damien Stehlé, Vincent Lefèvre, Paul Zimmermann 0001
IEEE Trans. Computers3
2004 A long note on Mulders' short product
Guillaume Hanrot, Paul Zimmermann 0001
J. Symb. Comput.2
2003 Worst Cases and Lattice Reduction
abstract
We propose a new algorithm to find worst cases for correct rounding of an analytic function. We first reduce this problem to the real small value problem - i.e. for polynomials with real coefficients. Then we show that this second problem can be solved efficiently, by extending Coppersmith's work on the integer small value problem - for polynomials with integer coefficients - using lattice reduction (D. Coppersmith, 1996; 2001). For floating-point numbers with a mantissa less than N, and a polynomial approximation of degree d, our algorithm finds all worst cases at distance < N/sup -d2//(2d+1) from a machine number in time O(N/sup ((d+1)/(2d+1))+/spl epsiv//). For d=2, this improves on the O(N/sup 2/(3+/spl epsiv/)/) complexity from Lefevre's algorithm (V. Lefevre, 2000; V. Lefevre et al., 2001) to O(N/sup 3/(5+/spl epsiv/)/). We exhibit some new worst cases found using our algorithm, for double-extended and quadruple precision. For larger d, our algorithm can be used to check that there exist no worst cases at distance < N/sup -k/ in time O(N/sup (1/2)+O(1/k)/).
Damien Stehlé, Vincent Lefèvre, Paul Zimmermann 0001
IEEE Symposium on Computer Arithmetic3
2003 Random Number Generators with Period Divisible by a Mersenne Prime
Richard P. Brent, Paul Zimmermann 0001
ICCSA (1)2
2003 Density results on floating-point invertible numbers
Guillaume Hanrot, Joël Rivat, Gerald Tenenbaum, Paul Zimmermann 0001
Theor. Comput. Sci.4
2002 A Proof of GMP Square Root
Yves Bertot, Nicolas Magaud, Paul Zimmermann 0001
J. Autom. Reason.3
2000 Factorization of a 512-Bit RSA Modulus
Stefania Cavallar, Bruce Dodson, Arjen K. Lenstra, Walter M. Lioen, Peter L. Montgomery, Brian Murphy, Herman J. J. te Riele, Karen Aardal, Jeff Gilchrist, Gérard Guillerm, Paul C. Leyland, Joël Marchand, François Morain, Alec Muffett, Chris Putnam, Craig Putnam, Paul Zimmermann 0001
EUROCRYPT17
2000 Factorization in ***[x]: the searching phase
abstract
In this paper we describe ideas used to accelerate the Searching Phase of the Berlekamp—Zassenhaus algorithm, the algorithm most widely used for computing factorizations in Z[x]. Our ideas do not alter the theoretical worst-case complexity, but they do have a significant effect in practice: especially in those cases where the cost of the Searching Phase completely dominates the rest of the algorithm. A complete implementation of the ideas in this paper is publicly available in the library NTL [16]. We give timings of this implementation on some difficult factorization problems.
John Abbott, Victor Shoup, Paul Zimmermann 0001
ISSAC3
1999 Factorization of RSA-140 Using the Number Field Sieve
Stefania Cavallar, Bruce Dodson, Arjen K. Lenstra, Paul C. Leyland, Walter M. Lioen, Peter L. Montgomery, Brian Murphy, Herman J. J. te Riele, Paul Zimmermann 0001
ASIACRYPT9
1999 Uniform Random Generation of Decomposable Structures Using Floating-Point Arithmetic
Alain Denise, Paul Zimmermann 0001
Theor. Comput. Sci.2
1994 A Calculus for the Random Generation of Labelled Combinatorial Structures
Philippe Flajolet, Paul Zimmermann 0001, Bernard Van Cutsem
Theor. Comput. Sci.2
1994 GFUN: a Maple package for the manipulation of generating and holonomic functions in one variable
abstract
We describe the GFUN package which contains functions for manipulating sequences, linear recurrences, or differential equations and generating functions of various types. This article is intended both as an elementary introduction to the subject and as a reference manual for the package.
Bruno Salvy, Paul Zimmermann 0001
ACM Trans. Math. Softw.2
1993 A Calculus of Random Generation
Philippe Flajolet, Paul Zimmermann 0001, Bernard Van Cutsem
ESA2
1991 Average Case Analysis of Unification Algorithms
Luc Albert, Rafael Casas, François Fages, A. Torrecillas, Paul Zimmermann 0001
STACS5
1991 Automatic Average-Case Analysis of Algorithm
Philippe Flajolet, Bruno Salvy, Paul Zimmermann 0001
Theor. Comput. Sci.3