We are pleased to announce the release of GMP-ECM 5.0. The source file is available from:

and some binaries are available thanks to Torbjörn Granlund (please read the README file).

This is a major release, after version 4c which was released more than three years ago. The main changes with respect to version 4c are:

No binaries are distributed so far, since version 5.0 is very easy to compile: it only requires to have the GNU MP library installed. Detailed instructions how to install and optimize the use of gmp-ecm are to be found in the INSTALL and README files.

Many thanks to Jay Berg, Paul Leyland, Joe Leherbauer and Torbjörn Granlund, whose contribution was essential to improve this release.

Alexander Kruppa
Paul Zimmermann

Known problems in ecm-5.0 (most of them fixed in ecm-5.0.1)

  • When the input number is divisible by 2 or 3, ecm-5.0 sometimes reports that 1 is a factor. Workaround: first remove factors 2 and 3 before using ecm-5.0.
  • When the B1 value (or B2min when using B2min-B2 as second argument) is too large, an overflow may occur and the computations in stage2 are incorrect. This occurs when B1 or B2min is near or above 232. We have currently no workaround for this, but the problem can be detected by applying the following patch to the file stage2.c.
  • When using P-1 with B1 larger than one million, it may be faster to use the option -mpzmod than the default modular arithmetic.
  • When both sigma and A values are given, save file lines are not written correctly: patch.

    Known problems in ecm-5.0.1

  • Compilation with NTL fails. Patch (changes version into 5.0.2).
  • (Mentioned by Philip McLaughlin.) Some computers (e.g. Apple) change the \n newline character to \r, which makes ecm fail on files with multiple numbers. Patch
  • Some memory allocation calls in ecm-5.0.1 do not check if they were successful or not, which may cause some memory faults. Apply that patch to get an error instead.

    Known problems in ecm-5.0.2

  • Some factors are missed. This bug is fixed in ecm-5.0.3.