To compile : 
 make pfn
(Needs g++/gmp/gmpxx.)

Usage: ./pfn [options] [factor files]

For the multi-threads version (with option -t <number of threads>):
 make pfnth

** Options **

General options:
-X2 x : exact branching for x^2
-X4 x : exact branching for x^2 and x^4
-crb x : at most x nested "circumventing roadblocks" (CRB) (only for SIZE
and PRIME FACTOR NUMBER modes). "-1" means infinity. (Default: -1)
-u x : only process tree for prime 'x' 
-a x : process trees starting from prime 'x' 
-U x y : only process the branch 'x^y'. can be repeated. "-U -1 -1" means a CRB.
 e.g.: -U 11 310 -U -1 -1 -U 3 4
-F : backtrack if a composite number is encountered
-as x : assume that every composite in a RB is not divisible by a prime <=x (default:100000000)
-rbcomp f : write composites appearing in a RB in the file f
-v : increase verbosity level
-q : decrease verbosity level

Options for SIZE mode (Section 2):
-SIZE x : contradiction when N >= 10^x (Default: 1000)

Options for PRIME FACTOR NUMBER mode (Section 3):
-NBRP x : contradiction when the number of not necessarily distinct primes is >= x

Options for LARGEST COMPONENT mode (Section 4):
-COMP x : contradiction when there is a component p^q >= 10^x s.t. p^q | N
-ut x : process primes up to 10^x
-UT x : process primes up to x

** Usages for the paper **

Section 2: ./pfn -SIZE 1500 -X4 3 -X2 7 facts.size1500.ver1.txt 
 Takes ~ 14 hours on a AMD Phenom II X4 945 (mono-thread), 
 and ~ 6 hours on 2 Quad-core Nehalem Intel Xeon X5550 (8 threads).
 Uses ~ 2 Gb of memory.

Section 3: ./pfn -NBRP 101 -X4 3 facts.nbrp101.txt 
 Takes ~ 4 days on a Intel Core2 6600  @ 2.40GHz (mono-thread) 
 and uses ~ 200 Mb.

Section 4: ./pfn -COMP 64 -F -ut 8 facts.cmp62.ver1.txt 
 Takes ~ 30 minutes on a AMD Phenom II X4 945 (mono-thread) 
 and uses ~ 2.5 Gb.

