Welcome to the double Mersenne and Fermat factoring program.  It is a fast GPU
factoring program to find new factors of small Fermat numbers and small
double Mersenne numbers (MM61, MM89, MM107, and MM127).  It requires
a Nvidia GPU with compute capabilities 2.0 or higher.

Luigi Morelli has graciously volunteered to manage reservations and results reporting.
Visit http://www.fermatsearch.org to grab a range of k values for Fermat numbers.
Visit http://www.doublemersennes.org for the double Mersenne numbers.

Here is some of what you need to know:

mmff.exe is derived from mfaktc.exe.  Like mfaktc.exe, mmff.exe uses a .ini file
to control its behavior (mmff.ini).  You may want to adjust GPUSievePrimes and
GPUSieveSize for best performance.

Mmff.exe also uses a worktodo.txt file to control what numbers to factor.  For double-Mersennes,
we tell mmff what double-Mersenne to try and factor.  For Fermat factoring, we tell mmff which
factor candidates to try since a factor candidate might divide one of several Fermat numbers.

Add this line to factor a double-Mersenne number:
     MMFactor=exponent,minimum-bit-level-or-k-value,maximum-bit-level-or-k-value

Add this line to tell mmff which Fermat factor candidates (k*2^N+1, k odd) to test:
     FermatFactor=N,minimum-k-value,maximum-k-value


Since Mersenne factors are of the form 2*k*p + 1, the k-values for double-Mersennes
yield factors 2*k*M(exponent)+1.

Fermat factors are of the form k*2^N + 1 where k is odd.  A factor can divide any Fermat
number from F12 up to F(N-2).


Example worktodo.txt entries:

MMFactor=127,179,180
FermatFactor=33,5460e9,5470e9

The first example looks for factors of MM127 from 2^179 to 2^180 (a big job that really should be
split up into many k ranges).  The second example looks for any Fermat number with a factor between
5460000000000*2^33+1 and 5470000000000*2^33+1 (there is a known factor of F31 in that range).


To run the program once you've setup worktodo.txt and mmff.ini is very easy.   On linux type:
	./mmff.exe >> my_output_file
Be sure to check the output file or results.txt for any new factors!


