Test results for aarch64, pi3aplus, crypto_kem/threebears1248r2cca
[Page version: 20250510 09:23:11]
Measurements for aarch64, pi3aplus, crypto_kem
Test results for aarch64, pi3aplus, crypto_kem
Test results for crypto_kem/threebears1248r2cca
Computer: pi3aplus
Microarchitecture: aarch64; Cortex-A53 (410fd034)
Architecture: aarch64
CPU ID: 410fd034 
SUPERCOP version: 20250415
Operation: crypto_kem
Primitive: threebears1248r2cca
| Time | Object size | Test size | Implementation | Compiler | Benchmark date | SUPERCOP version | 
|---|
| 1439423 | 9198 0 0 | 77204 784 1568 | vec | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250508 | 20250415 | 
| 1446953 | 9198 0 0 | 77204 784 1568 | opt | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250508 | 20250415 | 
| 1485490 | 14876 0 0 | 83796 784 1568 | opt | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250508 | 20250415 | 
| 1494376 | 14876 0 0 | 83796 784 1568 | vec | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250508 | 20250415 | 
| 1616076 | 7916 0 0 | 74692 768 1536 | opt | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250508 | 20250415 | 
| 1618950 | 7916 0 0 | 74692 768 1536 | vec | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250508 | 20250415 | 
| 1911033 | 9114 0 0 | 77044 784 1552 | opt | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250508 | 20250415 | 
| 1921516 | 7698 0 0 | 75684 784 1568 | lowmem | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250508 | 20250415 | 
| 1929694 | 10476 0 0 | 79380 784 1568 | lowmem | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250508 | 20250415 | 
| 1936971 | 9114 0 0 | 77044 784 1552 | vec | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250508 | 20250415 | 
| 2152259 | 6696 0 0 | 73476 768 1536 | lowmem | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250508 | 20250415 | 
| 2482373 | 7850 0 0 | 75788 784 1552 | lowmem | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250508 | 20250415 | 
| 15242441 | 11615 0 0 | 29060 784 1568 | ref | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250508 | 20250415 | 
| 23200800 | 6899 0 0 | 23436 784 1568 | ref | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250508 | 20250415 | 
| 64317434 | 6503 0 0 | 22988 784 1552 | ref | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250508 | 20250415 | 
| 66160858 | 5782 0 0 | 21108 768 1536 | ref | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250508 | 20250415 | 
Compiler output
shake.c: shake.c: In function 'keccakf':
shake.c: shake.c:11:37: warning: passing argument 1 of 'KeccakP1600_Permute_24rounds' from incompatible pointer type [-Wincompatible-pointer-types]
shake.c:    11 |     KeccakP1600_Permute_24rounds(ctx->state);
shake.c:       |                                  ~~~^~~~~~~
shake.c:       |                                     |
shake.c:       |                                     uint8_t * {aka unsigned char *}
shake.c: In file included from shake.h:3,
shake.c:                  from shake.c:3:
shake.c: .../supercop-data/pi3aplus/aarch64/include/libkeccak.a.headers/KeccakP-1600-SnP.h:53:62: note: expected 'KeccakP1600_plain64_state *' but argument is of type 'uint8_t *' {aka 'unsigned char *'}
shake.c:    53 | void KeccakP1600_Permute_24rounds(KeccakP1600_plain64_state *state);
shake.c:       |                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
shake.c: shake.c: In function 'pqcrypto_kem_threebears1248r2cca_impl_priv_hash_update':
shake.c: shake.c:23:33: warning: passing argument 1 of 'KeccakP1600_AddBytes' from incompatible pointer type [-Wincompatible-pointer-types]
shake.c:    23 |         KeccakP1600_AddBytes(ctx->state, in, ctx->position, cando);
shake.c:       |                              ~~~^~~~~~~
shake.c:       |                                 |
shake.c:       |                                 uint8_t * {aka unsigned char *}
shake.c: .../supercop-data/pi3aplus/aarch64/include/libkeccak.a.headers/KeccakP-1600-SnP.h:48:54: note: expected 'KeccakP1600_plain64_state *' but argument is of type 'uint8_t *' {aka 'unsigned char *'}
shake.c:    48 | void KeccakP1600_AddBytes(KeccakP1600_plain64_state *state, const unsigned char *data, unsigned int offset, unsigned int length);
shake.c:       |                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
shake.c: shake.c:28:29: warning: passing argument 1 of 'KeccakP1600_AddBytes' from incompatible pointer type [-Wincompatible-pointer-types]
shake.c:    28 |     KeccakP1600_AddBytes(ctx->state, in, ctx->position, len);
shake.c:       |                          ~~~^~~~~~~
shake.c:       |                             |
shake.c:       |                             uint8_t * {aka unsigned char *}
shake.c: ...
threebears.c: threebears.c:102:26: warning: argument 1 of type 'uint8_t *' {aka 'unsigned char *'} declared as a pointer [-Warray-parameter=]
threebears.c:   102 | void get_pubkey(uint8_t *pk, const uint8_t *seed) {
threebears.c:       |                 ~~~~~~~~~^~
threebears.c: In file included from threebears.c:8:
threebears.c: threebears.h:24:13: note: previously declared as an array 'uint8_t[1584]' {aka 'unsigned char[1584]'}
threebears.c:    24 |     uint8_t pk[PQCRYPTO_KEM_THREEBEARS1248R2CCA_IMPL_PRIV_PUBLIC_KEY_BYTES],
threebears.c:       |     ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
threebears.c: threebears.c:102:45: warning: argument 2 of type 'const uint8_t *' {aka 'const unsigned char *'} declared as a pointer [-Warray-parameter=]
threebears.c:   102 | void get_pubkey(uint8_t *pk, const uint8_t *seed) {
threebears.c:       |                              ~~~~~~~~~~~~~~~^~~~
threebears.c: threebears.h:25:19: note: previously declared as an array 'const uint8_t[40]' {aka 'const unsigned char[40]'}
threebears.c:    25 |     const uint8_t seed[PQCRYPTO_KEM_THREEBEARS1248R2CCA_IMPL_PRIV_PRIVATE_KEY_BYTES]
threebears.c:       |     ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
threebears.c: threebears.c:133:14: warning: argument 1 of type 'uint8_t *' {aka 'unsigned char *'} declared as a pointer [-Warray-parameter=]
threebears.c:   133 |     uint8_t *shared_secret,
threebears.c:       |     ~~~~~~~~~^~~~~~~~~~~~~
threebears.c: threebears.h:55:13: note: previously declared as an array 'uint8_t[32]' {aka 'unsigned char[32]'}
threebears.c:    55 |     uint8_t shared_secret[PQCRYPTO_KEM_THREEBEARS1248R2CCA_IMPL_PRIV_SHARED_SECRET_BYTES],
threebears.c:       |     ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
threebears.c: threebears.c:134:14: warning: argument 2 of type 'uint8_t *' {aka 'unsigned char *'} declared as a pointer [-Warray-parameter=]
threebears.c:   134 |     uint8_t *capsule,
threebears.c:       |     ~~~~~~~~~^~~~~~~
threebears.c: threebears.h:56:13: note: previously declared as an array 'uint8_t[1697]' {aka 'unsigned char[1697]'}
threebears.c:    56 |     uint8_t capsule[PQCRYPTO_KEM_THREEBEARS1248R2CCA_IMPL_PRIV_CAPSULE_BYTES],
threebears.c:       |     ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
threebears.c: ...
Number of similar (implementation,compiler) pairs: 4, namely:
| Implementation | Compiler | 
| lowmem | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) | 
| lowmem | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) | 
| lowmem | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) | 
| lowmem | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) | 
Compiler output
shake.c: shake.c: In function 'keccakf':
shake.c: shake.c:11:37: warning: passing argument 1 of 'KeccakP1600_Permute_24rounds' from incompatible pointer type [-Wincompatible-pointer-types]
shake.c:    11 |     KeccakP1600_Permute_24rounds(ctx->state);
shake.c:       |                                  ~~~^~~~~~~
shake.c:       |                                     |
shake.c:       |                                     uint8_t * {aka unsigned char *}
shake.c: In file included from shake.h:3,
shake.c:                  from shake.c:3:
shake.c: .../supercop-data/pi3aplus/aarch64/include/libkeccak.a.headers/KeccakP-1600-SnP.h:53:62: note: expected 'KeccakP1600_plain64_state *' but argument is of type 'uint8_t *' {aka 'unsigned char *'}
shake.c:    53 | void KeccakP1600_Permute_24rounds(KeccakP1600_plain64_state *state);
shake.c:       |                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
shake.c: shake.c: In function 'pqcrypto_kem_threebears1248r2cca_impl_priv_hash_update':
shake.c: shake.c:23:33: warning: passing argument 1 of 'KeccakP1600_AddBytes' from incompatible pointer type [-Wincompatible-pointer-types]
shake.c:    23 |         KeccakP1600_AddBytes(ctx->state, in, ctx->position, cando);
shake.c:       |                              ~~~^~~~~~~
shake.c:       |                                 |
shake.c:       |                                 uint8_t * {aka unsigned char *}
shake.c: .../supercop-data/pi3aplus/aarch64/include/libkeccak.a.headers/KeccakP-1600-SnP.h:48:54: note: expected 'KeccakP1600_plain64_state *' but argument is of type 'uint8_t *' {aka 'unsigned char *'}
shake.c:    48 | void KeccakP1600_AddBytes(KeccakP1600_plain64_state *state, const unsigned char *data, unsigned int offset, unsigned int length);
shake.c:       |                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
shake.c: shake.c:28:29: warning: passing argument 1 of 'KeccakP1600_AddBytes' from incompatible pointer type [-Wincompatible-pointer-types]
shake.c:    28 |     KeccakP1600_AddBytes(ctx->state, in, ctx->position, len);
shake.c:       |                          ~~~^~~~~~~
shake.c:       |                             |
shake.c:       |                             uint8_t * {aka unsigned char *}
shake.c: ...
threebears.c: threebears.c:102:26: warning: argument 1 of type 'uint8_t *' {aka 'unsigned char *'} declared as a pointer [-Warray-parameter=]
threebears.c:   102 | void get_pubkey(uint8_t *pk, const uint8_t *seed) {
threebears.c:       |                 ~~~~~~~~~^~
threebears.c: In file included from threebears.c:8:
threebears.c: threebears.h:24:13: note: previously declared as an array 'uint8_t[1584]' {aka 'unsigned char[1584]'}
threebears.c:    24 |     uint8_t pk[PQCRYPTO_KEM_THREEBEARS1248R2CCA_IMPL_PRIV_PUBLIC_KEY_BYTES],
threebears.c:       |     ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
threebears.c: threebears.c:102:45: warning: argument 2 of type 'const uint8_t *' {aka 'const unsigned char *'} declared as a pointer [-Warray-parameter=]
threebears.c:   102 | void get_pubkey(uint8_t *pk, const uint8_t *seed) {
threebears.c:       |                              ~~~~~~~~~~~~~~~^~~~
threebears.c: threebears.h:25:19: note: previously declared as an array 'const uint8_t[40]' {aka 'const unsigned char[40]'}
threebears.c:    25 |     const uint8_t seed[PQCRYPTO_KEM_THREEBEARS1248R2CCA_IMPL_PRIV_PRIVATE_KEY_BYTES]
threebears.c:       |     ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
threebears.c: threebears.c:134:14: warning: argument 1 of type 'uint8_t *' {aka 'unsigned char *'} declared as a pointer [-Warray-parameter=]
threebears.c:   134 |     uint8_t *shared_secret,
threebears.c:       |     ~~~~~~~~~^~~~~~~~~~~~~
threebears.c: threebears.h:55:13: note: previously declared as an array 'uint8_t[32]' {aka 'unsigned char[32]'}
threebears.c:    55 |     uint8_t shared_secret[PQCRYPTO_KEM_THREEBEARS1248R2CCA_IMPL_PRIV_SHARED_SECRET_BYTES],
threebears.c:       |     ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
threebears.c: threebears.c:135:14: warning: argument 2 of type 'uint8_t *' {aka 'unsigned char *'} declared as a pointer [-Warray-parameter=]
threebears.c:   135 |     uint8_t *capsule,
threebears.c:       |     ~~~~~~~~~^~~~~~~
threebears.c: threebears.h:56:13: note: previously declared as an array 'uint8_t[1697]' {aka 'unsigned char[1697]'}
threebears.c:    56 |     uint8_t capsule[PQCRYPTO_KEM_THREEBEARS1248R2CCA_IMPL_PRIV_CAPSULE_BYTES],
threebears.c:       |     ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
threebears.c: ...
Number of similar (implementation,compiler) pairs: 4, namely:
| Implementation | Compiler | 
| opt | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) | 
| opt | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) | 
| opt | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) | 
| opt | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) | 
Compiler output
threebears.c: threebears.c:75:26: warning: argument 1 of type 'uint8_t *' {aka 'unsigned char *'} declared as a pointer [-Warray-parameter=]
threebears.c:    75 | void get_pubkey(uint8_t *pk, const uint8_t *seed) {
threebears.c:       |                 ~~~~~~~~~^~
threebears.c: In file included from threebears.c:8:
threebears.c: threebears.h:24:13: note: previously declared as an array 'uint8_t[1584]' {aka 'unsigned char[1584]'}
threebears.c:    24 |     uint8_t pk[PQCRYPTO_KEM_THREEBEARS1248R2CCA_IMPL_PRIV_PUBLIC_KEY_BYTES],
threebears.c:       |     ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
threebears.c: threebears.c:75:45: warning: argument 2 of type 'const uint8_t *' {aka 'const unsigned char *'} declared as a pointer [-Warray-parameter=]
threebears.c:    75 | void get_pubkey(uint8_t *pk, const uint8_t *seed) {
threebears.c:       |                              ~~~~~~~~~~~~~~~^~~~
threebears.c: threebears.h:25:19: note: previously declared as an array 'const uint8_t[40]' {aka 'const unsigned char[40]'}
threebears.c:    25 |     const uint8_t seed[PQCRYPTO_KEM_THREEBEARS1248R2CCA_IMPL_PRIV_PRIVATE_KEY_BYTES]
threebears.c:       |     ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
threebears.c: threebears.c:100:14: warning: argument 1 of type 'uint8_t *' {aka 'unsigned char *'} declared as a pointer [-Warray-parameter=]
threebears.c:   100 |     uint8_t *shared_secret,
threebears.c:       |     ~~~~~~~~~^~~~~~~~~~~~~
threebears.c: threebears.h:55:13: note: previously declared as an array 'uint8_t[32]' {aka 'unsigned char[32]'}
threebears.c:    55 |     uint8_t shared_secret[PQCRYPTO_KEM_THREEBEARS1248R2CCA_IMPL_PRIV_SHARED_SECRET_BYTES],
threebears.c:       |     ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
threebears.c: threebears.c:101:14: warning: argument 2 of type 'uint8_t *' {aka 'unsigned char *'} declared as a pointer [-Warray-parameter=]
threebears.c:   101 |     uint8_t *capsule,
threebears.c:       |     ~~~~~~~~~^~~~~~~
threebears.c: threebears.h:56:13: note: previously declared as an array 'uint8_t[1697]' {aka 'unsigned char[1697]'}
threebears.c:    56 |     uint8_t capsule[PQCRYPTO_KEM_THREEBEARS1248R2CCA_IMPL_PRIV_CAPSULE_BYTES],
threebears.c:       |     ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
threebears.c: ...
Number of similar (implementation,compiler) pairs: 4, namely:
| Implementation | Compiler | 
| ref | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) | 
| ref | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) | 
| ref | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) | 
| ref | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) | 
Compiler output
shake.c: shake.c: In function 'keccakf':
shake.c: shake.c:46:37: warning: passing argument 1 of 'KeccakP1600_Permute_24rounds' from incompatible pointer type [-Wincompatible-pointer-types]
shake.c:    46 |     KeccakP1600_Permute_24rounds(ctx->state);
shake.c:       |                                  ~~~^~~~~~~
shake.c:       |                                     |
shake.c:       |                                     uint8_t * {aka unsigned char *}
shake.c: In file included from shake.h:3,
shake.c:                  from shake.c:3:
shake.c: .../supercop-data/pi3aplus/aarch64/include/libkeccak.a.headers/KeccakP-1600-SnP.h:53:62: note: expected 'KeccakP1600_plain64_state *' but argument is of type 'uint8_t *' {aka 'unsigned char *'}
shake.c:    53 | void KeccakP1600_Permute_24rounds(KeccakP1600_plain64_state *state);
shake.c:       |                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
shake.c: shake.c: In function 'pqcrypto_kem_threebears1248r2cca_impl_priv_hash_update':
shake.c: shake.c:58:33: warning: passing argument 1 of 'KeccakP1600_AddBytes' from incompatible pointer type [-Wincompatible-pointer-types]
shake.c:    58 |         KeccakP1600_AddBytes(ctx->state, in, ctx->position, cando);
shake.c:       |                              ~~~^~~~~~~
shake.c:       |                                 |
shake.c:       |                                 uint8_t * {aka unsigned char *}
shake.c: .../supercop-data/pi3aplus/aarch64/include/libkeccak.a.headers/KeccakP-1600-SnP.h:48:54: note: expected 'KeccakP1600_plain64_state *' but argument is of type 'uint8_t *' {aka 'unsigned char *'}
shake.c:    48 | void KeccakP1600_AddBytes(KeccakP1600_plain64_state *state, const unsigned char *data, unsigned int offset, unsigned int length);
shake.c:       |                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
shake.c: shake.c:63:29: warning: passing argument 1 of 'KeccakP1600_AddBytes' from incompatible pointer type [-Wincompatible-pointer-types]
shake.c:    63 |     KeccakP1600_AddBytes(ctx->state, in, ctx->position, len);
shake.c:       |                          ~~~^~~~~~~
shake.c:       |                             |
shake.c:       |                             uint8_t * {aka unsigned char *}
shake.c: ...
threebears.c: threebears.c:102:26: warning: argument 1 of type 'uint8_t *' {aka 'unsigned char *'} declared as a pointer [-Warray-parameter=]
threebears.c:   102 | void get_pubkey(uint8_t *pk, const uint8_t *seed) {
threebears.c:       |                 ~~~~~~~~~^~
threebears.c: In file included from threebears.c:8:
threebears.c: threebears.h:24:13: note: previously declared as an array 'uint8_t[1584]' {aka 'unsigned char[1584]'}
threebears.c:    24 |     uint8_t pk[PQCRYPTO_KEM_THREEBEARS1248R2CCA_IMPL_PRIV_PUBLIC_KEY_BYTES],
threebears.c:       |     ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
threebears.c: threebears.c:102:45: warning: argument 2 of type 'const uint8_t *' {aka 'const unsigned char *'} declared as a pointer [-Warray-parameter=]
threebears.c:   102 | void get_pubkey(uint8_t *pk, const uint8_t *seed) {
threebears.c:       |                              ~~~~~~~~~~~~~~~^~~~
threebears.c: threebears.h:25:19: note: previously declared as an array 'const uint8_t[40]' {aka 'const unsigned char[40]'}
threebears.c:    25 |     const uint8_t seed[PQCRYPTO_KEM_THREEBEARS1248R2CCA_IMPL_PRIV_PRIVATE_KEY_BYTES]
threebears.c:       |     ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
threebears.c: threebears.c:147:14: warning: argument 1 of type 'uint8_t *' {aka 'unsigned char *'} declared as a pointer [-Warray-parameter=]
threebears.c:   147 |     uint8_t *shared_secret,
threebears.c:       |     ~~~~~~~~~^~~~~~~~~~~~~
threebears.c: threebears.h:55:13: note: previously declared as an array 'uint8_t[32]' {aka 'unsigned char[32]'}
threebears.c:    55 |     uint8_t shared_secret[PQCRYPTO_KEM_THREEBEARS1248R2CCA_IMPL_PRIV_SHARED_SECRET_BYTES],
threebears.c:       |     ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
threebears.c: threebears.c:148:14: warning: argument 2 of type 'uint8_t *' {aka 'unsigned char *'} declared as a pointer [-Warray-parameter=]
threebears.c:   148 |     uint8_t *capsule,
threebears.c:       |     ~~~~~~~~~^~~~~~~
threebears.c: threebears.h:56:13: note: previously declared as an array 'uint8_t[1697]' {aka 'unsigned char[1697]'}
threebears.c:    56 |     uint8_t capsule[PQCRYPTO_KEM_THREEBEARS1248R2CCA_IMPL_PRIV_CAPSULE_BYTES],
threebears.c:       |     ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
threebears.c: ...
Number of similar (implementation,compiler) pairs: 4, namely:
| Implementation | Compiler | 
| vec | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) | 
| vec | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) | 
| vec | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) | 
| vec | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) | 
Namespace violations
melas_fec.o pqcrypto_kem_threebears1248r2cca_impl_priv_melas_fec_correct T
melas_fec.o pqcrypto_kem_threebears1248r2cca_impl_priv_melas_fec_set T
ring.o pqcrypto_kem_threebears1248r2cca_impl_priv_canon_3120 T
ring.o pqcrypto_kem_threebears1248r2cca_impl_priv_contract_3120 T
ring.o pqcrypto_kem_threebears1248r2cca_impl_priv_expand_3120 T
ring.o pqcrypto_kem_threebears1248r2cca_impl_priv_mac_3120 T
shake.o pqcrypto_kem_threebears1248r2cca_impl_priv_hash_output T
shake.o pqcrypto_kem_threebears1248r2cca_impl_priv_hash_times_n T
shake.o pqcrypto_kem_threebears1248r2cca_impl_priv_hash_update T
shake.o pqcrypto_kem_threebears1248r2cca_impl_priv_threebears_cshake_init T
threebears.o pqcrypto_kem_threebears1248r2cca_impl_priv_decapsulate T
threebears.o pqcrypto_kem_threebears1248r2cca_impl_priv_encapsulate T
threebears.o pqcrypto_kem_threebears1248r2cca_impl_priv_get_pubkey T
threebears.o pqcrypto_kem_threebears1248r2cca_impl_priv_secure_bzero T
Number of similar (implementation,compiler) pairs: 12, namely:
| Implementation | Compiler | 
| lowmem | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) | 
| lowmem | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) | 
| lowmem | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) | 
| lowmem | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) | 
| opt | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) | 
| opt | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) | 
| opt | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) | 
| opt | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) | 
| vec | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) | 
| vec | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) | 
| vec | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) | 
| vec | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) | 
Namespace violations
melas_fec.o pqcrypto_kem_threebears1248r2cca_impl_priv_melas_fec_correct T
melas_fec.o pqcrypto_kem_threebears1248r2cca_impl_priv_melas_fec_set T
ring.o pqcrypto_kem_threebears1248r2cca_impl_priv_canon_3120 T
ring.o pqcrypto_kem_threebears1248r2cca_impl_priv_contract_3120 T
ring.o pqcrypto_kem_threebears1248r2cca_impl_priv_expand_3120 T
ring.o pqcrypto_kem_threebears1248r2cca_impl_priv_mac_3120 T
shake.o pqcrypto_kem_threebears1248r2cca_impl_priv_hash_output T
shake.o pqcrypto_kem_threebears1248r2cca_impl_priv_hash_update T
shake.o pqcrypto_kem_threebears1248r2cca_impl_priv_threebears_cshake_init T
threebears.o pqcrypto_kem_threebears1248r2cca_impl_priv_decapsulate T
threebears.o pqcrypto_kem_threebears1248r2cca_impl_priv_encapsulate T
threebears.o pqcrypto_kem_threebears1248r2cca_impl_priv_get_pubkey T
threebears.o pqcrypto_kem_threebears1248r2cca_impl_priv_secure_bzero T
Number of similar (implementation,compiler) pairs: 4, namely:
| Implementation | Compiler | 
| ref | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) | 
| ref | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) | 
| ref | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) | 
| ref | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) | 
Passed TIMECOP
TIMECOP iterations: 1
Number of similar (implementation,compiler) pairs: 16, namely:
| Implementation | Compiler | 
| lowmem | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) | 
| lowmem | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) | 
| lowmem | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) | 
| lowmem | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) | 
| opt | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) | 
| opt | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) | 
| opt | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) | 
| opt | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) | 
| ref | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) | 
| ref | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) | 
| ref | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) | 
| ref | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) | 
| vec | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) | 
| vec | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) | 
| vec | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) | 
| vec | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |