Mersenne Prime Freeware
"Share and Enjoy" -- The Amdahl 6's motto
Software for x86-style processors (Pentium, Athlon, & similar)
Go to the GIMPS homepage
. George Woltman's programs are the fastest on Intel and AMD chips running Windows
3.x, Windows 95/98/NT, OS/2, DOS, Linux and UNIXWARE.
Software for Unix and non-x86
Currently the best programs for non-x86 CPUs are the following:
|Ernst Mayer's Mlucas program|
|Guillermo Ballester Valor's Glucas program|
Users should pick whichever gives the best performance on their hardware setup.
(Note that some of these links may be dead, and much of the software is strictly of historical interest.)
This is Dr. Richard Crandall's original Mersenne number testing program.
Written in generic 'C'. George Woltman's lightning-fast Pentium program
has its roots in this code.
Reported to be OK
- Sun Ultra Enterprise 3000 with Solaris 2.5.1
- Linux (i386)
- other UNIX flavors
mers on www.garlic.com
mers 6.50 is a collection of programs guarded by Will Edgington,
the Abbé of Revision Control. This is most useful for machines not
running MS-Windows (NT (intel), 95, or 3.1), OS/2, i386 Linux, or PowerPC-based
||file about mers package
||'tar xzf mers.tar' (FSF/GNU tar) or 'gunzip mers.tar;
tar xf mers.tar'
Windows users: WinZIP
can read this file. Rename it to 'mers.tgz'.
Landon Noll's implementation of The Amdahl 6 method to find humongous
Mersenne-like primes. Needs the calc package
(below) on this page.
- fftlucas.c, Dr. Crandall's Mersenne primality test program
in generic 'C'. Program mersenne1.c (below) is faster. Ported to
(at least) these platforms:
- Known to be OK
- SunOS 4.x (Solaris 1.x)
- Intel Linux using gcc v2.6.2 and up
- Reported to be OK
- SunOS 5.x (Solaris 2.x) (need to edit Makefile)
- HPUX (version ?)
- CSet++ V3 under IBM's AIX 4
- fftll - script that runs mersenne1, fftlucas, mersenne2, or
- mersenne1.c, Lucas-Lehmer Mersenne number primality tests.
Jason Kline modified/tuned Dr. Crandall's code. This program is faster
than fftlucas.c. The programs are well-documented. See the source
for details. There are two versions. Should compile and run on UNIX systems,
e.g. Sun SPARCs, SGIs, and HPs.
- Faster Version (breaks up the FFT) (actually a Hartley Transform)
- mersenne1.c does the LL test
- Slower Version (FFT can be replaced)
Known to run under
Reported to run under
- CSet++ V3 under IBM's AIX 4
- SGI IRIX 5.x
- This list needs to be updated.
- MacLucasUNIX - Lucas-Lehmer tester based on code by John Sweeney
that is usually about twice the speed of the other Lucas-Lehmer programs
provided in Mers.
- extract.c - Translates the GIMPS master file database
to HRF (Human Readable Format). This program is portable and reads George's
database, mers package checkpoints including with the factorers for inputting
the power of 2 format. If you want HR data, see The Mersenne Database
section on George Woltman's
- mersfacgmp - A trial factorer, original author anonymous,
with Free Software Foundation (FSF) libgmp.a arbitrary precision library
libgmp.a source code
, also available from numerous
FSF/GNU mirror sites
- mersfacint - A trial factorer based on mersfacgmp and the
original program but using 64 bit integer changes by Rob Hooft.
- mersfaclip - A trial factorer based on mersfacgmp that uses
the freeLIP package (written by Ajren Lenstra and presently maintained by
Paul Leyland) rather than libgmp.a.
FreeLIP is available here
. As with the mers package itself, you probably want the newest version
- ecm3 - An ECM (elliptic curve method) factorer that uses freeLIP's
ECM functions to attempt to find factors of small Mersenne numbers, which
works for composite as well as prime exponents, though it does not always
completely factor composite exponent Mersennes. Based on code by Eric Prestemon.
- contract - New with the 3.0 release of the package, this
program is based on code from Jean-Charles Meyrignac and reads the file
lowM.txt and produces a DATABASE file in the form expected by George Woltman's
prime95 and other programs.
- mmtrial - Based on code by Rob Hooft, tries to factor M(M(p))
with trial division. See
and also mmfac
- Makefile - makefile for the above programs
FORTRAN and C versions of a program to compute Mersenne numbers in decimal
so that they may be printed. The algorithm is credited to Slowinski of CRI.
FORTRAN program by Walt Colquitt and Luke Welsh that found M110503. Optimized
for vector machines (supercomputers).
FORTRAN program by Luke Welsh to factor Mersenne numbers. Written for vector
machines (supercomputers). Named 'oiler' instead of 'euler' because it ran
on the NEC SX-2 in Houston, Texas. There are better algorithms than the
ones employed in this program.
Ports by Michiel van Loon of George Woltman's mprime to OS/2 and the EMX
32-bit DOS expander. To use the EMX version, you need the
EMX runtime (v0.9c)
by Marcel van de Vusse (email@example.com
) This is an OS/2 port of George Woltman's Linux prime v1.1. Second preliminary
release for OS/2. It allows you to change the priority at which the program
is running. From
DOS binary of GMP-ECM version 3. See the
A DOS program for factoring M(M(p)) numbers written by
. See MMPstats.txt
for a status of these numbers.
Yuri Sorkin's program that generates all primes < 2^31. Very fast. Written
in C. Takes only 3 minutes on a 486 DX2/80 to generate all 7,603,553 primes
less than 2^27. ~35 minutes for all p < 2^31.
on the apfloat
home page (Finland)
For printing Mersenne numbers in arbitrary bases. Optimized for either 486
or Pentium. Written by Mikko Tommila
decimal expansion of Mersenne primes and their perfect numbers
generated decimal expansions for all 37 known Mersenne primes and corresponding
perfect numbers. This includes the source code, but requires GNU gmp math
||~5MB Tarred and GZipped for UNIX users on ftp.samurai.com.
||~5MB Zipped for DOS and Windows users on ftp.samurai.com.
Libraries & developer oriented link
From the README:
GNU MP is a library for arbitrary precision arithmetic, operating
on signed integers, rational numbers, and floating point numbers. It has
a rich set of functions, and the functions have a regular interface. GNU
MP is designed to be as fast as possible, both for small operands and for
huge operands. The GMP homepage is at
on ftp.ox.ac.uk (Oxford)
FreeLIP 1.1 - a free for non-commerical usage Large Integer Package. This
software was originally written by Arjen K Lenstra but is now maintained by
Paul Leyland (firstname.lastname@example.org
). Bug reports, ports to novel architectures, enhancements, suggestions,
etc should be directed to pcl.
HUGE-FLOAT package for calculating very large floating point numbers.
Jörgs has links and source code to various FFT and related algorithms
A C++ High Performance Arbitrary Precision Arithmetic Package by Mikko Tommila.
C-style arbitrary precision calculator.
Thanks goes to...
- Will Edgington for keeping a tight rein on revision control
- Ernst W. Mayer for sending update summaries
- Ethan M. O'Connor and Lennart Grebelius for mirroring this page
- Yuri Sorkin for co-authoring the original of this page
- Luther Welsh for co-authoring the original of this page
- George Woltman for starting the GIMPS project
- Jeff Woods for providing space on delta.com
- Bryan Fullerton for a mirror and providing space on ftp.samurai.com
http://www.mersenne.org/freeware.htm -- Revised: 3 April 2008 by Ernst Mayer