Requirements: GiNaC, boost library, arm-none-eabi-gcc compiler 9.2.1 installation of GiNaC: sudo apt-get update && sudo apt-get install libginac-dev ginac-tools
//////////////////////// D = 1 ////////////////////////
pini refresh d1: ./release/COMEMS -p ./example/pini_locality_refresh_d1/ -f refresh.c -b -o 0 -c arm-none-eabi-gcc -j ./example/pini_locality_refresh_d1/initial_annotations.json
pini and d1: ./release/COMEMS -p ./example/pini_and_d1/ -f pini_and.c -b -o 0 -c arm-none-eabi-gcc -j ./example/pini_and_d1/initial_annotations.json
pini canright sbox d1: ./release/COMEMS -p ./example/pini_canright_sbox_d1/ -f pini_canright_sbox_d1.c -b -o 0 -c arm-none-eabi-gcc -j ./example/pini_canright_sbox_d1/initial_annotations.json
pini subbytes rp d1: ./release/COMEMS -p ./example/pini_subbytes_rp_func_d1/ -f pini_subbytes_rp_func_d1.c -b -o 0 -c arm-none-eabi-gcc -j ./example/pini_subbytes_rp_func_d1/initial_annotations.json
pini secfulladd d1: ./release/COMEMS -p ./example/pini_secfulladd_d1/ -f pini_secfulladd.c -b -o 0 -c arm-none-eabi-gcc -j ./example/pini_secfulladd_d1/initial_annotations.json
pini square subbytes d1: ./release/COMEMS -p ./example/pini_square_subbytes_d1/ -f pini_square_subbytes_d1.c -b -o 0 -c arm-none-eabi-gcc -j ./example/pini_square_subbytes_d1/initial_annotations.json
pini xnor d1: ./release/COMEMS -p ./example/pini_xnor_d1/ -f pini_xnor_d1.c -b -o 0 -c arm-none-eabi-gcc -j ./example/pini_xnor_d1/initial_annotations.json
pini xor d1: ./release/COMEMS -p ./example/pini_xor_d1/ -f pini_xor_d1.c -b -o 0 -c arm-none-eabi-gcc -j ./example/pini_xor_d1/initial_annotations.json
pini subbytes and d1: ./release/COMEMS -p ./example/pini_subbytes_and_d1/ -f pini_and_subbytes_rp_d1.c -b -o 0 -c arm-none-eabi-gcc -j ./example/pini_subbytes_and_d1/initial_annotations.json
pini mult d1: ./release/COMEMS -p ./example/pini_mult_d1/ -f pini_mult_d1.c -a -o 0 -c arm-none-eabi-gcc -j ./example/pini_mult_d1/initial_annotations.json
gfmult: ./release/COMEMS -p ./example/gfmult/ -f gfmult.c -b -o 0 -c arm-none-eabi-gcc -j ./example/gfmult/initial_annotations.json
keyaddition d1: ./release/COMEMS -p ./example/key_addition_d1/ -f keyadd.c -b -o 0 -d 1 -c arm-none-eabi-gcc -j ./example/key_addition_d1/initial_annotations.json
shiftrows d1: ./release/COMEMS -p ./example/shiftrows_d1/ -f shiftrows.c -b -o 0 -d 1 -c arm-none-eabi-gcc -j ./example/shiftrows_d1/initial_annotations.json
mixcolumns d1: ./release/COMEMS -p ./example/mixcolumns_d1/ -f mixcolumns.c -b -o 0 -d 1 -c arm-none-eabi-gcc -j ./example/mixcolumns_d1/initial_annotations.json
aes round d1: ./release/COMEMS -p ./example/aes_round_d1/ -f aes_round.c -b -o 0 -d 1 -c arm-none-eabi-gcc -j ./example/aes_round_d1/initial_annotations.json
//////////////////////// D = 2 ////////////////////////
pini refresh d2: ./release/COMEMS -p ./example/pini_locality_refresh_d2/ -f refresh.c -b -o 0 -d 2 -c arm-none-eabi-gcc -j ./example/pini_locality_refresh_d2/initial_annotations.json
pini and d2: ./release/COMEMS -p ./example/pini_and_d2/ -f pini_and.c -b -o 0 -d 2 -c arm-none-eabi-gcc -j ./example/pini_and_d2/initial_annotations.json
pini canright sbox d2: ./release/COMEMS -p ./example/pini_canright_sbox_d2/ -f pini_canright_sbox_d2.c -b -o 0 -d 2 -c arm-none-eabi-gcc -j ./example/pini_canright_sbox_d2/initial_annotations.json
pini subbytes rp d2: ./release/COMEMS -p ./example/pini_subbytes_rp_func_d2/ -f pini_subbytes_rp_func_d2.c -b -o 0 -d 2 -c arm-none-eabi-gcc -j ./example/pini_subbytes_rp_func_d2/initial_annotations.json
pini xnor d2: ./release/COMEMS -p ./example/pini_xnor_d2/ -f pini_xnor_d2.c -b -o 0 -d 2 -c arm-none-eabi-gcc -j ./example/pini_xnor_d2/initial_annotations.json
pini xor d2: ./release/COMEMS -p ./example/pini_xor_d2/ -f pini_xor_d2.c -b -o 0 -d 2 -c arm-none-eabi-gcc -j ./example/pini_xor_d2/initial_annotations.json
pini square subbytes d2: ./release/COMEMS -p ./example/pini_square_subbytes_d2/ -f pini_square_subbytes_d2.c -b -o 0 -d 2 -c arm-none-eabi-gcc -j ./example/pini_square_subbytes_d2/initial_annotations.json
pini secfulladd d2: ./release/COMEMS -p ./example/pini_secfulladd_d2/ -f pini_secfulladd.c -b -o 0 -d 2 -c arm-none-eabi-gcc -j ./example/pini_secfulladd_d2/initial_annotations.json
pini mult d2: ./release/COMEMS -p ./example/pini_mult_d2/ -f pini_mult_d2.c -a -o 0 -d 2 -c arm-none-eabi-gcc -j ./example/pini_mult_d2/initial_annotations.json
pini subbytes and d2: ./release/COMEMS -p ./example/pini_subbytes_and_d2/ -f pini_and_subbytes_rp_d2.c -b -o 0 -d 2 -c arm-none-eabi-gcc -j ./example/pini_subbytes_and_d2/initial_annotations.json
keyaddition d2: ./release/COMEMS -p ./example/key_addition_d2/ -f keyadd.c -b -o 0 -d 2 -c arm-none-eabi-gcc -j ./example/key_addition_d2/initial_annotations.json
shiftrows d2: ./release/COMEMS -p ./example/shiftrows_d2/ -f shiftrows.c -b -o 0 -d 2 -c arm-none-eabi-gcc -j ./example/shiftrows_d2/initial_annotations.json
mixcolumns d2: ./release/COMEMS -p ./example/mixcolumns_d2/ -f mixcolumns.c -b -o 0 -d 2 -c arm-none-eabi-gcc -j ./example/mixcolumns_d2/initial_annotations.json
aes round d2: ./release/COMEMS -p ./example/aes_round_d2/ -f aes_round.c -b -o 0 -d 2 -c arm-none-eabi-gcc -j ./example/aes_round_d2/initial_annotations.json
//////////////////////// D = 3 ////////////////////////
pini refresh d3: ./release/COMEMS -p ./example/pini_locality_refresh_d3/ -f refresh.c -b -o 0 -d 3 -c arm-none-eabi-gcc -j ./example/pini_locality_refresh_d3/initial_annotations.json
pini and d3: ./release/COMEMS -p ./example/pini_and_d3/ -f pini_and.c -b -o 0 -d 3 -c arm-none-eabi-gcc -j ./example/pini_and_d3/initial_annotations.json
pini canright sbox d3: ./release/COMEMS -p ./example/pini_canright_sbox_d3/ -f pini_canright_sbox_d3.c -b -o 0 -d 3 -c arm-none-eabi-gcc -j ./example/pini_canright_sbox_d3/initial_annotations.json
pini subbytes rp d3: ./release/COMEMS -p ./example/pini_subbytes_rp_func_d3/ -f pini_subbytes_rp_func_d3.c -b -o 0 -d 3 -c arm-none-eabi-gcc -j ./example/pini_subbytes_rp_func_d3/initial_annotations.json
pini xnor d3: ./release/COMEMS -p ./example/pini_xnor_d3/ -f pini_xnor_d3.c -b -o 0 -d 3 -c arm-none-eabi-gcc -j ./example/pini_xnor_d3/initial_annotations.json
pini xor d3: ./release/COMEMS -p ./example/pini_xor_d3/ -f pini_xor_d3.c -b -o 0 -d 3 -c arm-none-eabi-gcc -j ./example/pini_xor_d3/initial_annotations.json
pini square subbytes d3: ./release/COMEMS -p ./example/pini_square_subbytes_d3/ -f pini_square_subbytes_d3.c -b -o 0 -d 3 -c arm-none-eabi-gcc -j ./example/pini_square_subbytes_d3/initial_annotations.json
pini secfulladd d3: ./release/COMEMS -p ./example/pini_secfulladd_d3/ -f pini_secfulladd.c -b -o 0 -d 3 -c arm-none-eabi-gcc -j ./example/pini_secfulladd_d3/initial_annotations.json
pini mult d3: ./release/COMEMS -p ./example/pini_mult_d3/ -f pini_mult_d3.c -a -o 0 -d 3 -c arm-none-eabi-gcc -j ./example/pini_mult_d3/initial_annotations.json
pini subbytes and d3: ./release/COMEMS -p ./example/pini_subbytes_and_d3/ -f pini_and_subbytes_rp_d3.c -b -o 0 -d 3 -c arm-none-eabi-gcc -j ./example/pini_subbytes_and_d3/initial_annotations.json
keyaddition: ./release/COMEMS -p ./example/key_addition_d3/ -f keyadd.c -b -o 0 -d 3 -c arm-none-eabi-gcc -j ./example/key_addition_d3/initial_annotations.json
shiftrows: ./release/COMEMS -p ./example/shiftrows_d3/ -f shiftrows.c -b -o 0 -d 3 -c arm-none-eabi-gcc -j ./example/shiftrows_d3/initial_annotations.json
mixcolumns: ./release/COMEMS -p ./example/mixcolumns_d3/ -f mixcolumns.c -b -o 0 -d 3 -c arm-none-eabi-gcc -j ./example/mixcolumns_d3/initial_annotations.json
aes round d3: ./release/COMEMS -p ./example/aes_round_d3/ -f aes_round.c -b -o 0 -d 3 -c arm-none-eabi-gcc -j ./example/aes_round_d3/initial_annotations.json