Assumes a Debian installation with the following packages:

    apt install build-essential libgmp-dev libmpfi-dev python3-matplotlib libssl-dev

To compile:

    make -j4

To rebuild the aes128.tex table (see timings below):

    ./aes128.py > aes128.out
    ./aes128-table.py < aes128.out > aes128.tex

To rebuild the isdsims.pdf graph (see timings below):

    ./isdsims.py > isdsims.out
    ./isdsims-graph.py < isdsims.out

To rebuild the isdpredict.tex table (see timings below):

    ./isdpredict1.py > isdpredict1.out
    ./isdpredict2.py < isdpredict1.out > isdpredict2.out
    ./isdpredict-table.py < isdpredict2.out > isdpredict.tex

Timings under Debian 11 (gcc 10.2.1, libgmp 6.2.1) on a dual EPYC 7742
with Core Performance Boost disabled:

    /usr/bin/time ./aes128.py > aes128.out
    5042.92user 58.00system 1:24:46elapsed 100%CPU (0avgtext+0avgdata 23196maxresident)k
    0inputs+360outputs (0major+9228574minor)pagefaults 0swaps

    /usr/bin/time ./aes128-table.py < aes128.out > aes128.tex
    0.03user 0.00system 0:00.03elapsed 100%CPU (0avgtext+0avgdata 9952maxresident)k
    0inputs+8outputs (0major+1312minor)pagefaults 0swaps

    /usr/bin/time ./isdsims.py > isdsims.out
    3402930.09user 1202.07system 9:37:04elapsed 9831%CPU (0avgtext+0avgdata 4428056maxresident)k
    656inputs+1240outputs (88major+108789717minor)pagefaults 0swaps

    /usr/bin/time ./isdsims-graph.py < isdsims.out
    11.84user 6.32system 0:10.43elapsed 174%CPU (0avgtext+0avgdata 149472maxresident)k
    18016inputs+232outputs (62major+101585minor)pagefaults 0swaps

    /usr/bin/time ./isdpredict1.py > isdpredict1.out
    1166269.02user 3761.90system 5:54:48elapsed 5496%CPU (0avgtext+0avgdata 2088068maxresident)k
    0inputs+352outputs (104major+383135672minor)pagefaults 0swaps

    /usr/bin/time ./isdpredict2.py < isdpredict1.out > isdpredict2.out
    32646814.33user 14366.80system 37:05:14elapsed 24462%CPU (0avgtext+0avgdata 756800maxresident)k
    0inputs+7264outputs (45major+437173938minor)pagefaults 0swaps

    /usr/bin/time ./isdpredict-table.py < isdpredict2.out > isdpredict.tex
    0.18user 0.01system 0:00.19elapsed 99%CPU (0avgtext+0avgdata 10248maxresident)k
    0inputs+8outputs (0major+1339minor)pagefaults 0swaps

To save time in spot-checks, this package includes copies of the main
outputs:

    aes128.out.precomputed
    isdsims.out.precomputed
    isdpredict1.out.precomputed
    isdpredict2.out.precomputed