Building LucasChainGen:

The LucasChainGen executable will appear in the main ECM folder as soon as
the "./configure; make" sequence for building GMP-ECM is complete. No
special separate build command is necessary.

Running LucasChainGen:

The program will generate and encode optimal, or near-optimal, Lucas chains
for all primes less than or equal to the user-specified limit B1. (Normally,
the maximum ECM Stage 1 limit the user expects to use.) The program is also
multithreaded using pthreads, so the user can specify however many threads
(1 to 16) that their system can accommodate. The default number of threads
is 4. The run syntax is: ...$ ./LucasChainGen -B1 <val_1> -nT <val_2>.
For example, generating chains for all primes up to B1 = 43 million, and
using 7 threads, the command would be '...$ ./LucasChainGen -B1 43e6 -nT 7'.

Using the output file:

The program produces a file called "Lchain_codes.dat" written to the main ECM
folder. Use of the file is automatic (with -param 0 set) if running from the
main ECM folder. If not, the user should copy it to any folder from which they
expect to run ECM.

To verify the Lchain_codes.dat file, configure ECM with "--enable-assert" and
run 'make ; make check' and/or 'make ; make longcheck'. Either/both should finish 
without errors. Check the output logs to be sure "Using Lucas chain codes"
appears.

Run times:

The time it will take to generate the 'Lchain_codes.dat' file can range from
seconds to days, depending on the chosen value of B1 and the specific machine
used. Here are some representative timings on an Intel Core™ i9-13900K at about
5 GHz:

    -B1   1e6 -nT 7: 18.6 sec.
    -B1   3e6 -nT 7: 1 min 26 sec
    -B1  11e6 -nT 7: 7 min 32 sec
    -B1  43e6 -nT 7: 46 min 55s
    -B1 110e6 -nT 7: 198 min 11s
    -B1 260e6 -nT 8: 580 min 24s
    -B1 850e6 -nT 7: 2725 min 32s

