
This file is the code that does the main computations.
It was fixed by a Brown Underegraduate student
Anirudh Marsipur in Feb 2023.   Anirudh just fixed ther
part of the code that does the computations involved in
the proof.  The problem is that my code was overflowing
the stack (when run on a 2023 version of gcc) because I
was passing structs rather than pointers to structs.
Strangely, the code ran just fine around the turn of
the century.  

The directory Version2023B has my own fix, which doesn't
use pointers but which uses a lot less of the stack.
Both programs are about as fast as each other.

This directory Computations contains all the C code used
in the computer-aided proof in Ch.10.  This is the main
subdirectory.   Any program run from the main directory
invokes the file Computations/list.c, which then includes
all the other files into it.

<tests.c>:
The file <tests.c> contains the computational tests which 
together comprise the proof given in Ch.9.  These
tests can either be run one at a time, or all at once.
To run some of the tests, but not others, just comment
out the ones you don't want to run.
This is a C file, and is compiled and run in the usual
way.   The file <test_log> contains the results of the tests.

The file <degenerate_list1> contains the 3 exceptional
pairs of tetrahedra which have 2 vertices in common.
The file <degenerate_list2> contains the 30 exceptional
pairs of tetrahedra which have 3 vertices in common.
These tetrahedra are indexed as they are
handled by our code.  The files are re-created
every time corresponding tests are run.  If the tests
are aborted in the middle, the files may be empty
or incomplete.  Currently the files are not in the
directory because I made some partial runs after
making the complete run.


