We assume than optimizing compilers will unwind loops at every opportunity. 

But sometimes they don't. So time-critical code will run faster if we step
in and unwind complex loops for the compiler.

Once the architecture and ECC/RSA support is decided upon choose 
which BIG numbers need to be optimized. So for example for a 32-bit build and
if using 256 bit BIGs and a base of 2^29, replace XXX with 256_29 inside 
faster.c

Then compile and execute the program faster.c like this (using MinGW 
port of GCC as an example), in the same directory as arch.h and big_256_29.h

gcc -O2 -std=c99 faster.c -o faster.exe
faster > t.txt

Now extract the code fragments from t.txt and insert them where indicated
into big_256_29.c (look for UNWOUND)

Finally make sure that

#define UNWOUND

appears somewhere in big_256_29.h

Finally compile and replace the big_256_29 module in the library, and maybe 
get a 30% speed-up! If there is no significant improvement, don't use this 
method!

