Skip to content

[WIP] CBMC: Add support for using multiple solvers#1122

Draft
hanno-becker wants to merge 2 commits into
mainfrom
cbmc_multi_solver
Draft

[WIP] CBMC: Add support for using multiple solvers#1122
hanno-becker wants to merge 2 commits into
mainfrom
cbmc_multi_solver

Conversation

@hanno-becker
Copy link
Copy Markdown
Contributor

No description provided.

@hanno-becker hanno-becker requested a review from a team as a code owner May 18, 2026 09:18
Signed-off-by: Hanno Becker <beckphan@amazon.co.uk>
@hanno-becker hanno-becker marked this pull request as draft May 18, 2026 09:43
@hanno-becker
Copy link
Copy Markdown
Contributor Author

@nmouha I'm continuing here with the exploration of adding CVC5 support alongside the existing solvers (bitwuzla, z3) that we use. Once we sort this, we can resume discussion on your proposal in #1114 and the corresponding change in mlkem-native.

@hanno-becker hanno-becker force-pushed the cbmc_multi_solver branch 4 times, most recently from 23ef59f to 2cd7a26 Compare May 18, 2026 13:01
@oqs-bot
Copy link
Copy Markdown
Contributor

oqs-bot commented May 18, 2026

CBMC Results (ML-DSA-44, REDUCE-RAM)

⚠️ Attention Required

Proof Solver Status Current Previous Change
**TOTAL** - ⚠️ 18312s 1412s +1196.9%
compute_pack_t0_t1 BITWUZLA - - -
compute_pack_t0_t1 CVC5 - - -
fqmul Z3 ⚠️ 60s 27s +122%
intt_native_aarch64 CVC5 - - -
intt_native_x86_64 CVC5 - - -
keccak_absorb_once_x4 Z3 ⚠️ 23s 10s +130%
mld_attempt_signature_generation BITWUZLA - - -
mld_attempt_signature_generation CVC5 - - -
mld_compute_pack_z BITWUZLA - - -
mld_compute_pack_z CVC5 - - -
mld_ct_memcmp CVC5 - - -
mld_invntt_layer CVC5 - - -
mld_ntt_butterfly_block CVC5 - - -
mld_ntt_butterfly_block Z3 ⚠️ 329s 14s +2250%
mld_ntt_layer CVC5 - - -
mld_polymat_expand_entry CVC5 - - -
mld_sample_s1_s2 CVC5 - - -
mld_sample_s1_s2_serial CVC5 - - -
ntt_native_aarch64 CVC5 - - -
ntt_native_x86_64 CVC5 - - -
nttunpack_native_x86_64 CVC5 - - -
pack_sig_z CVC5 - - -
pack_sk_rho_key_tr_s2 CVC5 - - -
pack_sk_s1 CVC5 - - -
pointwise_acc_native_aarch64 CVC5 - - -
pointwise_acc_native_x86_64 BITWUZLA - - -
pointwise_acc_native_x86_64 CVC5 - - -
pointwise_native_aarch64 CVC5 - - -
pointwise_native_x86_64 CVC5 - - -
poly_add CVC5 - - -
poly_caddq CVC5 - - -
poly_caddq_c CVC5 - - -
poly_caddq_native CVC5 - - -
poly_caddq_native_aarch64 CVC5 - - -
poly_challenge CVC5 - - -
poly_chknorm CVC5 - - -
poly_chknorm_c CVC5 - - -
poly_chknorm_native CVC5 - - -
poly_chknorm_native_aarch64 CVC5 - - -
poly_decompose CVC5 - - -
poly_decompose_88_native_aarch64 CVC5 - - -
poly_decompose_c CVC5 - - -
poly_decompose_native CVC5 - - -
poly_invntt_tomont CVC5 - - -
poly_invntt_tomont_c CVC5 - - -
poly_invntt_tomont_native CVC5 - - -
poly_ntt CVC5 - - -
poly_ntt_c CVC5 - - -
poly_ntt_native CVC5 - - -
poly_permute_bitrev_to_custom_optional CVC5 - - -
poly_permute_bitrev_to_custom_optional_native CVC5 - - -
poly_pointwise_montgomery CVC5 - - -
poly_pointwise_montgomery_c CVC5 - - -
poly_pointwise_montgomery_native CVC5 - - -
poly_power2round CVC5 - - -
poly_reduce CVC5 - - -
poly_shiftl CVC5 - - -
poly_sub CVC5 - - -
poly_uniform CVC5 - - -
poly_uniform_eta CVC5 - - -
poly_uniform_eta_4x BITWUZLA - - -
poly_uniform_eta_4x CVC5 - - -
poly_use_hint CVC5 - - -
poly_use_hint_c CVC5 - - -
poly_use_hint_native CVC5 - - -
poly_use_hint_native_aarch64 CVC5 - - -
polyeta_pack CVC5 - - -
polyeta_unpack CVC5 - - -
polyt0_pack CVC5 - - -
polyt0_unpack CVC5 - - -
polyt1_pack CVC5 - - -
polyt1_unpack CVC5 - - -
polyvec_matrix_pointwise_montgomery_row BITWUZLA - - -
polyvec_matrix_pointwise_montgomery_row CVC5 - - -
polyvec_matrix_pointwise_montgomery_yvec BITWUZLA - - -
polyvec_matrix_pointwise_montgomery_yvec CVC5 - - -
polyveck_caddq BITWUZLA - - -
polyveck_caddq CVC5 - - -
polyveck_chknorm BITWUZLA - - -
polyveck_chknorm CVC5 - - -
polyveck_decompose BITWUZLA - - -
polyveck_decompose CVC5 - - -
polyveck_invntt_tomont BITWUZLA - - -
polyveck_invntt_tomont CVC5 - - -
polyveck_pack_eta CVC5 - - -
polyveck_pack_w1 CVC5 - - -
polyveck_reduce BITWUZLA - - -
polyveck_reduce CVC5 - - -
polyveck_unpack_eta CVC5 - - -
polyvecl_chknorm BITWUZLA - - -
polyvecl_chknorm CVC5 - - -
polyvecl_ntt BITWUZLA - - -
polyvecl_ntt CVC5 - - -
polyvecl_pack_eta CVC5 - - -
polyvecl_unpack_eta CVC5 - - -
polyvecl_unpack_z CVC5 - - -
polyw1_pack CVC5 - - -
polyz_pack CVC5 - - -
polyz_unpack CVC5 - - -
polyz_unpack_17_native_aarch64 CVC5 - - -
polyz_unpack_c CVC5 - - -
polyz_unpack_native CVC5 - - -
rej_eta CVC5 - - -
rej_eta Z3 ⚠️ 20s 3s +567%
rej_eta_c CVC5 - - -
rej_eta_c Z3 ⚠️ 40s 3s +1233%
rej_eta_native CVC5 - - -
rej_eta_native Z3 ⚠️ 174s 3s +5700%
rej_uniform CVC5 - - -
rej_uniform_c CVC5 - - -
rej_uniform_native CVC5 - - -
sig_unpack_hints CVC5 - - -
sign_keypair_internal BITWUZLA - - -
sign_keypair_internal CVC5 - - -
sign_pk_from_sk BITWUZLA - - -
sign_pk_from_sk CVC5 - - -
sign_verify_internal BITWUZLA - - -
sign_verify_internal CVC5 - - -
sk_s1hat_get_poly CVC5 - - -
sk_s2hat_get_poly CVC5 - - -
sk_t0hat_get_poly CVC5 - - -
unpack_pk_t1 CVC5 - - -
yvec_get_poly CVC5 - - -
Full Results (594 proofs)
Proof Solver Status Current Previous Change
**TOTAL** - ⚠️ 18312s 1412s +1196.9%
poly_use_hint_native BITWUZLA 1580s - new
poly_decompose_native BITWUZLA 1165s - new
fqmul CVC5 1037s - new
poly_use_hint BITWUZLA 977s - new
pointwise_acc_native_aarch64 BITWUZLA 950s - new
polyveck_pack_eta BITWUZLA 866s - new
polyvecl_pack_eta BITWUZLA 861s - new
polyveck_pack_w1 BITWUZLA 835s - new
poly_caddq_native BITWUZLA 817s - new
poly_add BITWUZLA 778s - new
mld_sample_s1_s2_serial BITWUZLA 603s - new
mld_sample_s1_s2 BITWUZLA 602s - new
polyvecl_unpack_z BITWUZLA 515s - new
poly_invntt_tomont_c BITWUZLA 428s - new
polyveck_unpack_eta BITWUZLA 409s - new
polyvecl_unpack_eta BITWUZLA 402s - new
mld_ntt_butterfly_block Z3 ⚠️ 329s 14s +2250%
poly_decompose_c BITWUZLA 323s - new
poly_pointwise_montgomery_c BITWUZLA 284s - new
poly_pointwise_montgomery_native BITWUZLA 254s - new
poly_pointwise_montgomery_c Z3 220s 164s +34%
poly_ntt_c BITWUZLA 214s - new
nttunpack_native_x86_64 BITWUZLA 207s - new
rej_eta_native Z3 ⚠️ 174s 3s +5700%
poly_uniform_eta BITWUZLA 130s - new
rej_uniform_native Z3 118s 107s +10%
mld_invntt_layer Z3 114s 98s +16%
poly_uniform BITWUZLA 108s - new
poly_use_hint_c BITWUZLA 98s - new
polyvec_matrix_pointwise_montgomery_yvec Z3 97s 90s +8%
poly_invntt_tomont_native BITWUZLA 84s - new
mld_ct_memcmp Z3 71s 65s +9%
fqmul Z3 ⚠️ 60s 27s +122%
pack_sk_rho_key_tr_s2 BITWUZLA 57s - new
poly_ntt_native BITWUZLA 56s - new
pack_sk_s1 BITWUZLA 55s - new
mld_invntt_layer BITWUZLA 52s - new
mld_ntt_layer BITWUZLA 45s - new
poly_challenge BITWUZLA 43s - new
ntt_native_x86_64 BITWUZLA 40s - new
poly_power2round BITWUZLA 40s - new
rej_eta_c Z3 ⚠️ 40s 3s +1233%
polyz_unpack_native BITWUZLA 38s - new
intt_native_x86_64 BITWUZLA 36s - new
poly_sub BITWUZLA 36s - new
fqmul BITWUZLA 30s - new
keccakf1600x4_permute_native CVC5 25s - new
mld_attempt_signature_generation Z3 25s 26s -4%
keccakf1600x4_permute_native BITWUZLA 24s - new
poly_caddq_c BITWUZLA 24s - new
poly_pointwise_montgomery BITWUZLA 24s - new
keccak_absorb_once_x4 Z3 ⚠️ 23s 10s +130%
keccakf1600x4_permute_native Z3 23s 22s +5%
sign_verify_internal Z3 23s 23s +0%
rej_uniform Z3 21s 19s +11%
sig_unpack_hints BITWUZLA 21s - new
unpack_pk_t1 BITWUZLA 21s - new
rej_eta Z3 ⚠️ 20s 3s +567%
rej_uniform_c Z3 19s 19s +0%
mld_ntt_butterfly_block BITWUZLA 17s - new
polyeta_unpack Z3 17s 15s +13%
mld_check_pct CVC5 16s - new
mld_check_pct Z3 16s 16s +0%
keccak_absorb_once_x4 CVC5 15s - new
mld_check_pct BITWUZLA 15s - new
poly_chknorm_c BITWUZLA 15s - new
poly_decompose_88_native_aarch64 BITWUZLA 15s - new
polyeta_pack BITWUZLA 15s - new
poly_add Z3 14s 12s +17%
poly_chknorm_c Z3 14s 15s -7%
pointwise_native_x86_64 BITWUZLA 13s - new
poly_uniform_eta_4x Z3 13s 10s +30%
polyz_unpack_c Z3 13s 12s +8%
poly_decompose BITWUZLA 12s - new
poly_ntt BITWUZLA 12s - new
poly_reduce BITWUZLA 12s - new
polyveck_chknorm Z3 12s 11s +9%
poly_invntt_tomont_c Z3 11s 8s +38%
polyt0_pack BITWUZLA 11s - new
polyvec_matrix_pointwise_montgomery_row Z3 11s 7s +57%
poly_caddq_c Z3 10s 8s +25%
poly_decompose_c Z3 10s 8s +25%
poly_invntt_tomont BITWUZLA 10s - new
poly_shiftl BITWUZLA 10s - new
polyt0_unpack Z3 10s 12s -17%
polyz_unpack BITWUZLA 10s - new
keccak_absorb_once_x4 BITWUZLA 9s - new
poly_power2round Z3 9s 6s +50%
compute_pack_t0_t1 Z3 8s 6s +33%
mld_keccakf1600_permute_c BITWUZLA 8s - new
mld_keccakf1600_permute_c CVC5 8s - new
mld_keccakf1600_permute_c Z3 8s 6s +33%
pointwise_acc_native_x86_64 Z3 8s 5s +60%
pointwise_native_x86_64 Z3 8s 4s +100%
poly_chknorm_native BITWUZLA 8s - new
sk_t0hat_get_poly BITWUZLA 8s - new
mld_ntt_layer Z3 7s 41s -83%
mld_prepare_domain_separation_prefix CVC5 7s - new
pointwise_acc_native_aarch64 Z3 7s 4s +75%
poly_shiftl Z3 7s 5s +40%
polyveck_decompose Z3 7s 8s -12%
sign_signature_internal CVC5 7s - new
sign_signature_pre_hash_internal CVC5 7s - new
sign_verify_pre_hash_internal Z3 7s 3s +133%
intt_native_x86_64 Z3 6s 6s +0%
keccak_absorb BITWUZLA 6s - new
keccak_absorb CVC5 6s - new
keccakf1600_xor_bytes BITWUZLA 6s - new
mld_keccakf1600x4_extract_bytes_c BITWUZLA 6s - new
mld_prepare_domain_separation_prefix BITWUZLA 6s - new
ntt_native_aarch64 BITWUZLA 6s - new
pointwise_native_aarch64 BITWUZLA 6s - new
poly_caddq BITWUZLA 6s - new
poly_caddq_native_aarch64 Z3 6s 2s +200%
poly_decompose Z3 6s 4s +50%
poly_decompose_32_native_aarch64 Z3 6s 3s +100%
poly_permute_bitrev_to_custom_optional_native Z3 6s 2s +200%
poly_use_hint_native Z3 6s 2s +200%
polyvec_matrix_expand BITWUZLA 6s - new
polyveck_reduce Z3 6s 7s -14%
polyvecl_ntt Z3 6s 4s +50%
polyw1_pack BITWUZLA 6s - new
polyz_unpack_19_native_aarch64 BITWUZLA 6s - new
rej_uniform_native BITWUZLA 6s - new
sign BITWUZLA 6s - new
sign CVC5 6s - new
sign Z3 6s 8s -25%
sign_keypair Z3 6s 4s +50%
sign_open CVC5 6s - new
sign_pk_from_sk Z3 6s 4s +50%
sign_signature_pre_hash_shake256 CVC5 6s - new
unpack_pk_t1 Z3 6s 2s +200%
decompose CVC5 5s - new
keccak_absorb Z3 5s 5s +0%
keccak_f1600_x4_native_avx2 CVC5 5s - new
keccak_squeezeblocks_x4 Z3 5s 4s +25%
keccakf1600_extract_bytes (big endian) BITWUZLA 5s - new
keccakf1600_permute_native BITWUZLA 5s - new
keccakf1600x4_extract_bytes BITWUZLA 5s - new
keccakf1600x4_permute BITWUZLA 5s - new
mld_compute_pack_z Z3 5s 6s -17%
mld_ct_abs_i32 BITWUZLA 5s - new
mld_h CVC5 5s - new
mld_polymat_expand_entry Z3 5s 2s +150%
mld_sample_s1_s2 Z3 5s 3s +67%
mld_value_barrier_u8 CVC5 5s - new
poly_caddq_native_aarch64 BITWUZLA 5s - new
poly_challenge Z3 5s 3s +67%
poly_chknorm BITWUZLA 5s - new
poly_decompose_native Z3 5s 3s +67%
poly_reduce Z3 5s 1s +400%
poly_uniform_eta Z3 5s 5s +0%
poly_uniform_gamma1 Z3 5s 2s +150%
polyeta_unpack BITWUZLA 5s - new
polyt0_unpack BITWUZLA 5s - new
polyveck_caddq Z3 5s 6s -17%
polyveck_pack_eta Z3 5s 4s +25%
polyveck_unpack_eta Z3 5s 2s +150%
polyvecl_uniform_gamma1 BITWUZLA 5s - new
polyvecl_uniform_gamma1_serial Z3 5s 2s +150%
polyz_pack BITWUZLA 5s - new
polyz_unpack Z3 5s 2s +150%
polyz_unpack_19_native_aarch64 CVC5 5s - new
rej_eta_c BITWUZLA 5s - new
shake256_absorb CVC5 5s - new
shake256x4_squeezeblocks CVC5 5s - new
sign_keypair CVC5 5s - new
sign_open BITWUZLA 5s - new
sign_signature CVC5 5s - new
sign_signature_extmu Z3 5s 5s +0%
sign_signature_internal Z3 5s 5s +0%
sign_signature_pre_hash_internal BITWUZLA 5s - new
sign_signature_pre_hash_shake256 BITWUZLA 5s - new
sign_signature_pre_hash_shake256 Z3 5s 2s +150%
sign_verify BITWUZLA 5s - new
sign_verify CVC5 5s - new
sign_verify_extmu CVC5 5s - new
sk_s1hat_get_poly BITWUZLA 5s - new
sys_check_capability BITWUZLA 5s - new
unpack_sk_t0hat CVC5 5s - new
caddq CVC5 4s - new
fqscale BITWUZLA 4s - new
keccak_f1600_x1_native_aarch64_v84a CVC5 4s - new
keccak_f1600_x4_native_aarch64_v84a CVC5 4s - new
keccak_finalize BITWUZLA 4s - new
keccak_init BITWUZLA 4s - new
keccak_squeezeblocks_x4 BITWUZLA 4s - new
keccak_squeezeblocks_x4 CVC5 4s - new
keccakf1600_extract_bytes (big endian) Z3 4s 2s +100%
keccakf1600_permute CVC5 4s - new
keccakf1600_xor_bytes CVC5 4s - new
keccakf1600x4_permute Z3 4s 3s +33%
keccakf1600x4_xor_bytes BITWUZLA 4s - new
keccakf1600x4_xor_bytes_native CVC5 4s - new
make_hint BITWUZLA 4s - new
mld_ct_abs_i32 CVC5 4s - new
mld_ct_cmask_nonzero_u8 BITWUZLA 4s - new
mld_ct_cmask_nonzero_u8 CVC5 4s - new
mld_ct_sel_int32 CVC5 4s - new
mld_h BITWUZLA 4s - new
mld_h Z3 4s 6s -33%
mld_keccakf1600_extract_bytes BITWUZLA 4s - new
mld_keccakf1600_extract_bytes Z3 4s 4s +0%
mld_keccakf1600x4_extract_bytes_c CVC5 4s - new
mld_keccakf1600x4_xor_bytes_c BITWUZLA 4s - new
mld_prepare_domain_separation_prefix Z3 4s 7s -43%
mld_sample_s1_s2_serial Z3 4s 4s +0%
montgomery_reduce Z3 4s 3s +33%
pack_sig_h CVC5 4s - new
pack_sig_h Z3 4s 5s -20%
poly_caddq Z3 4s 3s +33%
poly_decompose_32_native_aarch64 CVC5 4s - new
poly_decompose_88_native_aarch64 Z3 4s 5s -20%
poly_invntt_tomont_native Z3 4s 4s +0%
poly_permute_bitrev_to_custom_optional_native BITWUZLA 4s - new
poly_pointwise_montgomery_native Z3 4s 2s +100%
poly_uniform_gamma1_4x BITWUZLA 4s - new
poly_use_hint_c Z3 4s 3s +33%
polyt1_pack BITWUZLA 4s - new
polyt1_pack Z3 4s 2s +100%
polyvec_matrix_expand_serial BITWUZLA 4s - new
polyveck_ntt CVC5 4s - new
polyveck_pack_w1 Z3 4s 3s +33%
polyvecl_chknorm Z3 4s 3s +33%
polyvecl_pack_eta Z3 4s 4s +0%
polyvecl_pointwise_acc_montgomery CVC5 4s - new
polyvecl_pointwise_acc_montgomery Z3 4s 3s +33%
polyvecl_uniform_gamma1 Z3 4s 2s +100%
polyvecl_unpack_eta Z3 4s 2s +100%
polyw1_pack Z3 4s 2s +100%
polyz_pack Z3 4s 4s +0%
polyz_unpack_17_native_aarch64 BITWUZLA 4s - new
polyz_unpack_19_native_aarch64 Z3 4s 6s -33%
polyz_unpack_c BITWUZLA 4s - new
reduce32 Z3 4s 3s +33%
rej_eta BITWUZLA 4s - new
rej_eta_native BITWUZLA 4s - new
rej_uniform_c BITWUZLA 4s - new
shake128_absorb BITWUZLA 4s - new
shake128_absorb CVC5 4s - new
shake128_release BITWUZLA 4s - new
shake128x4_squeezeblocks Z3 4s 2s +100%
shake256_finalize CVC5 4s - new
shake256x4_absorb_once Z3 4s 1s +300%
sign_keypair_internal Z3 4s 5s -20%
sign_open Z3 4s 6s -33%
sign_signature BITWUZLA 4s - new
sign_signature_extmu CVC5 4s - new
sign_signature_internal BITWUZLA 4s - new
sign_signature_pre_hash_internal Z3 4s 6s -33%
sign_verify_pre_hash_internal CVC5 4s - new
sign_verify_pre_hash_shake256 BITWUZLA 4s - new
sk_s2hat_get_poly BITWUZLA 4s - new
unpack_sk Z3 4s 3s +33%
unpack_sk_s1hat BITWUZLA 4s - new
unpack_sk_s2hat Z3 4s 2s +100%
use_hint CVC5 4s - new
yvec_init Z3 4s 3s +33%
caddq BITWUZLA 3s - new
decompose BITWUZLA 3s - new
decompose Z3 3s 5s -40%
fqscale Z3 3s 4s -25%
intt_native_aarch64 BITWUZLA 3s - new
keccak_f1600_x1_native_aarch64 Z3 3s 3s +0%
keccak_f1600_x1_native_aarch64_v84a BITWUZLA 3s - new
keccak_f1600_x1_native_aarch64_v84a Z3 3s 2s +50%
keccak_f1600_x4_native_aarch64_v8a_scalar_hybrid BITWUZLA 3s - new
keccak_f1600_x4_native_aarch64_v8a_scalar_hybrid CVC5 3s - new
keccak_f1600_x4_native_aarch64_v8a_v84a_scalar_hybrid CVC5 3s - new
keccak_f1600_x4_native_avx2 BITWUZLA 3s - new
keccak_finalize CVC5 3s - new
keccak_squeeze BITWUZLA 3s - new
keccak_squeeze Z3 3s 3s +0%
keccakf1600_permute BITWUZLA 3s - new
keccakf1600_permute_native Z3 3s 2s +50%
keccakf1600_xor_bytes Z3 3s 3s +0%
keccakf1600x4_extract_bytes CVC5 3s - new
keccakf1600x4_permute CVC5 3s - new
keccakf1600x4_xor_bytes Z3 3s 4s -25%
mld_ct_cmask_neg_i32 CVC5 3s - new
mld_ct_cmask_neg_i32 Z3 3s 1s +200%
mld_ct_cmask_nonzero_u32 BITWUZLA 3s - new
mld_ct_cmask_nonzero_u32 CVC5 3s - new
mld_ct_cmask_nonzero_u32 Z3 3s 2s +50%
mld_ct_cmask_nonzero_u8 Z3 3s 3s +0%
mld_ct_get_optblocker_i64 CVC5 3s - new
mld_ct_get_optblocker_i64 Z3 3s 4s -25%
mld_ct_get_optblocker_u32 Z3 3s 2s +50%
mld_ct_sel_int32 BITWUZLA 3s - new
mld_keccakf1600_extract_bytes CVC5 3s - new
mld_keccakf1600x4_xor_bytes_c Z3 3s 3s +0%
mld_value_barrier_i64 BITWUZLA 3s - new
mld_value_barrier_i64 Z3 3s 2s +50%
mld_value_barrier_u32 CVC5 3s - new
mld_value_barrier_u32 Z3 3s 2s +50%
mld_value_barrier_u8 BITWUZLA 3s - new
ntt_native_aarch64 Z3 3s 2s +50%
nttunpack_native_x86_64 Z3 3s 2s +50%
pack_sig_c BITWUZLA 3s - new
pack_sig_h BITWUZLA 3s - new
pointwise_native_aarch64 Z3 3s 2s +50%
poly_chknorm_native_aarch64 BITWUZLA 3s - new
poly_chknorm_native_aarch64 Z3 3s 3s +0%
poly_invntt_tomont Z3 3s 3s +0%
poly_ntt_c Z3 3s 3s +0%
poly_ntt_native Z3 3s 2s +50%
poly_permute_bitrev_to_custom_optional BITWUZLA 3s - new
poly_uniform Z3 3s 3s +0%
poly_uniform_4x BITWUZLA 3s - new
poly_uniform_4x Z3 3s 2s +50%
poly_uniform_gamma1 BITWUZLA 3s - new
poly_uniform_gamma1 CVC5 3s - new
poly_uniform_gamma1_4x CVC5 3s - new
poly_uniform_gamma1_4x Z3 3s 3s +0%
poly_use_hint Z3 3s 3s +0%
poly_use_hint_native_aarch64 Z3 3s 3s +0%
polyt0_pack Z3 3s 3s +0%
polyt1_unpack BITWUZLA 3s - new
polyt1_unpack Z3 3s 3s +0%
polyvec_matrix_expand CVC5 3s - new
polyvec_matrix_expand Z3 3s 4s -25%
polyvec_matrix_expand_serial CVC5 3s - new
polyvec_matrix_expand_serial Z3 3s 3s +0%
polyveck_invntt_tomont Z3 3s 4s -25%
polyveck_ntt BITWUZLA 3s - new
polyveck_ntt Z3 3s 2s +50%
polyvecl_pointwise_acc_montgomery_c BITWUZLA 3s - new
polyvecl_pointwise_acc_montgomery_c Z3 3s 3s +0%
polyvecl_pointwise_acc_montgomery_native BITWUZLA 3s - new
polyvecl_pointwise_acc_montgomery_native CVC5 3s - new
polyvecl_uniform_gamma1_serial BITWUZLA 3s - new
polyz_unpack_17_native_aarch64 Z3 3s 3s +0%
polyz_unpack_native Z3 3s 2s +50%
power2round CVC5 3s - new
power2round Z3 3s 3s +0%
reduce32 BITWUZLA 3s - new
rej_uniform BITWUZLA 3s - new
shake128_init CVC5 3s - new
shake128_init Z3 3s 1s +200%
shake128_squeeze BITWUZLA 3s - new
shake128_squeeze CVC5 3s - new
shake128_squeeze Z3 3s 3s +0%
shake128x4_absorb_once BITWUZLA 3s - new
shake128x4_absorb_once CVC5 3s - new
shake128x4_absorb_once Z3 3s 2s +50%
shake128x4_squeezeblocks CVC5 3s - new
shake256 BITWUZLA 3s - new
shake256 CVC5 3s - new
shake256 Z3 3s 2s +50%
shake256_absorb BITWUZLA 3s - new
shake256_absorb Z3 3s 2s +50%
shake256_finalize BITWUZLA 3s - new
shake256_finalize Z3 3s 3s +0%
shake256_init BITWUZLA 3s - new
shake256_init CVC5 3s - new
shake256_init Z3 3s 2s +50%
shake256_release BITWUZLA 3s - new
shake256x4_squeezeblocks Z3 3s 1s +200%
sign_signature_extmu BITWUZLA 3s - new
sign_verify Z3 3s 3s +0%
sign_verify_extmu BITWUZLA 3s - new
sign_verify_pre_hash_shake256 CVC5 3s - new
sign_verify_pre_hash_shake256 Z3 3s 2s +50%
sk_s1hat_get_poly Z3 3s 2s +50%
sk_s2hat_get_poly Z3 3s 4s -25%
sk_t0hat_get_poly Z3 3s 3s +0%
unpack_sk_s1hat CVC5 3s - new
use_hint BITWUZLA 3s - new
yvec_get_poly BITWUZLA 3s - new
yvec_init BITWUZLA 3s - new
caddq Z3 2s 2s +0%
fqscale CVC5 2s - new
intt_native_aarch64 Z3 2s 4s -50%
keccak_f1600_x1_native_aarch64 BITWUZLA 2s - new
keccak_f1600_x4_native_aarch64_v84a BITWUZLA 2s - new
keccak_f1600_x4_native_aarch64_v84a Z3 2s 5s -60%
keccak_f1600_x4_native_aarch64_v8a_v84a_scalar_hybrid BITWUZLA 2s - new
keccak_f1600_x4_native_aarch64_v8a_v84a_scalar_hybrid Z3 2s 4s -50%
keccak_f1600_x4_native_avx2 Z3 2s 2s +0%
keccak_init Z3 2s 2s +0%
keccak_squeeze CVC5 2s - new
keccakf1600_extract_bytes (big endian) CVC5 2s - new
keccakf1600_permute Z3 2s 2s +0%
keccakf1600_permute_native CVC5 2s - new
keccakf1600_xor_bytes (big endian) BITWUZLA 2s - new
keccakf1600_xor_bytes (big endian) CVC5 2s - new
keccakf1600_xor_bytes (big endian) Z3 2s 2s +0%
keccakf1600x4_extract_bytes_native BITWUZLA 2s - new
keccakf1600x4_extract_bytes_native CVC5 2s - new
keccakf1600x4_extract_bytes_native Z3 2s 4s -50%
keccakf1600x4_xor_bytes CVC5 2s - new
keccakf1600x4_xor_bytes_native BITWUZLA 2s - new
keccakf1600x4_xor_bytes_native Z3 2s 3s -33%
make_hint CVC5 2s - new
make_hint Z3 2s 4s -50%
mld_ct_abs_i32 Z3 2s 4s -50%
mld_ct_cmask_neg_i32 BITWUZLA 2s - new
mld_ct_get_optblocker_i64 BITWUZLA 2s - new
mld_ct_get_optblocker_u32 BITWUZLA 2s - new
mld_ct_get_optblocker_u32 CVC5 2s - new
mld_ct_get_optblocker_u8 Z3 2s 2s +0%
mld_ct_memcmp BITWUZLA 2s - new
mld_ct_sel_int32 Z3 2s 1s +100%
mld_keccakf1600x4_extract_bytes_c Z3 2s 4s -50%
mld_keccakf1600x4_xor_bytes_c CVC5 2s - new
mld_polymat_expand_entry BITWUZLA 2s - new
mld_value_barrier_i64 CVC5 2s - new
mld_value_barrier_u32 BITWUZLA 2s - new
mld_value_barrier_u8 Z3 2s 2s +0%
montgomery_reduce CVC5 2s - new
ntt_native_x86_64 Z3 2s 4s -50%
pack_sig_c CVC5 2s - new
pack_sig_c Z3 2s 4s -50%
pack_sig_z Z3 2s 3s -33%
pack_sk_s1 Z3 2s 3s -33%
poly_caddq_native Z3 2s 3s -33%
poly_chknorm Z3 2s 1s +100%
poly_chknorm_native Z3 2s 3s -33%
poly_decompose_32_native_aarch64 BITWUZLA 2s - new
poly_ntt Z3 2s 3s -33%
poly_permute_bitrev_to_custom_optional Z3 2s 2s +0%
poly_pointwise_montgomery Z3 2s 4s -50%
poly_sub Z3 2s 2s +0%
poly_uniform_4x CVC5 2s - new
poly_use_hint_native_aarch64 BITWUZLA 2s - new
polyeta_pack Z3 2s 5s -60%
polyvecl_pointwise_acc_montgomery BITWUZLA 2s - new
polyvecl_pointwise_acc_montgomery_c CVC5 2s - new
polyvecl_pointwise_acc_montgomery_native Z3 2s 2s +0%
polyvecl_uniform_gamma1 CVC5 2s - new
polyvecl_uniform_gamma1_serial CVC5 2s - new
polyvecl_unpack_z Z3 2s 2s +0%
power2round BITWUZLA 2s - new
reduce32 CVC5 2s - new
shake128_absorb Z3 2s 4s -50%
shake128_finalize BITWUZLA 2s - new
shake128_finalize Z3 2s 1s +100%
shake128_release CVC5 2s - new
shake128x4_squeezeblocks BITWUZLA 2s - new
shake256_release CVC5 2s - new
shake256_squeeze CVC5 2s - new
shake256_squeeze Z3 2s 2s +0%
shake256x4_absorb_once BITWUZLA 2s - new
shake256x4_absorb_once CVC5 2s - new
shake256x4_squeezeblocks BITWUZLA 2s - new
sig_unpack_hints Z3 2s 3s -33%
sign_keypair BITWUZLA 2s - new
sign_signature Z3 2s 7s -71%
sign_verify_extmu Z3 2s 5s -60%
sign_verify_pre_hash_internal BITWUZLA 2s - new
sys_check_capability CVC5 2s - new
sys_check_capability Z3 2s 3s -33%
unpack_sk BITWUZLA 2s - new
unpack_sk CVC5 2s - new
unpack_sk_s1hat Z3 2s 3s -33%
unpack_sk_s2hat CVC5 2s - new
unpack_sk_t0hat BITWUZLA 2s - new
unpack_sk_t0hat Z3 2s 2s +0%
use_hint Z3 2s 3s -33%
yvec_get_poly Z3 2s 4s -50%
yvec_init CVC5 2s - new
compute_pack_t0_t1 BITWUZLA - - -
compute_pack_t0_t1 CVC5 - - -
intt_native_aarch64 CVC5 - - -
intt_native_x86_64 CVC5 - - -
keccak_f1600_x1_native_aarch64 CVC5 1s - new
keccak_f1600_x4_native_aarch64_v8a_scalar_hybrid Z3 1s 2s -50%
keccak_finalize Z3 1s 2s -50%
keccak_init CVC5 1s - new
keccakf1600x4_extract_bytes Z3 1s 3s -67%
mld_attempt_signature_generation BITWUZLA - - -
mld_attempt_signature_generation CVC5 - - -
mld_compute_pack_z BITWUZLA - - -
mld_compute_pack_z CVC5 - - -
mld_ct_get_optblocker_u8 BITWUZLA 1s - new
mld_ct_get_optblocker_u8 CVC5 1s - new
mld_ct_memcmp CVC5 - - -
mld_invntt_layer CVC5 - - -
mld_ntt_butterfly_block CVC5 - - -
mld_ntt_layer CVC5 - - -
mld_polymat_expand_entry CVC5 - - -
mld_sample_s1_s2 CVC5 - - -
mld_sample_s1_s2_serial CVC5 - - -
montgomery_reduce BITWUZLA 1s - new
ntt_native_aarch64 CVC5 - - -
ntt_native_x86_64 CVC5 - - -
nttunpack_native_x86_64 CVC5 - - -
pack_sig_z BITWUZLA 1s - new
pack_sig_z CVC5 - - -
pack_sk_rho_key_tr_s2 CVC5 - - -
pack_sk_rho_key_tr_s2 Z3 1s 2s -50%
pack_sk_s1 CVC5 - - -
pointwise_acc_native_aarch64 CVC5 - - -
pointwise_acc_native_x86_64 BITWUZLA - - -
pointwise_acc_native_x86_64 CVC5 - - -
pointwise_native_aarch64 CVC5 - - -
pointwise_native_x86_64 CVC5 - - -
poly_add CVC5 - - -
poly_caddq CVC5 - - -
poly_caddq_c CVC5 - - -
poly_caddq_native CVC5 - - -
poly_caddq_native_aarch64 CVC5 - - -
poly_challenge CVC5 - - -
poly_chknorm CVC5 - - -
poly_chknorm_c CVC5 - - -
poly_chknorm_native CVC5 - - -
poly_chknorm_native_aarch64 CVC5 - - -
poly_decompose CVC5 - - -
poly_decompose_88_native_aarch64 CVC5 - - -
poly_decompose_c CVC5 - - -
poly_decompose_native CVC5 - - -
poly_invntt_tomont CVC5 - - -
poly_invntt_tomont_c CVC5 - - -
poly_invntt_tomont_native CVC5 - - -
poly_ntt CVC5 - - -
poly_ntt_c CVC5 - - -
poly_ntt_native CVC5 - - -
poly_permute_bitrev_to_custom_optional CVC5 - - -
poly_permute_bitrev_to_custom_optional_native CVC5 - - -
poly_pointwise_montgomery CVC5 - - -
poly_pointwise_montgomery_c CVC5 - - -
poly_pointwise_montgomery_native CVC5 - - -
poly_power2round CVC5 - - -
poly_reduce CVC5 - - -
poly_shiftl CVC5 - - -
poly_sub CVC5 - - -
poly_uniform CVC5 - - -
poly_uniform_eta CVC5 - - -
poly_uniform_eta_4x BITWUZLA - - -
poly_uniform_eta_4x CVC5 - - -
poly_use_hint CVC5 - - -
poly_use_hint_c CVC5 - - -
poly_use_hint_native CVC5 - - -
poly_use_hint_native_aarch64 CVC5 - - -
polyeta_pack CVC5 - - -
polyeta_unpack CVC5 - - -
polyt0_pack CVC5 - - -
polyt0_unpack CVC5 - - -
polyt1_pack CVC5 - - -
polyt1_unpack CVC5 - - -
polyvec_matrix_pointwise_montgomery_row BITWUZLA - - -
polyvec_matrix_pointwise_montgomery_row CVC5 - - -
polyvec_matrix_pointwise_montgomery_yvec BITWUZLA - - -
polyvec_matrix_pointwise_montgomery_yvec CVC5 - - -
polyveck_caddq BITWUZLA - - -
polyveck_caddq CVC5 - - -
polyveck_chknorm BITWUZLA - - -
polyveck_chknorm CVC5 - - -
polyveck_decompose BITWUZLA - - -
polyveck_decompose CVC5 - - -
polyveck_invntt_tomont BITWUZLA - - -
polyveck_invntt_tomont CVC5 - - -
polyveck_pack_eta CVC5 - - -
polyveck_pack_w1 CVC5 - - -
polyveck_reduce BITWUZLA - - -
polyveck_reduce CVC5 - - -
polyveck_unpack_eta CVC5 - - -
polyvecl_chknorm BITWUZLA - - -
polyvecl_chknorm CVC5 - - -
polyvecl_ntt BITWUZLA - - -
polyvecl_ntt CVC5 - - -
polyvecl_pack_eta CVC5 - - -
polyvecl_unpack_eta CVC5 - - -
polyvecl_unpack_z CVC5 - - -
polyw1_pack CVC5 - - -
polyz_pack CVC5 - - -
polyz_unpack CVC5 - - -
polyz_unpack_17_native_aarch64 CVC5 - - -
polyz_unpack_c CVC5 - - -
polyz_unpack_native CVC5 - - -
rej_eta CVC5 - - -
rej_eta_c CVC5 - - -
rej_eta_native CVC5 - - -
rej_uniform CVC5 - - -
rej_uniform_c CVC5 - - -
rej_uniform_native CVC5 - - -
shake128_finalize CVC5 1s - new
shake128_init BITWUZLA 1s - new
shake128_release Z3 1s 2s -50%
shake256_release Z3 1s 2s -50%
shake256_squeeze BITWUZLA 1s - new
sig_unpack_hints CVC5 - - -
sign_keypair_internal BITWUZLA - - -
sign_keypair_internal CVC5 - - -
sign_pk_from_sk BITWUZLA - - -
sign_pk_from_sk CVC5 - - -
sign_verify_internal BITWUZLA - - -
sign_verify_internal CVC5 - - -
sk_s1hat_get_poly CVC5 - - -
sk_s2hat_get_poly CVC5 - - -
sk_t0hat_get_poly CVC5 - - -
unpack_pk_t1 CVC5 - - -
unpack_sk_s2hat BITWUZLA 1s - new
yvec_get_poly CVC5 - - -

@oqs-bot
Copy link
Copy Markdown
Contributor

oqs-bot commented May 18, 2026

CBMC Results (ML-DSA-87, REDUCE-RAM)

⚠️ Attention Required

Proof Solver Status Current Previous Change
**TOTAL** - ⚠️ 16485s 1563s +954.7%
compute_pack_t0_t1 BITWUZLA - - -
compute_pack_t0_t1 CVC5 - - -
fqmul Z3 ⚠️ 63s 27s +133%
intt_native_aarch64 CVC5 - - -
intt_native_x86_64 CVC5 - - -
keccak_absorb_once_x4 Z3 ⚠️ 20s 10s +100%
mld_attempt_signature_generation BITWUZLA - - -
mld_attempt_signature_generation CVC5 - - -
mld_compute_pack_z BITWUZLA - - -
mld_compute_pack_z CVC5 - - -
mld_ct_memcmp CVC5 - - -
mld_invntt_layer CVC5 - - -
mld_ntt_butterfly_block CVC5 - - -
mld_ntt_butterfly_block Z3 ⚠️ 317s 15s +2013%
mld_ntt_layer CVC5 - - -
mld_polymat_expand_entry CVC5 - - -
mld_sample_s1_s2 BITWUZLA - - -
mld_sample_s1_s2 CVC5 - - -
mld_sample_s1_s2_serial CVC5 - - -
ntt_native_aarch64 CVC5 - - -
ntt_native_x86_64 CVC5 - - -
nttunpack_native_x86_64 CVC5 - - -
pack_sig_z CVC5 - - -
pack_sk_rho_key_tr_s2 CVC5 - - -
pack_sk_s1 CVC5 - - -
pointwise_acc_native_aarch64 BITWUZLA - - -
pointwise_acc_native_aarch64 CVC5 - - -
pointwise_acc_native_x86_64 BITWUZLA - - -
pointwise_acc_native_x86_64 CVC5 - - -
pointwise_native_aarch64 CVC5 - - -
pointwise_native_x86_64 CVC5 - - -
poly_add CVC5 - - -
poly_caddq CVC5 - - -
poly_caddq_c CVC5 - - -
poly_caddq_native CVC5 - - -
poly_caddq_native_aarch64 CVC5 - - -
poly_challenge CVC5 - - -
poly_chknorm CVC5 - - -
poly_chknorm_c CVC5 - - -
poly_chknorm_native CVC5 - - -
poly_chknorm_native_aarch64 CVC5 - - -
poly_decompose CVC5 - - -
poly_decompose_32_native_aarch64 CVC5 - - -
poly_decompose_c CVC5 - - -
poly_decompose_native CVC5 - - -
poly_invntt_tomont CVC5 - - -
poly_invntt_tomont_c CVC5 - - -
poly_invntt_tomont_native CVC5 - - -
poly_ntt CVC5 - - -
poly_ntt_c CVC5 - - -
poly_ntt_native CVC5 - - -
poly_permute_bitrev_to_custom_optional CVC5 - - -
poly_permute_bitrev_to_custom_optional_native CVC5 - - -
poly_pointwise_montgomery CVC5 - - -
poly_pointwise_montgomery_c CVC5 - - -
poly_pointwise_montgomery_native CVC5 - - -
poly_power2round CVC5 - - -
poly_reduce CVC5 - - -
poly_shiftl CVC5 - - -
poly_sub CVC5 - - -
poly_uniform CVC5 - - -
poly_uniform_eta CVC5 - - -
poly_uniform_eta_4x BITWUZLA - - -
poly_uniform_eta_4x CVC5 - - -
poly_use_hint CVC5 - - -
poly_use_hint_c CVC5 - - -
poly_use_hint_native BITWUZLA - - -
poly_use_hint_native CVC5 - - -
poly_use_hint_native_aarch64 CVC5 - - -
polyeta_pack CVC5 - - -
polyeta_unpack CVC5 - - -
polyt0_pack CVC5 - - -
polyt0_unpack CVC5 - - -
polyt1_pack CVC5 - - -
polyt1_unpack CVC5 - - -
polyvec_matrix_pointwise_montgomery_row BITWUZLA - - -
polyvec_matrix_pointwise_montgomery_row CVC5 - - -
polyvec_matrix_pointwise_montgomery_yvec BITWUZLA - - -
polyvec_matrix_pointwise_montgomery_yvec CVC5 - - -
polyveck_caddq BITWUZLA - - -
polyveck_caddq CVC5 - - -
polyveck_chknorm BITWUZLA - - -
polyveck_chknorm CVC5 - - -
polyveck_decompose BITWUZLA - - -
polyveck_decompose CVC5 - - -
polyveck_invntt_tomont BITWUZLA - - -
polyveck_invntt_tomont CVC5 - - -
polyveck_pack_eta CVC5 - - -
polyveck_pack_w1 CVC5 - - -
polyveck_reduce BITWUZLA - - -
polyveck_reduce CVC5 - - -
polyveck_unpack_eta CVC5 - - -
polyvecl_chknorm BITWUZLA - - -
polyvecl_chknorm CVC5 - - -
polyvecl_ntt BITWUZLA - - -
polyvecl_ntt CVC5 - - -
polyvecl_pack_eta CVC5 - - -
polyvecl_unpack_eta CVC5 - - -
polyvecl_unpack_z CVC5 - - -
polyw1_pack CVC5 - - -
polyz_pack CVC5 - - -
polyz_unpack CVC5 - - -
polyz_unpack_19_native_aarch64 CVC5 - - -
polyz_unpack_c CVC5 - - -
polyz_unpack_native CVC5 - - -
rej_eta CVC5 - - -
rej_eta Z3 ⚠️ 20s 2s +900%
rej_eta_c CVC5 - - -
rej_eta_c Z3 ⚠️ 37s 4s +825%
rej_eta_native CVC5 - - -
rej_eta_native Z3 ⚠️ 170s 4s +4150%
rej_uniform CVC5 - - -
rej_uniform_c CVC5 - - -
rej_uniform_native CVC5 - - -
sig_unpack_hints CVC5 - - -
sign_keypair_internal BITWUZLA - - -
sign_keypair_internal CVC5 - - -
sign_pk_from_sk BITWUZLA - - -
sign_pk_from_sk CVC5 - - -
sign_verify_internal BITWUZLA - - -
sign_verify_internal CVC5 - - -
sk_s1hat_get_poly CVC5 - - -
sk_s2hat_get_poly CVC5 - - -
sk_t0hat_get_poly CVC5 - - -
unpack_pk_t1 CVC5 - - -
yvec_get_poly CVC5 - - -
Full Results (594 proofs)
Proof Solver Status Current Previous Change
**TOTAL** - ⚠️ 16485s 1563s +954.7%
mld_sample_s1_s2_serial BITWUZLA 1762s - new
polyveck_unpack_eta BITWUZLA 1447s - new
poly_decompose_native BITWUZLA 1359s - new
fqmul CVC5 1001s - new
poly_use_hint BITWUZLA 952s - new
poly_caddq_native BITWUZLA 799s - new
polyvecl_unpack_z BITWUZLA 798s - new
poly_add BITWUZLA 758s - new
polyveck_pack_w1 BITWUZLA 733s - new
polyvecl_unpack_eta BITWUZLA 555s - new
polyveck_pack_eta BITWUZLA 450s - new
poly_invntt_tomont_c BITWUZLA 429s - new
mld_ntt_butterfly_block Z3 ⚠️ 317s 15s +2013%
poly_pointwise_montgomery_c BITWUZLA 284s - new
poly_pointwise_montgomery_native BITWUZLA 250s - new
poly_ntt_c BITWUZLA 215s - new
nttunpack_native_x86_64 BITWUZLA 210s - new
poly_pointwise_montgomery_c Z3 209s 198s +6%
polyvecl_pack_eta BITWUZLA 186s - new
rej_eta_native Z3 ⚠️ 170s 4s +4150%
polyvec_matrix_pointwise_montgomery_yvec Z3 140s 135s +4%
poly_uniform_eta BITWUZLA 131s - new
rej_uniform_native Z3 119s 116s +3%
mld_invntt_layer Z3 113s 113s +0%
poly_uniform BITWUZLA 106s - new
pack_sk_rho_key_tr_s2 BITWUZLA 99s - new
poly_use_hint_c BITWUZLA 95s - new
poly_invntt_tomont_native BITWUZLA 78s - new
mld_ct_memcmp Z3 73s 70s +4%
poly_decompose_c BITWUZLA 72s - new
fqmul Z3 ⚠️ 63s 27s +133%
poly_ntt_native BITWUZLA 54s - new
mld_invntt_layer BITWUZLA 52s - new
mld_ntt_layer BITWUZLA 44s - new
ntt_native_x86_64 BITWUZLA 40s - new
poly_challenge BITWUZLA 39s - new
polyz_unpack_native BITWUZLA 38s - new
rej_eta_c Z3 ⚠️ 37s 4s +825%
sign_verify_internal Z3 37s 37s +0%
poly_power2round BITWUZLA 36s - new
poly_sub BITWUZLA 36s - new
pack_sk_s1 BITWUZLA 33s - new
intt_native_x86_64 BITWUZLA 31s - new
fqmul BITWUZLA 29s - new
mld_attempt_signature_generation Z3 28s 27s +4%
keccakf1600x4_permute_native BITWUZLA 24s - new
keccakf1600x4_permute_native CVC5 24s - new
poly_caddq_c BITWUZLA 24s - new
keccakf1600x4_permute_native Z3 23s 24s -4%
poly_pointwise_montgomery BITWUZLA 22s - new
rej_uniform Z3 21s 23s -9%
keccak_absorb_once_x4 Z3 ⚠️ 20s 10s +100%
rej_eta Z3 ⚠️ 20s 2s +900%
rej_uniform_c Z3 20s 19s +5%
poly_decompose BITWUZLA 19s - new
unpack_pk_t1 BITWUZLA 19s - new
poly_chknorm_c BITWUZLA 17s - new
polyeta_unpack Z3 17s 15s +13%
sig_unpack_hints BITWUZLA 17s - new
polyt0_unpack Z3 16s 12s +33%
polyveck_decompose Z3 16s 15s +7%
keccak_absorb_once_x4 CVC5 15s - new
mld_ntt_butterfly_block BITWUZLA 15s - new
poly_chknorm_c Z3 15s 15s +0%
poly_decompose_32_native_aarch64 BITWUZLA 15s - new
mld_check_pct BITWUZLA 14s - new
mld_check_pct CVC5 14s - new
polyeta_pack BITWUZLA 14s - new
pointwise_native_x86_64 BITWUZLA 13s - new
poly_invntt_tomont BITWUZLA 12s - new
polyveck_reduce Z3 12s 7s +71%
keccak_absorb_once_x4 BITWUZLA 11s - new
mld_check_pct Z3 11s 12s -8%
poly_add Z3 11s 14s -21%
poly_shiftl BITWUZLA 11s - new
sign BITWUZLA 11s - new
sign_open CVC5 11s - new
poly_caddq_c Z3 10s 8s +25%
poly_reduce BITWUZLA 10s - new
poly_uniform_eta_4x Z3 10s 11s -9%
polyt0_pack BITWUZLA 10s - new
polyvec_matrix_pointwise_montgomery_row Z3 10s 10s +0%
polyz_unpack BITWUZLA 10s - new
poly_ntt BITWUZLA 9s - new
pointwise_acc_native_aarch64 Z3 8s 9s -11%
poly_invntt_tomont_c Z3 8s 8s +0%
poly_power2round Z3 8s 9s -11%
sign CVC5 8s - new
sign_pk_from_sk Z3 8s 7s +14%
sign_signature_internal CVC5 8s - new
sign_signature_pre_hash_internal CVC5 8s - new
compute_pack_t0_t1 Z3 7s 6s +17%
keccak_absorb Z3 7s 6s +17%
keccak_squeezeblocks_x4 CVC5 7s - new
keccak_squeezeblocks_x4 Z3 7s 4s +75%
mld_keccakf1600_permute_c BITWUZLA 7s - new
poly_chknorm BITWUZLA 7s - new
poly_chknorm_native BITWUZLA 7s - new
polyt0_unpack BITWUZLA 7s - new
polyvecl_ntt Z3 7s 9s -22%
polyz_unpack_c Z3 7s 7s +0%
sign_signature_extmu Z3 7s 4s +75%
sign_signature_internal BITWUZLA 7s - new
sign_verify CVC5 7s - new
sign_verify_pre_hash_internal BITWUZLA 7s - new
sk_s2hat_get_poly BITWUZLA 7s - new
make_hint CVC5 6s - new
mld_keccakf1600x4_xor_bytes_c CVC5 6s - new
mld_ntt_layer Z3 6s 46s -87%
mld_sample_s1_s2_serial Z3 6s 6s +0%
pointwise_acc_native_x86_64 Z3 6s 6s +0%
pointwise_native_aarch64 BITWUZLA 6s - new
poly_challenge Z3 6s 5s +20%
poly_ntt_c Z3 6s 4s +50%
poly_shiftl Z3 6s 6s +0%
polyeta_unpack BITWUZLA 6s - new
polyvecl_pointwise_acc_montgomery Z3 6s 2s +200%
rej_eta_native BITWUZLA 6s - new
rej_uniform_c BITWUZLA 6s - new
sign Z3 6s 10s -40%
sign_open BITWUZLA 6s - new
sign_signature CVC5 6s - new
sign_verify Z3 6s 4s +50%
sign_verify_extmu CVC5 6s - new
sign_verify_pre_hash_shake256 CVC5 6s - new
sk_s1hat_get_poly Z3 6s 3s +100%
unpack_sk_t0hat CVC5 6s - new
use_hint Z3 6s 5s +20%
fqscale BITWUZLA 5s - new
keccak_absorb BITWUZLA 5s - new
keccak_f1600_x4_native_aarch64_v84a BITWUZLA 5s - new
keccak_f1600_x4_native_aarch64_v8a_v84a_scalar_hybrid CVC5 5s - new
keccak_squeezeblocks_x4 BITWUZLA 5s - new
keccakf1600x4_xor_bytes CVC5 5s - new
mld_compute_pack_z Z3 5s 5s +0%
mld_h Z3 5s 4s +25%
mld_keccakf1600_permute_c CVC5 5s - new
mld_keccakf1600_permute_c Z3 5s 6s -17%
mld_keccakf1600x4_xor_bytes_c BITWUZLA 5s - new
mld_polymat_expand_entry BITWUZLA 5s - new
mld_prepare_domain_separation_prefix CVC5 5s - new
mld_sample_s1_s2 Z3 5s 6s -17%
pack_sig_c BITWUZLA 5s - new
pack_sig_h BITWUZLA 5s - new
poly_caddq BITWUZLA 5s - new
poly_decompose_32_native_aarch64 Z3 5s 2s +150%
poly_decompose_c Z3 5s 4s +25%
poly_permute_bitrev_to_custom_optional_native BITWUZLA 5s - new
poly_use_hint_c Z3 5s 4s +25%
poly_use_hint_native_aarch64 BITWUZLA 5s - new
polyt0_pack Z3 5s 3s +67%
polyt1_pack BITWUZLA 5s - new
polyvec_matrix_expand BITWUZLA 5s - new
polyveck_caddq Z3 5s 6s -17%
polyveck_invntt_tomont Z3 5s 5s +0%
polyveck_pack_eta Z3 5s 3s +67%
polyvecl_chknorm Z3 5s 5s +0%
polyvecl_pointwise_acc_montgomery BITWUZLA 5s - new
polyvecl_pointwise_acc_montgomery_c CVC5 5s - new
polyvecl_pointwise_acc_montgomery_native CVC5 5s - new
polyvecl_uniform_gamma1 BITWUZLA 5s - new
reduce32 BITWUZLA 5s - new
rej_eta_c BITWUZLA 5s - new
rej_uniform_native BITWUZLA 5s - new
shake128_absorb CVC5 5s - new
shake128_init CVC5 5s - new
shake256 CVC5 5s - new
sign_keypair_internal Z3 5s 5s +0%
sign_signature BITWUZLA 5s - new
sign_signature Z3 5s 4s +25%
sign_verify_extmu Z3 5s 2s +150%
sk_s1hat_get_poly BITWUZLA 5s - new
sk_t0hat_get_poly BITWUZLA 5s - new
unpack_pk_t1 Z3 5s 2s +150%
unpack_sk_s1hat Z3 5s 3s +67%
yvec_get_poly BITWUZLA 5s - new
yvec_get_poly Z3 5s 3s +67%
caddq Z3 4s 2s +100%
decompose BITWUZLA 4s - new
decompose CVC5 4s - new
decompose Z3 4s 3s +33%
fqscale CVC5 4s - new
intt_native_aarch64 Z3 4s 2s +100%
keccak_absorb CVC5 4s - new
keccak_f1600_x1_native_aarch64 BITWUZLA 4s - new
keccak_f1600_x1_native_aarch64_v84a BITWUZLA 4s - new
keccak_f1600_x4_native_aarch64_v84a Z3 4s 3s +33%
keccak_squeeze CVC5 4s - new
keccakf1600_xor_bytes BITWUZLA 4s - new
keccakf1600_xor_bytes Z3 4s 2s +100%
keccakf1600_xor_bytes (big endian) BITWUZLA 4s - new
keccakf1600_xor_bytes (big endian) CVC5 4s - new
keccakf1600_xor_bytes (big endian) Z3 4s 3s +33%
keccakf1600x4_extract_bytes_native BITWUZLA 4s - new
keccakf1600x4_permute Z3 4s 2s +100%
make_hint Z3 4s 2s +100%
mld_ct_cmask_nonzero_u32 BITWUZLA 4s - new
mld_ct_cmask_nonzero_u8 CVC5 4s - new
mld_ct_get_optblocker_u32 CVC5 4s - new
mld_h CVC5 4s - new
mld_value_barrier_i64 CVC5 4s - new
mld_value_barrier_u32 Z3 4s 2s +100%
montgomery_reduce CVC5 4s - new
montgomery_reduce Z3 4s 4s +0%
ntt_native_aarch64 BITWUZLA 4s - new
pack_sig_h CVC5 4s - new
pointwise_native_x86_64 Z3 4s 3s +33%
poly_chknorm_native Z3 4s 4s +0%
poly_decompose Z3 4s 3s +33%
poly_decompose_88_native_aarch64 CVC5 4s - new
poly_decompose_88_native_aarch64 Z3 4s 2s +100%
poly_decompose_native Z3 4s 1s +300%
poly_ntt Z3 4s 5s -20%
poly_reduce Z3 4s 2s +100%
poly_uniform_eta Z3 4s 5s -20%
polyeta_pack Z3 4s 3s +33%
polyt1_unpack BITWUZLA 4s - new
polyvec_matrix_expand_serial Z3 4s 3s +33%
polyveck_chknorm Z3 4s 7s -43%
polyveck_ntt BITWUZLA 4s - new
polyveck_ntt CVC5 4s - new
polyveck_pack_w1 Z3 4s 3s +33%
polyveck_unpack_eta Z3 4s 4s +0%
polyvecl_pointwise_acc_montgomery CVC5 4s - new
polyvecl_pointwise_acc_montgomery_native BITWUZLA 4s - new
polyvecl_uniform_gamma1 Z3 4s 2s +100%
polyvecl_unpack_z Z3 4s 2s +100%
polyw1_pack BITWUZLA 4s - new
polyz_pack BITWUZLA 4s - new
polyz_pack Z3 4s 3s +33%
polyz_unpack_c BITWUZLA 4s - new
power2round CVC5 4s - new
shake128x4_squeezeblocks BITWUZLA 4s - new
shake256 Z3 4s 4s +0%
shake256_finalize CVC5 4s - new
shake256_squeeze Z3 4s 4s +0%
shake256x4_squeezeblocks Z3 4s 2s +100%
sig_unpack_hints Z3 4s 2s +100%
sign_signature_extmu CVC5 4s - new
sign_signature_internal Z3 4s 4s +0%
sign_signature_pre_hash_internal Z3 4s 4s +0%
sign_signature_pre_hash_shake256 CVC5 4s - new
sign_verify BITWUZLA 4s - new
sign_verify_extmu BITWUZLA 4s - new
sign_verify_pre_hash_internal Z3 4s 4s +0%
unpack_sk BITWUZLA 4s - new
unpack_sk Z3 4s 2s +100%
unpack_sk_s2hat Z3 4s 5s -20%
unpack_sk_t0hat Z3 4s 2s +100%
use_hint BITWUZLA 4s - new
use_hint CVC5 4s - new
yvec_init Z3 4s 4s +0%
caddq BITWUZLA 3s - new
intt_native_aarch64 BITWUZLA 3s - new
intt_native_x86_64 Z3 3s 5s -40%
keccak_f1600_x1_native_aarch64 CVC5 3s - new
keccak_f1600_x1_native_aarch64 Z3 3s 2s +50%
keccak_f1600_x1_native_aarch64_v84a CVC5 3s - new
keccak_f1600_x4_native_aarch64_v84a CVC5 3s - new
keccak_f1600_x4_native_aarch64_v8a_scalar_hybrid CVC5 3s - new
keccak_f1600_x4_native_aarch64_v8a_scalar_hybrid Z3 3s 1s +200%
keccak_f1600_x4_native_aarch64_v8a_v84a_scalar_hybrid Z3 3s 3s +0%
keccak_f1600_x4_native_avx2 BITWUZLA 3s - new
keccak_finalize CVC5 3s - new
keccak_finalize Z3 3s 2s +50%
keccak_squeeze BITWUZLA 3s - new
keccakf1600_extract_bytes (big endian) BITWUZLA 3s - new
keccakf1600_extract_bytes (big endian) CVC5 3s - new
keccakf1600_permute BITWUZLA 3s - new
keccakf1600_permute CVC5 3s - new
keccakf1600_permute Z3 3s 2s +50%
keccakf1600_permute_native BITWUZLA 3s - new
keccakf1600x4_extract_bytes BITWUZLA 3s - new
keccakf1600x4_extract_bytes Z3 3s 2s +50%
keccakf1600x4_extract_bytes_native Z3 3s 1s +200%
keccakf1600x4_permute BITWUZLA 3s - new
keccakf1600x4_xor_bytes_native BITWUZLA 3s - new
keccakf1600x4_xor_bytes_native CVC5 3s - new
keccakf1600x4_xor_bytes_native Z3 3s 2s +50%
make_hint BITWUZLA 3s - new
mld_ct_cmask_neg_i32 Z3 3s 1s +200%
mld_ct_cmask_nonzero_u32 CVC5 3s - new
mld_ct_cmask_nonzero_u32 Z3 3s 4s -25%
mld_ct_cmask_nonzero_u8 BITWUZLA 3s - new
mld_ct_get_optblocker_u32 BITWUZLA 3s - new
mld_ct_get_optblocker_u8 CVC5 3s - new
mld_h BITWUZLA 3s - new
mld_keccakf1600_extract_bytes Z3 3s 5s -40%
mld_keccakf1600x4_extract_bytes_c BITWUZLA 3s - new
mld_prepare_domain_separation_prefix BITWUZLA 3s - new
mld_prepare_domain_separation_prefix Z3 3s 5s -40%
mld_value_barrier_i64 BITWUZLA 3s - new
mld_value_barrier_u32 BITWUZLA 3s - new
mld_value_barrier_u32 CVC5 3s - new
mld_value_barrier_u8 BITWUZLA 3s - new
mld_value_barrier_u8 CVC5 3s - new
mld_value_barrier_u8 Z3 3s 2s +50%
montgomery_reduce BITWUZLA 3s - new
ntt_native_aarch64 Z3 3s 2s +50%
ntt_native_x86_64 Z3 3s 3s +0%
pack_sig_c CVC5 3s - new
pack_sig_c Z3 3s 2s +50%
pack_sig_h Z3 3s 2s +50%
pack_sig_z BITWUZLA 3s - new
pack_sk_rho_key_tr_s2 Z3 3s 1s +200%
pack_sk_s1 Z3 3s 2s +50%
pointwise_native_aarch64 Z3 3s 2s +50%
poly_caddq Z3 3s 5s -40%
poly_caddq_native Z3 3s 4s -25%
poly_caddq_native_aarch64 BITWUZLA 3s - new
poly_caddq_native_aarch64 Z3 3s 4s -25%
poly_chknorm Z3 3s 3s +0%
poly_chknorm_native_aarch64 BITWUZLA 3s - new
poly_chknorm_native_aarch64 Z3 3s 2s +50%
poly_decompose_88_native_aarch64 BITWUZLA 3s - new
poly_invntt_tomont Z3 3s 3s +0%
poly_permute_bitrev_to_custom_optional_native Z3 3s 3s +0%
poly_pointwise_montgomery Z3 3s 2s +50%
poly_pointwise_montgomery_native Z3 3s 4s -25%
poly_uniform Z3 3s 2s +50%
poly_uniform_4x BITWUZLA 3s - new
poly_uniform_gamma1 BITWUZLA 3s - new
poly_uniform_gamma1_4x CVC5 3s - new
poly_uniform_gamma1_4x Z3 3s 3s +0%
poly_use_hint Z3 3s 3s +0%
poly_use_hint_native Z3 3s 2s +50%
polyvec_matrix_expand CVC5 3s - new
polyvec_matrix_expand_serial BITWUZLA 3s - new
polyvec_matrix_expand_serial CVC5 3s - new
polyveck_ntt Z3 3s 5s -40%
polyvecl_pack_eta Z3 3s 4s -25%
polyvecl_pointwise_acc_montgomery_c BITWUZLA 3s - new
polyvecl_pointwise_acc_montgomery_native Z3 3s 3s +0%
polyvecl_uniform_gamma1 CVC5 3s - new
polyvecl_uniform_gamma1_serial Z3 3s 3s +0%
polyvecl_unpack_eta Z3 3s 2s +50%
polyz_unpack Z3 3s 1s +200%
polyz_unpack_17_native_aarch64 CVC5 3s - new
polyz_unpack_19_native_aarch64 BITWUZLA 3s - new
polyz_unpack_19_native_aarch64 Z3 3s 3s +0%
power2round BITWUZLA 3s - new
power2round Z3 3s 1s +200%
reduce32 CVC5 3s - new
rej_eta BITWUZLA 3s - new
shake128_absorb BITWUZLA 3s - new
shake128_finalize CVC5 3s - new
shake128_finalize Z3 3s 2s +50%
shake128x4_absorb_once Z3 3s 4s -25%
shake128x4_squeezeblocks CVC5 3s - new
shake128x4_squeezeblocks Z3 3s 1s +200%
shake256 BITWUZLA 3s - new
shake256_finalize BITWUZLA 3s - new
shake256_finalize Z3 3s 3s +0%
shake256_init BITWUZLA 3s - new
shake256_init CVC5 3s - new
shake256_init Z3 3s 2s +50%
shake256_squeeze CVC5 3s - new
shake256x4_absorb_once CVC5 3s - new
shake256x4_squeezeblocks BITWUZLA 3s - new
shake256x4_squeezeblocks CVC5 3s - new
sign_keypair CVC5 3s - new
sign_keypair Z3 3s 3s +0%
sign_open Z3 3s 3s +0%
sign_signature_extmu BITWUZLA 3s - new
sign_signature_pre_hash_internal BITWUZLA 3s - new
sign_signature_pre_hash_shake256 BITWUZLA 3s - new
sign_signature_pre_hash_shake256 Z3 3s 3s +0%
sign_verify_pre_hash_internal CVC5 3s - new
sign_verify_pre_hash_shake256 Z3 3s 6s -50%
sys_check_capability BITWUZLA 3s - new
unpack_sk_s2hat BITWUZLA 3s - new
yvec_init CVC5 3s - new
caddq CVC5 2s - new
keccak_f1600_x4_native_aarch64_v8a_v84a_scalar_hybrid BITWUZLA 2s - new
keccak_f1600_x4_native_avx2 CVC5 2s - new
keccak_f1600_x4_native_avx2 Z3 2s 2s +0%
keccak_finalize BITWUZLA 2s - new
keccak_init CVC5 2s - new
keccak_squeeze Z3 2s 5s -60%
keccakf1600_extract_bytes (big endian) Z3 2s 2s +0%
keccakf1600_permute_native CVC5 2s - new
keccakf1600_permute_native Z3 2s 2s +0%
keccakf1600_xor_bytes CVC5 2s - new
keccakf1600x4_extract_bytes CVC5 2s - new
keccakf1600x4_extract_bytes_native CVC5 2s - new
keccakf1600x4_permute CVC5 2s - new
mld_ct_abs_i32 BITWUZLA 2s - new
mld_ct_abs_i32 CVC5 2s - new
mld_ct_abs_i32 Z3 2s 2s +0%
mld_ct_cmask_neg_i32 CVC5 2s - new
mld_ct_cmask_nonzero_u8 Z3 2s 4s -50%
mld_ct_get_optblocker_i64 CVC5 2s - new
mld_ct_get_optblocker_i64 Z3 2s 1s +100%
mld_ct_get_optblocker_u8 BITWUZLA 2s - new
mld_ct_get_optblocker_u8 Z3 2s 3s -33%
mld_ct_memcmp BITWUZLA 2s - new
mld_ct_sel_int32 BITWUZLA 2s - new
mld_ct_sel_int32 CVC5 2s - new
mld_keccakf1600_extract_bytes BITWUZLA 2s - new
mld_keccakf1600x4_extract_bytes_c CVC5 2s - new
mld_keccakf1600x4_extract_bytes_c Z3 2s 3s -33%
mld_polymat_expand_entry Z3 2s 3s -33%
mld_value_barrier_i64 Z3 2s 1s +100%
nttunpack_native_x86_64 Z3 2s 4s -50%
pack_sig_z Z3 2s 2s +0%
poly_invntt_tomont_native Z3 2s 4s -50%
poly_ntt_native Z3 2s 2s +0%
poly_permute_bitrev_to_custom_optional BITWUZLA 2s - new
poly_permute_bitrev_to_custom_optional Z3 2s 3s -33%
poly_sub Z3 2s 5s -60%
poly_uniform_4x CVC5 2s - new
poly_uniform_4x Z3 2s 4s -50%
poly_uniform_gamma1 Z3 2s 3s -33%
poly_use_hint_native_aarch64 Z3 2s 2s +0%
polyt1_pack Z3 2s 1s +100%
polyt1_unpack Z3 2s 3s -33%
polyvec_matrix_expand Z3 2s 3s -33%
polyvecl_pointwise_acc_montgomery_c Z3 2s 2s +0%
polyvecl_uniform_gamma1_serial BITWUZLA 2s - new
polyvecl_uniform_gamma1_serial CVC5 2s - new
polyw1_pack Z3 2s 2s +0%
polyz_unpack_17_native_aarch64 BITWUZLA 2s - new
polyz_unpack_17_native_aarch64 Z3 2s 4s -50%
polyz_unpack_native Z3 2s 4s -50%
rej_uniform BITWUZLA 2s - new
shake128_finalize BITWUZLA 2s - new
shake128_init BITWUZLA 2s - new
shake128_init Z3 2s 5s -60%
shake128_release BITWUZLA 2s - new
shake128_release CVC5 2s - new
shake128_release Z3 2s 4s -50%
shake128_squeeze BITWUZLA 2s - new
shake128_squeeze CVC5 2s - new
shake128_squeeze Z3 2s 3s -33%
shake128x4_absorb_once BITWUZLA 2s - new
shake128x4_absorb_once CVC5 2s - new
shake256_absorb BITWUZLA 2s - new
shake256_absorb CVC5 2s - new
shake256_absorb Z3 2s 4s -50%
shake256_release BITWUZLA 2s - new
shake256_release CVC5 2s - new
shake256_release Z3 2s 4s -50%
shake256_squeeze BITWUZLA 2s - new
shake256x4_absorb_once BITWUZLA 2s - new
shake256x4_absorb_once Z3 2s 1s +100%
sign_keypair BITWUZLA 2s - new
sign_verify_pre_hash_shake256 BITWUZLA 2s - new
sk_s2hat_get_poly Z3 2s 4s -50%
sk_t0hat_get_poly Z3 2s 3s -33%
sys_check_capability CVC5 2s - new
sys_check_capability Z3 2s 3s -33%
unpack_sk CVC5 2s - new
unpack_sk_s1hat BITWUZLA 2s - new
unpack_sk_s1hat CVC5 2s - new
unpack_sk_s2hat CVC5 2s - new
unpack_sk_t0hat BITWUZLA 2s - new
yvec_init BITWUZLA 2s - new
compute_pack_t0_t1 BITWUZLA - - -
compute_pack_t0_t1 CVC5 - - -
fqscale Z3 1s 3s -67%
intt_native_aarch64 CVC5 - - -
intt_native_x86_64 CVC5 - - -
keccak_f1600_x1_native_aarch64_v84a Z3 1s 1s +0%
keccak_f1600_x4_native_aarch64_v8a_scalar_hybrid BITWUZLA 1s - new
keccak_init BITWUZLA 1s - new
keccak_init Z3 1s 3s -67%
keccakf1600x4_xor_bytes BITWUZLA 1s - new
keccakf1600x4_xor_bytes Z3 1s 2s -50%
mld_attempt_signature_generation BITWUZLA - - -
mld_attempt_signature_generation CVC5 - - -
mld_compute_pack_z BITWUZLA - - -
mld_compute_pack_z CVC5 - - -
mld_ct_cmask_neg_i32 BITWUZLA 1s - new
mld_ct_get_optblocker_i64 BITWUZLA 1s - new
mld_ct_get_optblocker_u32 Z3 1s 1s +0%
mld_ct_memcmp CVC5 - - -
mld_ct_sel_int32 Z3 1s 2s -50%
mld_invntt_layer CVC5 - - -
mld_keccakf1600_extract_bytes CVC5 1s - new
mld_keccakf1600x4_xor_bytes_c Z3 1s 3s -67%
mld_ntt_butterfly_block CVC5 - - -
mld_ntt_layer CVC5 - - -
mld_polymat_expand_entry CVC5 - - -
mld_sample_s1_s2 BITWUZLA - - -
mld_sample_s1_s2 CVC5 - - -
mld_sample_s1_s2_serial CVC5 - - -
ntt_native_aarch64 CVC5 - - -
ntt_native_x86_64 CVC5 - - -
nttunpack_native_x86_64 CVC5 - - -
pack_sig_z CVC5 - - -
pack_sk_rho_key_tr_s2 CVC5 - - -
pack_sk_s1 CVC5 - - -
pointwise_acc_native_aarch64 BITWUZLA - - -
pointwise_acc_native_aarch64 CVC5 - - -
pointwise_acc_native_x86_64 BITWUZLA - - -
pointwise_acc_native_x86_64 CVC5 - - -
pointwise_native_aarch64 CVC5 - - -
pointwise_native_x86_64 CVC5 - - -
poly_add CVC5 - - -
poly_caddq CVC5 - - -
poly_caddq_c CVC5 - - -
poly_caddq_native CVC5 - - -
poly_caddq_native_aarch64 CVC5 - - -
poly_challenge CVC5 - - -
poly_chknorm CVC5 - - -
poly_chknorm_c CVC5 - - -
poly_chknorm_native CVC5 - - -
poly_chknorm_native_aarch64 CVC5 - - -
poly_decompose CVC5 - - -
poly_decompose_32_native_aarch64 CVC5 - - -
poly_decompose_c CVC5 - - -
poly_decompose_native CVC5 - - -
poly_invntt_tomont CVC5 - - -
poly_invntt_tomont_c CVC5 - - -
poly_invntt_tomont_native CVC5 - - -
poly_ntt CVC5 - - -
poly_ntt_c CVC5 - - -
poly_ntt_native CVC5 - - -
poly_permute_bitrev_to_custom_optional CVC5 - - -
poly_permute_bitrev_to_custom_optional_native CVC5 - - -
poly_pointwise_montgomery CVC5 - - -
poly_pointwise_montgomery_c CVC5 - - -
poly_pointwise_montgomery_native CVC5 - - -
poly_power2round CVC5 - - -
poly_reduce CVC5 - - -
poly_shiftl CVC5 - - -
poly_sub CVC5 - - -
poly_uniform CVC5 - - -
poly_uniform_eta CVC5 - - -
poly_uniform_eta_4x BITWUZLA - - -
poly_uniform_eta_4x CVC5 - - -
poly_uniform_gamma1 CVC5 1s - new
poly_uniform_gamma1_4x BITWUZLA 1s - new
poly_use_hint CVC5 - - -
poly_use_hint_c CVC5 - - -
poly_use_hint_native BITWUZLA - - -
poly_use_hint_native CVC5 - - -
poly_use_hint_native_aarch64 CVC5 - - -
polyeta_pack CVC5 - - -
polyeta_unpack CVC5 - - -
polyt0_pack CVC5 - - -
polyt0_unpack CVC5 - - -
polyt1_pack CVC5 - - -
polyt1_unpack CVC5 - - -
polyvec_matrix_pointwise_montgomery_row BITWUZLA - - -
polyvec_matrix_pointwise_montgomery_row CVC5 - - -
polyvec_matrix_pointwise_montgomery_yvec BITWUZLA - - -
polyvec_matrix_pointwise_montgomery_yvec CVC5 - - -
polyveck_caddq BITWUZLA - - -
polyveck_caddq CVC5 - - -
polyveck_chknorm BITWUZLA - - -
polyveck_chknorm CVC5 - - -
polyveck_decompose BITWUZLA - - -
polyveck_decompose CVC5 - - -
polyveck_invntt_tomont BITWUZLA - - -
polyveck_invntt_tomont CVC5 - - -
polyveck_pack_eta CVC5 - - -
polyveck_pack_w1 CVC5 - - -
polyveck_reduce BITWUZLA - - -
polyveck_reduce CVC5 - - -
polyveck_unpack_eta CVC5 - - -
polyvecl_chknorm BITWUZLA - - -
polyvecl_chknorm CVC5 - - -
polyvecl_ntt BITWUZLA - - -
polyvecl_ntt CVC5 - - -
polyvecl_pack_eta CVC5 - - -
polyvecl_unpack_eta CVC5 - - -
polyvecl_unpack_z CVC5 - - -
polyw1_pack CVC5 - - -
polyz_pack CVC5 - - -
polyz_unpack CVC5 - - -
polyz_unpack_19_native_aarch64 CVC5 - - -
polyz_unpack_c CVC5 - - -
polyz_unpack_native CVC5 - - -
reduce32 Z3 1s 3s -67%
rej_eta CVC5 - - -
rej_eta_c CVC5 - - -
rej_eta_native CVC5 - - -
rej_uniform CVC5 - - -
rej_uniform_c CVC5 - - -
rej_uniform_native CVC5 - - -
shake128_absorb Z3 1s 3s -67%
sig_unpack_hints CVC5 - - -
sign_keypair_internal BITWUZLA - - -
sign_keypair_internal CVC5 - - -
sign_pk_from_sk BITWUZLA - - -
sign_pk_from_sk CVC5 - - -
sign_verify_internal BITWUZLA - - -
sign_verify_internal CVC5 - - -
sk_s1hat_get_poly CVC5 - - -
sk_s2hat_get_poly CVC5 - - -
sk_t0hat_get_poly CVC5 - - -
unpack_pk_t1 CVC5 - - -
yvec_get_poly CVC5 - - -

@oqs-bot
Copy link
Copy Markdown
Contributor

oqs-bot commented May 18, 2026

CBMC Results (ML-DSA-65, REDUCE-RAM)

⚠️ Attention Required

Proof Solver Status Current Previous Change
**TOTAL** - ⚠️ 16785s 1497s +1021.2%
compute_pack_t0_t1 BITWUZLA - - -
compute_pack_t0_t1 CVC5 - - -
fqmul Z3 ⚠️ 61s 28s +118%
intt_native_aarch64 CVC5 - - -
intt_native_x86_64 CVC5 - - -
keccak_absorb_once_x4 Z3 ⚠️ 20s 10s +100%
mld_attempt_signature_generation BITWUZLA - - -
mld_attempt_signature_generation CVC5 - - -
mld_compute_pack_z BITWUZLA - - -
mld_compute_pack_z CVC5 - - -
mld_ct_memcmp CVC5 - - -
mld_invntt_layer CVC5 - - -
mld_ntt_butterfly_block CVC5 - - -
mld_ntt_butterfly_block Z3 ⚠️ 325s 17s +1812%
mld_ntt_layer CVC5 - - -
mld_polymat_expand_entry CVC5 - - -
mld_sample_s1_s2 CVC5 - - -
mld_sample_s1_s2_serial CVC5 - - -
ntt_native_aarch64 CVC5 - - -
ntt_native_x86_64 CVC5 - - -
nttunpack_native_x86_64 CVC5 - - -
pack_sig_z CVC5 - - -
pack_sk_rho_key_tr_s2 CVC5 - - -
pack_sk_s1 CVC5 - - -
pointwise_acc_native_aarch64 BITWUZLA - - -
pointwise_acc_native_aarch64 CVC5 - - -
pointwise_acc_native_x86_64 BITWUZLA - - -
pointwise_acc_native_x86_64 CVC5 - - -
pointwise_native_aarch64 CVC5 - - -
pointwise_native_x86_64 CVC5 - - -
poly_add CVC5 - - -
poly_caddq CVC5 - - -
poly_caddq_c CVC5 - - -
poly_caddq_native CVC5 - - -
poly_caddq_native_aarch64 CVC5 - - -
poly_challenge CVC5 - - -
poly_chknorm CVC5 - - -
poly_chknorm_c CVC5 - - -
poly_chknorm_native CVC5 - - -
poly_chknorm_native_aarch64 CVC5 - - -
poly_decompose CVC5 - - -
poly_decompose_32_native_aarch64 CVC5 - - -
poly_decompose_c CVC5 - - -
poly_decompose_native CVC5 - - -
poly_invntt_tomont CVC5 - - -
poly_invntt_tomont_c CVC5 - - -
poly_invntt_tomont_native CVC5 - - -
poly_ntt CVC5 - - -
poly_ntt_c CVC5 - - -
poly_ntt_native CVC5 - - -
poly_permute_bitrev_to_custom_optional CVC5 - - -
poly_permute_bitrev_to_custom_optional_native CVC5 - - -
poly_pointwise_montgomery CVC5 - - -
poly_pointwise_montgomery_c CVC5 - - -
poly_pointwise_montgomery_native CVC5 - - -
poly_power2round CVC5 - - -
poly_reduce CVC5 - - -
poly_shiftl CVC5 - - -
poly_sub CVC5 - - -
poly_uniform CVC5 - - -
poly_uniform_eta CVC5 - - -
poly_uniform_eta_4x BITWUZLA - - -
poly_uniform_eta_4x CVC5 - - -
poly_uniform_gamma1 CVC5 - - -
poly_use_hint CVC5 - - -
poly_use_hint_c CVC5 - - -
poly_use_hint_native BITWUZLA - - -
poly_use_hint_native CVC5 - - -
poly_use_hint_native_aarch64 CVC5 - - -
polyeta_pack CVC5 - - -
polyeta_unpack CVC5 - - -
polyt0_pack CVC5 - - -
polyt0_unpack CVC5 - - -
polyt1_pack CVC5 - - -
polyt1_unpack CVC5 - - -
polyvec_matrix_pointwise_montgomery_row BITWUZLA - - -
polyvec_matrix_pointwise_montgomery_row CVC5 - - -
polyvec_matrix_pointwise_montgomery_yvec BITWUZLA - - -
polyvec_matrix_pointwise_montgomery_yvec CVC5 - - -
polyveck_caddq BITWUZLA - - -
polyveck_caddq CVC5 - - -
polyveck_chknorm BITWUZLA - - -
polyveck_chknorm CVC5 - - -
polyveck_decompose BITWUZLA - - -
polyveck_decompose CVC5 - - -
polyveck_invntt_tomont BITWUZLA - - -
polyveck_invntt_tomont CVC5 - - -
polyveck_pack_eta CVC5 - - -
polyveck_pack_w1 CVC5 - - -
polyveck_reduce BITWUZLA - - -
polyveck_reduce CVC5 - - -
polyveck_unpack_eta CVC5 - - -
polyvecl_chknorm BITWUZLA - - -
polyvecl_chknorm CVC5 - - -
polyvecl_ntt BITWUZLA - - -
polyvecl_ntt CVC5 - - -
polyvecl_pack_eta CVC5 - - -
polyvecl_unpack_eta CVC5 - - -
polyvecl_unpack_z CVC5 - - -
polyw1_pack CVC5 - - -
polyz_pack CVC5 - - -
polyz_unpack CVC5 - - -
polyz_unpack_19_native_aarch64 CVC5 - - -
polyz_unpack_c CVC5 - - -
polyz_unpack_native CVC5 - - -
rej_eta CVC5 - - -
rej_eta Z3 ⚠️ 21s 3s +600%
rej_eta_c CVC5 - - -
rej_eta_c Z3 ⚠️ 27s 3s +800%
rej_eta_native CVC5 - - -
rej_eta_native Z3 ⚠️ 143s 7s +1943%
rej_uniform CVC5 - - -
rej_uniform_c CVC5 - - -
rej_uniform_native CVC5 - - -
sig_unpack_hints CVC5 - - -
sign_keypair_internal BITWUZLA - - -
sign_keypair_internal CVC5 - - -
sign_pk_from_sk BITWUZLA - - -
sign_pk_from_sk CVC5 - - -
sign_verify_internal BITWUZLA - - -
sign_verify_internal CVC5 - - -
sk_s1hat_get_poly CVC5 - - -
sk_s2hat_get_poly CVC5 - - -
sk_t0hat_get_poly CVC5 - - -
unpack_pk_t1 CVC5 - - -
yvec_get_poly CVC5 - - -
Full Results (594 proofs)
Proof Solver Status Current Previous Change
**TOTAL** - ⚠️ 16785s 1497s +1021.2%
polyveck_pack_eta BITWUZLA 1730s - new
poly_decompose_native BITWUZLA 1328s - new
fqmul CVC5 1005s - new
polyvecl_pack_eta BITWUZLA 1005s - new
poly_use_hint BITWUZLA 967s - new
poly_caddq_native BITWUZLA 781s - new
poly_add BITWUZLA 756s - new
mld_sample_s1_s2_serial BITWUZLA 719s - new
mld_sample_s1_s2 BITWUZLA 677s - new
polyveck_unpack_eta BITWUZLA 676s - new
polyveck_pack_w1 BITWUZLA 649s - new
polyvecl_unpack_eta BITWUZLA 469s - new
poly_invntt_tomont_c BITWUZLA 422s - new
polyvecl_unpack_z BITWUZLA 380s - new
mld_ntt_butterfly_block Z3 ⚠️ 325s 17s +1812%
poly_pointwise_montgomery_c BITWUZLA 277s - new
poly_pointwise_montgomery_native BITWUZLA 244s - new
poly_pointwise_montgomery_c Z3 215s 175s +23%
nttunpack_native_x86_64 BITWUZLA 213s - new
poly_ntt_c BITWUZLA 211s - new
polyvec_matrix_pointwise_montgomery_yvec Z3 172s 150s +15%
rej_eta_native Z3 ⚠️ 143s 7s +1943%
mld_invntt_layer Z3 114s 102s +12%
rej_uniform_native Z3 113s 98s +15%
pack_sk_rho_key_tr_s2 BITWUZLA 109s - new
poly_uniform BITWUZLA 105s - new
poly_uniform_eta BITWUZLA 91s - new
poly_use_hint_c BITWUZLA 90s - new
poly_invntt_tomont_native BITWUZLA 83s - new
poly_decompose_c BITWUZLA 74s - new
mld_ct_memcmp Z3 73s 66s +11%
fqmul Z3 ⚠️ 61s 28s +118%
poly_ntt_native BITWUZLA 54s - new
mld_invntt_layer BITWUZLA 53s - new
mld_ntt_layer BITWUZLA 44s - new
ntt_native_x86_64 BITWUZLA 41s - new
polyz_unpack_native BITWUZLA 40s - new
poly_challenge BITWUZLA 39s - new
poly_power2round BITWUZLA 38s - new
intt_native_x86_64 BITWUZLA 35s - new
poly_sub BITWUZLA 35s - new
sign_verify_internal Z3 31s 28s +11%
mld_attempt_signature_generation Z3 29s 27s +7%
fqmul BITWUZLA 28s - new
rej_eta_c Z3 ⚠️ 27s 3s +800%
poly_caddq_c BITWUZLA 26s - new
keccakf1600x4_permute_native BITWUZLA 24s - new
rej_uniform_c Z3 24s 18s +33%
keccakf1600x4_permute_native CVC5 23s - new
keccakf1600x4_permute_native Z3 23s 21s +10%
poly_pointwise_montgomery BITWUZLA 23s - new
rej_uniform Z3 23s 20s +15%
unpack_pk_t1 BITWUZLA 23s - new
rej_eta Z3 ⚠️ 21s 3s +600%
keccak_absorb_once_x4 Z3 ⚠️ 20s 10s +100%
polyvecl_chknorm Z3 20s 18s +11%
mld_ntt_butterfly_block BITWUZLA 19s - new
sig_unpack_hints BITWUZLA 19s - new
keccak_absorb_once_x4 CVC5 18s - new
mld_check_pct BITWUZLA 18s - new
poly_chknorm_c Z3 18s 13s +38%
mld_check_pct CVC5 17s - new
poly_chknorm_c BITWUZLA 17s - new
poly_decompose BITWUZLA 17s - new
poly_decompose_32_native_aarch64 BITWUZLA 16s - new
polyveck_decompose Z3 16s 12s +33%
mld_check_pct Z3 15s 15s +0%
pack_sk_s1 BITWUZLA 15s - new
poly_uniform_eta_4x Z3 14s 11s +27%
poly_add Z3 13s 12s +8%
poly_invntt_tomont BITWUZLA 13s - new
poly_reduce BITWUZLA 13s - new
poly_shiftl BITWUZLA 13s - new
pointwise_native_x86_64 BITWUZLA 12s - new
polyt0_unpack Z3 12s 12s +0%
polyvec_matrix_pointwise_montgomery_row Z3 11s 9s +22%
keccak_absorb_once_x4 BITWUZLA 10s - new
mld_ntt_layer Z3 10s 43s -77%
poly_caddq_c Z3 10s 9s +11%
poly_chknorm_native BITWUZLA 10s - new
poly_ntt BITWUZLA 10s - new
polyvecl_ntt Z3 10s 8s +25%
compute_pack_t0_t1 Z3 9s 7s +29%
poly_invntt_tomont_c Z3 9s 8s +12%
polyveck_caddq Z3 9s 10s -10%
sign_signature CVC5 9s - new
sign_signature_pre_hash_internal CVC5 9s - new
keccak_absorb Z3 8s 6s +33%
mld_keccakf1600_permute_c CVC5 8s - new
mld_keccakf1600_permute_c Z3 8s 7s +14%
poly_caddq BITWUZLA 8s - new
polyt0_pack BITWUZLA 8s - new
polyveck_reduce Z3 8s 7s +14%
polyz_unpack BITWUZLA 8s - new
sign Z3 8s 6s +33%
mld_prepare_domain_separation_prefix Z3 7s 5s +40%
poly_permute_bitrev_to_custom_optional BITWUZLA 7s - new
poly_shiftl Z3 7s 5s +40%
polyt0_unpack BITWUZLA 7s - new
polyz_pack Z3 7s 3s +133%
polyz_unpack_c Z3 7s 6s +17%
sign BITWUZLA 7s - new
sign CVC5 7s - new
sign_keypair_internal Z3 7s 6s +17%
sign_signature BITWUZLA 7s - new
sign_signature_internal CVC5 7s - new
sign_verify_extmu CVC5 7s - new
sk_s1hat_get_poly BITWUZLA 7s - new
mld_compute_pack_z Z3 6s 6s +0%
mld_keccakf1600_permute_c BITWUZLA 6s - new
mld_keccakf1600x4_extract_bytes_c Z3 6s 2s +200%
mld_keccakf1600x4_xor_bytes_c CVC5 6s - new
mld_sample_s1_s2 Z3 6s 5s +20%
pointwise_acc_native_aarch64 Z3 6s 5s +20%
poly_challenge Z3 6s 4s +50%
poly_chknorm_native_aarch64 BITWUZLA 6s - new
poly_decompose_88_native_aarch64 BITWUZLA 6s - new
poly_power2round Z3 6s 7s -14%
poly_uniform Z3 6s 5s +20%
polyeta_pack BITWUZLA 6s - new
polyveck_pack_w1 Z3 6s 1s +500%
sign_open Z3 6s 4s +50%
sign_pk_from_sk Z3 6s 5s +20%
sign_signature_extmu CVC5 6s - new
sign_signature_pre_hash_internal BITWUZLA 6s - new
sign_verify CVC5 6s - new
sign_verify_extmu Z3 6s 4s +50%
sk_t0hat_get_poly BITWUZLA 6s - new
unpack_sk_s2hat BITWUZLA 6s - new
intt_native_aarch64 BITWUZLA 5s - new
keccak_f1600_x4_native_aarch64_v8a_v84a_scalar_hybrid BITWUZLA 5s - new
keccak_squeezeblocks_x4 BITWUZLA 5s - new
keccak_squeezeblocks_x4 CVC5 5s - new
keccakf1600_permute Z3 5s 1s +400%
keccakf1600_permute_native BITWUZLA 5s - new
keccakf1600x4_permute CVC5 5s - new
mld_h CVC5 5s - new
mld_polymat_expand_entry BITWUZLA 5s - new
mld_prepare_domain_separation_prefix CVC5 5s - new
mld_sample_s1_s2_serial Z3 5s 5s +0%
montgomery_reduce BITWUZLA 5s - new
montgomery_reduce Z3 5s 3s +67%
pointwise_native_aarch64 BITWUZLA 5s - new
poly_caddq_native Z3 5s 3s +67%
poly_chknorm_native_aarch64 Z3 5s 4s +25%
poly_permute_bitrev_to_custom_optional_native BITWUZLA 5s - new
poly_pointwise_montgomery Z3 5s 3s +67%
poly_uniform_4x BITWUZLA 5s - new
poly_uniform_eta Z3 5s 3s +67%
poly_uniform_gamma1 BITWUZLA 5s - new
polyvec_matrix_expand_serial Z3 5s 2s +150%
polyveck_chknorm Z3 5s 2s +150%
polyveck_invntt_tomont Z3 5s 7s -29%
polyvecl_pointwise_acc_montgomery CVC5 5s - new
polyvecl_uniform_gamma1 CVC5 5s - new
power2round Z3 5s 5s +0%
rej_eta_c BITWUZLA 5s - new
rej_uniform_native BITWUZLA 5s - new
shake128_squeeze CVC5 5s - new
shake128x4_absorb_once CVC5 5s - new
shake256_squeeze BITWUZLA 5s - new
shake256x4_squeezeblocks Z3 5s 2s +150%
sign_open CVC5 5s - new
sign_signature Z3 5s 5s +0%
sign_signature_extmu Z3 5s 6s -17%
sign_signature_pre_hash_shake256 BITWUZLA 5s - new
sign_signature_pre_hash_shake256 CVC5 5s - new
sign_verify_pre_hash_internal CVC5 5s - new
sk_s2hat_get_poly BITWUZLA 5s - new
sys_check_capability CVC5 5s - new
unpack_sk_s1hat BITWUZLA 5s - new
yvec_get_poly BITWUZLA 5s - new
caddq BITWUZLA 4s - new
decompose Z3 4s 3s +33%
fqscale CVC5 4s - new
keccak_absorb BITWUZLA 4s - new
keccak_absorb CVC5 4s - new
keccak_f1600_x1_native_aarch64 BITWUZLA 4s - new
keccak_f1600_x1_native_aarch64_v84a CVC5 4s - new
keccak_f1600_x4_native_avx2 CVC5 4s - new
keccak_init BITWUZLA 4s - new
keccak_init CVC5 4s - new
keccak_squeezeblocks_x4 Z3 4s 3s +33%
keccakf1600x4_extract_bytes Z3 4s 2s +100%
keccakf1600x4_xor_bytes BITWUZLA 4s - new
keccakf1600x4_xor_bytes_native Z3 4s 3s +33%
make_hint BITWUZLA 4s - new
mld_ct_cmask_nonzero_u32 CVC5 4s - new
mld_ct_cmask_nonzero_u32 Z3 4s 1s +300%
mld_ct_cmask_nonzero_u8 CVC5 4s - new
mld_ct_get_optblocker_i64 CVC5 4s - new
mld_ct_get_optblocker_u32 Z3 4s 2s +100%
mld_ct_get_optblocker_u8 BITWUZLA 4s - new
mld_h BITWUZLA 4s - new
mld_h Z3 4s 4s +0%
mld_keccakf1600x4_extract_bytes_c BITWUZLA 4s - new
mld_keccakf1600x4_xor_bytes_c BITWUZLA 4s - new
mld_prepare_domain_separation_prefix BITWUZLA 4s - new
mld_value_barrier_i64 CVC5 4s - new
mld_value_barrier_u32 CVC5 4s - new
ntt_native_aarch64 BITWUZLA 4s - new
ntt_native_aarch64 Z3 4s 4s +0%
ntt_native_x86_64 Z3 4s 3s +33%
pack_sig_c BITWUZLA 4s - new
pack_sig_z Z3 4s 2s +100%
pointwise_acc_native_x86_64 Z3 4s 5s -20%
poly_caddq_native_aarch64 BITWUZLA 4s - new
poly_chknorm BITWUZLA 4s - new
poly_chknorm Z3 4s 1s +300%
poly_decompose_32_native_aarch64 Z3 4s 3s +33%
poly_decompose_c Z3 4s 5s -20%
poly_invntt_tomont_native Z3 4s 2s +100%
poly_ntt_c Z3 4s 2s +100%
poly_permute_bitrev_to_custom_optional_native Z3 4s 4s +0%
poly_reduce Z3 4s 2s +100%
poly_uniform_4x Z3 4s 3s +33%
poly_uniform_gamma1_4x CVC5 4s - new
poly_use_hint Z3 4s 3s +33%
poly_use_hint_native Z3 4s 3s +33%
poly_use_hint_native_aarch64 BITWUZLA 4s - new
poly_use_hint_native_aarch64 Z3 4s 4s +0%
polyeta_unpack Z3 4s 3s +33%
polyvec_matrix_expand BITWUZLA 4s - new
polyvec_matrix_expand Z3 4s 3s +33%
polyvec_matrix_expand_serial CVC5 4s - new
polyveck_ntt Z3 4s 3s +33%
polyveck_unpack_eta Z3 4s 2s +100%
polyvecl_pack_eta Z3 4s 3s +33%
polyvecl_pointwise_acc_montgomery BITWUZLA 4s - new
polyvecl_pointwise_acc_montgomery_native CVC5 4s - new
polyvecl_uniform_gamma1_serial CVC5 4s - new
polyz_unpack_17_native_aarch64 BITWUZLA 4s - new
polyz_unpack_17_native_aarch64 Z3 4s 2s +100%
polyz_unpack_19_native_aarch64 Z3 4s 2s +100%
reduce32 BITWUZLA 4s - new
rej_eta BITWUZLA 4s - new
rej_eta_native BITWUZLA 4s - new
rej_uniform_c BITWUZLA 4s - new
shake128_finalize CVC5 4s - new
shake128_release Z3 4s 1s +300%
shake256x4_absorb_once BITWUZLA 4s - new
sign_open BITWUZLA 4s - new
sign_signature_pre_hash_shake256 Z3 4s 5s -20%
sign_verify BITWUZLA 4s - new
sign_verify_pre_hash_internal BITWUZLA 4s - new
sign_verify_pre_hash_shake256 BITWUZLA 4s - new
sign_verify_pre_hash_shake256 Z3 4s 4s +0%
sk_t0hat_get_poly Z3 4s 3s +33%
sys_check_capability Z3 4s 5s -20%
unpack_sk CVC5 4s - new
unpack_sk Z3 4s 3s +33%
unpack_sk_s2hat CVC5 4s - new
use_hint CVC5 4s - new
use_hint Z3 4s 2s +100%
yvec_get_poly Z3 4s 5s -20%
decompose BITWUZLA 3s - new
fqscale BITWUZLA 3s - new
intt_native_aarch64 Z3 3s 4s -25%
intt_native_x86_64 Z3 3s 3s +0%
keccak_f1600_x1_native_aarch64_v84a BITWUZLA 3s - new
keccak_f1600_x4_native_aarch64_v8a_scalar_hybrid CVC5 3s - new
keccak_f1600_x4_native_aarch64_v8a_v84a_scalar_hybrid CVC5 3s - new
keccak_f1600_x4_native_avx2 BITWUZLA 3s - new
keccak_init Z3 3s 2s +50%
keccak_squeeze BITWUZLA 3s - new
keccak_squeeze CVC5 3s - new
keccakf1600_extract_bytes (big endian) BITWUZLA 3s - new
keccakf1600_extract_bytes (big endian) Z3 3s 3s +0%
keccakf1600_permute BITWUZLA 3s - new
keccakf1600_xor_bytes CVC5 3s - new
keccakf1600_xor_bytes (big endian) BITWUZLA 3s - new
keccakf1600x4_extract_bytes BITWUZLA 3s - new
keccakf1600x4_extract_bytes CVC5 3s - new
keccakf1600x4_extract_bytes_native BITWUZLA 3s - new
keccakf1600x4_extract_bytes_native CVC5 3s - new
keccakf1600x4_permute BITWUZLA 3s - new
keccakf1600x4_xor_bytes CVC5 3s - new
mld_ct_cmask_neg_i32 Z3 3s 2s +50%
mld_ct_cmask_nonzero_u32 BITWUZLA 3s - new
mld_ct_get_optblocker_i64 BITWUZLA 3s - new
mld_ct_get_optblocker_i64 Z3 3s 2s +50%
mld_ct_get_optblocker_u32 BITWUZLA 3s - new
mld_ct_get_optblocker_u8 CVC5 3s - new
mld_ct_get_optblocker_u8 Z3 3s 3s +0%
mld_ct_memcmp BITWUZLA 3s - new
mld_keccakf1600_extract_bytes Z3 3s 3s +0%
mld_keccakf1600x4_xor_bytes_c Z3 3s 1s +200%
mld_polymat_expand_entry Z3 3s 6s -50%
mld_value_barrier_i64 Z3 3s 3s +0%
mld_value_barrier_u32 BITWUZLA 3s - new
mld_value_barrier_u32 Z3 3s 2s +50%
mld_value_barrier_u8 Z3 3s 3s +0%
nttunpack_native_x86_64 Z3 3s 4s -25%
pack_sig_c CVC5 3s - new
pack_sig_h CVC5 3s - new
pack_sig_h Z3 3s 3s +0%
pack_sig_z BITWUZLA 3s - new
pack_sk_rho_key_tr_s2 Z3 3s 2s +50%
pointwise_native_aarch64 Z3 3s 5s -40%
poly_chknorm_native Z3 3s 3s +0%
poly_decompose Z3 3s 3s +0%
poly_decompose_88_native_aarch64 Z3 3s 3s +0%
poly_pointwise_montgomery_native Z3 3s 5s -40%
poly_uniform_gamma1 Z3 3s 4s -25%
poly_uniform_gamma1_4x BITWUZLA 3s - new
poly_uniform_gamma1_4x Z3 3s 4s -25%
poly_use_hint_c Z3 3s 2s +50%
polyeta_pack Z3 3s 3s +0%
polyeta_unpack BITWUZLA 3s - new
polyt1_pack BITWUZLA 3s - new
polyvec_matrix_expand CVC5 3s - new
polyveck_ntt CVC5 3s - new
polyvecl_pointwise_acc_montgomery Z3 3s 4s -25%
polyvecl_uniform_gamma1 BITWUZLA 3s - new
polyvecl_uniform_gamma1 Z3 3s 1s +200%
polyvecl_unpack_eta Z3 3s 3s +0%
polyvecl_unpack_z Z3 3s 3s +0%
polyw1_pack BITWUZLA 3s - new
polyz_pack BITWUZLA 3s - new
polyz_unpack Z3 3s 2s +50%
polyz_unpack_17_native_aarch64 CVC5 3s - new
polyz_unpack_c BITWUZLA 3s - new
polyz_unpack_native Z3 3s 3s +0%
power2round BITWUZLA 3s - new
reduce32 CVC5 3s - new
shake128_absorb Z3 3s 3s +0%
shake128_finalize BITWUZLA 3s - new
shake128_finalize Z3 3s 2s +50%
shake128_init CVC5 3s - new
shake128_release BITWUZLA 3s - new
shake128_release CVC5 3s - new
shake128_squeeze Z3 3s 3s +0%
shake128x4_absorb_once Z3 3s 2s +50%
shake256_finalize CVC5 3s - new
shake256_init BITWUZLA 3s - new
shake256_init CVC5 3s - new
shake256_release BITWUZLA 3s - new
shake256_release Z3 3s 3s +0%
shake256x4_absorb_once CVC5 3s - new
shake256x4_squeezeblocks BITWUZLA 3s - new
sig_unpack_hints Z3 3s 3s +0%
sign_keypair BITWUZLA 3s - new
sign_keypair CVC5 3s - new
sign_keypair Z3 3s 4s -25%
sign_signature_extmu BITWUZLA 3s - new
sign_signature_internal BITWUZLA 3s - new
sign_signature_internal Z3 3s 5s -40%
sign_verify_extmu BITWUZLA 3s - new
sign_verify_pre_hash_internal Z3 3s 3s +0%
sign_verify_pre_hash_shake256 CVC5 3s - new
sk_s1hat_get_poly Z3 3s 3s +0%
sk_s2hat_get_poly Z3 3s 2s +50%
unpack_sk_s1hat CVC5 3s - new
unpack_sk_s1hat Z3 3s 2s +50%
unpack_sk_s2hat Z3 3s 1s +200%
unpack_sk_t0hat BITWUZLA 3s - new
use_hint BITWUZLA 3s - new
yvec_init BITWUZLA 3s - new
yvec_init CVC5 3s - new
yvec_init Z3 3s 3s +0%
caddq CVC5 2s - new
caddq Z3 2s 3s -33%
decompose CVC5 2s - new
fqscale Z3 2s 4s -50%
keccak_f1600_x1_native_aarch64 CVC5 2s - new
keccak_f1600_x1_native_aarch64 Z3 2s 4s -50%
keccak_f1600_x1_native_aarch64_v84a Z3 2s 1s +100%
keccak_f1600_x4_native_aarch64_v84a BITWUZLA 2s - new
keccak_f1600_x4_native_aarch64_v84a CVC5 2s - new
keccak_f1600_x4_native_aarch64_v8a_scalar_hybrid Z3 2s 1s +100%
keccak_f1600_x4_native_aarch64_v8a_v84a_scalar_hybrid Z3 2s 2s +0%
keccak_f1600_x4_native_avx2 Z3 2s 2s +0%
keccak_finalize BITWUZLA 2s - new
keccak_finalize CVC5 2s - new
keccak_finalize Z3 2s 3s -33%
keccak_squeeze Z3 2s 2s +0%
keccakf1600_extract_bytes (big endian) CVC5 2s - new
keccakf1600_permute CVC5 2s - new
keccakf1600_permute_native CVC5 2s - new
keccakf1600_permute_native Z3 2s 2s +0%
keccakf1600_xor_bytes BITWUZLA 2s - new
keccakf1600_xor_bytes Z3 2s 3s -33%
keccakf1600_xor_bytes (big endian) CVC5 2s - new
keccakf1600_xor_bytes (big endian) Z3 2s 2s +0%
keccakf1600x4_extract_bytes_native Z3 2s 2s +0%
keccakf1600x4_permute Z3 2s 2s +0%
keccakf1600x4_xor_bytes Z3 2s 3s -33%
keccakf1600x4_xor_bytes_native BITWUZLA 2s - new
keccakf1600x4_xor_bytes_native CVC5 2s - new
make_hint CVC5 2s - new
make_hint Z3 2s 3s -33%
mld_ct_abs_i32 BITWUZLA 2s - new
mld_ct_abs_i32 CVC5 2s - new
mld_ct_abs_i32 Z3 2s 2s +0%
mld_ct_cmask_neg_i32 CVC5 2s - new
mld_ct_cmask_nonzero_u8 BITWUZLA 2s - new
mld_ct_cmask_nonzero_u8 Z3 2s 2s +0%
mld_ct_get_optblocker_u32 CVC5 2s - new
mld_ct_sel_int32 CVC5 2s - new
mld_ct_sel_int32 Z3 2s 2s +0%
mld_keccakf1600_extract_bytes BITWUZLA 2s - new
mld_keccakf1600_extract_bytes CVC5 2s - new
mld_keccakf1600x4_extract_bytes_c CVC5 2s - new
mld_value_barrier_u8 CVC5 2s - new
montgomery_reduce CVC5 2s - new
pack_sig_c Z3 2s 2s +0%
pack_sig_h BITWUZLA 2s - new
pack_sk_s1 Z3 2s 5s -60%
pointwise_native_x86_64 Z3 2s 5s -60%
poly_caddq Z3 2s 3s -33%
poly_caddq_native_aarch64 Z3 2s 3s -33%
poly_decompose_88_native_aarch64 CVC5 2s - new
poly_decompose_native Z3 2s 3s -33%
poly_invntt_tomont Z3 2s 2s +0%
poly_ntt Z3 2s 2s +0%
poly_ntt_native Z3 2s 3s -33%
poly_permute_bitrev_to_custom_optional Z3 2s 3s -33%
poly_sub Z3 2s 3s -33%
poly_uniform_4x CVC5 2s - new
polyt1_pack Z3 2s 4s -50%
polyt1_unpack Z3 2s 2s +0%
polyveck_pack_eta Z3 2s 3s -33%
polyvecl_pointwise_acc_montgomery_c BITWUZLA 2s - new
polyvecl_pointwise_acc_montgomery_c CVC5 2s - new
polyvecl_pointwise_acc_montgomery_c Z3 2s 3s -33%
polyvecl_pointwise_acc_montgomery_native BITWUZLA 2s - new
polyvecl_pointwise_acc_montgomery_native Z3 2s 2s +0%
polyvecl_uniform_gamma1_serial BITWUZLA 2s - new
polyvecl_uniform_gamma1_serial Z3 2s 3s -33%
polyw1_pack Z3 2s 4s -50%
polyz_unpack_19_native_aarch64 BITWUZLA 2s - new
power2round CVC5 2s - new
reduce32 Z3 2s 4s -50%
rej_uniform BITWUZLA 2s - new
shake128_absorb CVC5 2s - new
shake128_init Z3 2s 2s +0%
shake128_squeeze BITWUZLA 2s - new
shake128x4_absorb_once BITWUZLA 2s - new
shake128x4_squeezeblocks Z3 2s 1s +100%
shake256 BITWUZLA 2s - new
shake256 CVC5 2s - new
shake256 Z3 2s 3s -33%
shake256_absorb BITWUZLA 2s - new
shake256_absorb Z3 2s 2s +0%
shake256_finalize BITWUZLA 2s - new
shake256_finalize Z3 2s 2s +0%
shake256_init Z3 2s 4s -50%
shake256_squeeze CVC5 2s - new
shake256_squeeze Z3 2s 3s -33%
shake256x4_squeezeblocks CVC5 2s - new
sign_signature_pre_hash_internal Z3 2s 3s -33%
sign_verify Z3 2s 3s -33%
sys_check_capability BITWUZLA 2s - new
unpack_pk_t1 Z3 2s 3s -33%
unpack_sk BITWUZLA 2s - new
unpack_sk_t0hat CVC5 2s - new
compute_pack_t0_t1 BITWUZLA - - -
compute_pack_t0_t1 CVC5 - - -
intt_native_aarch64 CVC5 - - -
intt_native_x86_64 CVC5 - - -
keccak_f1600_x4_native_aarch64_v84a Z3 1s 3s -67%
keccak_f1600_x4_native_aarch64_v8a_scalar_hybrid BITWUZLA 1s - new
mld_attempt_signature_generation BITWUZLA - - -
mld_attempt_signature_generation CVC5 - - -
mld_compute_pack_z BITWUZLA - - -
mld_compute_pack_z CVC5 - - -
mld_ct_cmask_neg_i32 BITWUZLA 1s - new
mld_ct_memcmp CVC5 - - -
mld_ct_sel_int32 BITWUZLA 1s - new
mld_invntt_layer CVC5 - - -
mld_ntt_butterfly_block CVC5 - - -
mld_ntt_layer CVC5 - - -
mld_polymat_expand_entry CVC5 - - -
mld_sample_s1_s2 CVC5 - - -
mld_sample_s1_s2_serial CVC5 - - -
mld_value_barrier_i64 BITWUZLA 1s - new
mld_value_barrier_u8 BITWUZLA 1s - new
ntt_native_aarch64 CVC5 - - -
ntt_native_x86_64 CVC5 - - -
nttunpack_native_x86_64 CVC5 - - -
pack_sig_z CVC5 - - -
pack_sk_rho_key_tr_s2 CVC5 - - -
pack_sk_s1 CVC5 - - -
pointwise_acc_native_aarch64 BITWUZLA - - -
pointwise_acc_native_aarch64 CVC5 - - -
pointwise_acc_native_x86_64 BITWUZLA - - -
pointwise_acc_native_x86_64 CVC5 - - -
pointwise_native_aarch64 CVC5 - - -
pointwise_native_x86_64 CVC5 - - -
poly_add CVC5 - - -
poly_caddq CVC5 - - -
poly_caddq_c CVC5 - - -
poly_caddq_native CVC5 - - -
poly_caddq_native_aarch64 CVC5 - - -
poly_challenge CVC5 - - -
poly_chknorm CVC5 - - -
poly_chknorm_c CVC5 - - -
poly_chknorm_native CVC5 - - -
poly_chknorm_native_aarch64 CVC5 - - -
poly_decompose CVC5 - - -
poly_decompose_32_native_aarch64 CVC5 - - -
poly_decompose_c CVC5 - - -
poly_decompose_native CVC5 - - -
poly_invntt_tomont CVC5 - - -
poly_invntt_tomont_c CVC5 - - -
poly_invntt_tomont_native CVC5 - - -
poly_ntt CVC5 - - -
poly_ntt_c CVC5 - - -
poly_ntt_native CVC5 - - -
poly_permute_bitrev_to_custom_optional CVC5 - - -
poly_permute_bitrev_to_custom_optional_native CVC5 - - -
poly_pointwise_montgomery CVC5 - - -
poly_pointwise_montgomery_c CVC5 - - -
poly_pointwise_montgomery_native CVC5 - - -
poly_power2round CVC5 - - -
poly_reduce CVC5 - - -
poly_shiftl CVC5 - - -
poly_sub CVC5 - - -
poly_uniform CVC5 - - -
poly_uniform_eta CVC5 - - -
poly_uniform_eta_4x BITWUZLA - - -
poly_uniform_eta_4x CVC5 - - -
poly_uniform_gamma1 CVC5 - - -
poly_use_hint CVC5 - - -
poly_use_hint_c CVC5 - - -
poly_use_hint_native BITWUZLA - - -
poly_use_hint_native CVC5 - - -
poly_use_hint_native_aarch64 CVC5 - - -
polyeta_pack CVC5 - - -
polyeta_unpack CVC5 - - -
polyt0_pack CVC5 - - -
polyt0_pack Z3 1s 5s -80%
polyt0_unpack CVC5 - - -
polyt1_pack CVC5 - - -
polyt1_unpack BITWUZLA 1s - new
polyt1_unpack CVC5 - - -
polyvec_matrix_expand_serial BITWUZLA 1s - new
polyvec_matrix_pointwise_montgomery_row BITWUZLA - - -
polyvec_matrix_pointwise_montgomery_row CVC5 - - -
polyvec_matrix_pointwise_montgomery_yvec BITWUZLA - - -
polyvec_matrix_pointwise_montgomery_yvec CVC5 - - -
polyveck_caddq BITWUZLA - - -
polyveck_caddq CVC5 - - -
polyveck_chknorm BITWUZLA - - -
polyveck_chknorm CVC5 - - -
polyveck_decompose BITWUZLA - - -
polyveck_decompose CVC5 - - -
polyveck_invntt_tomont BITWUZLA - - -
polyveck_invntt_tomont CVC5 - - -
polyveck_ntt BITWUZLA 1s - new
polyveck_pack_eta CVC5 - - -
polyveck_pack_w1 CVC5 - - -
polyveck_reduce BITWUZLA - - -
polyveck_reduce CVC5 - - -
polyveck_unpack_eta CVC5 - - -
polyvecl_chknorm BITWUZLA - - -
polyvecl_chknorm CVC5 - - -
polyvecl_ntt BITWUZLA - - -
polyvecl_ntt CVC5 - - -
polyvecl_pack_eta CVC5 - - -
polyvecl_unpack_eta CVC5 - - -
polyvecl_unpack_z CVC5 - - -
polyw1_pack CVC5 - - -
polyz_pack CVC5 - - -
polyz_unpack CVC5 - - -
polyz_unpack_19_native_aarch64 CVC5 - - -
polyz_unpack_c CVC5 - - -
polyz_unpack_native CVC5 - - -
rej_eta CVC5 - - -
rej_eta_c CVC5 - - -
rej_eta_native CVC5 - - -
rej_uniform CVC5 - - -
rej_uniform_c CVC5 - - -
rej_uniform_native CVC5 - - -
shake128_absorb BITWUZLA 1s - new
shake128_init BITWUZLA 1s - new
shake128x4_squeezeblocks BITWUZLA 1s - new
shake128x4_squeezeblocks CVC5 1s - new
shake256_absorb CVC5 1s - new
shake256_release CVC5 1s - new
shake256x4_absorb_once Z3 1s 3s -67%
sig_unpack_hints CVC5 - - -
sign_keypair_internal BITWUZLA - - -
sign_keypair_internal CVC5 - - -
sign_pk_from_sk BITWUZLA - - -
sign_pk_from_sk CVC5 - - -
sign_verify_internal BITWUZLA - - -
sign_verify_internal CVC5 - - -
sk_s1hat_get_poly CVC5 - - -
sk_s2hat_get_poly CVC5 - - -
sk_t0hat_get_poly CVC5 - - -
unpack_pk_t1 CVC5 - - -
unpack_sk_t0hat Z3 1s 3s -67%
yvec_get_poly CVC5 - - -

@oqs-bot
Copy link
Copy Markdown
Contributor

oqs-bot commented May 18, 2026

CBMC Results (ML-DSA-87)

⚠️ Attention Required

Proof Solver Status Current Previous Change
**TOTAL** - ⚠️ 20948s 1987s +954.3%
compute_pack_t0_t1 BITWUZLA - - -
compute_pack_t0_t1 CVC5 - - -
fqmul Z3 ⚠️ 63s 26s +142%
intt_native_aarch64 CVC5 - - -
intt_native_x86_64 CVC5 - - -
keccak_absorb_once_x4 Z3 ⚠️ 22s 9s +144%
mld_attempt_signature_generation BITWUZLA - - -
mld_attempt_signature_generation CVC5 - - -
mld_compute_pack_z BITWUZLA - - -
mld_compute_pack_z CVC5 - - -
mld_ct_memcmp CVC5 - - -
mld_invntt_layer CVC5 - - -
mld_ntt_butterfly_block CVC5 - - -
mld_ntt_butterfly_block Z3 ⚠️ 425s 17s +2400%
mld_ntt_layer CVC5 - - -
mld_polymat_expand_entry CVC5 - - -
mld_sample_s1_s2 BITWUZLA - - -
mld_sample_s1_s2 CVC5 - - -
mld_sample_s1_s2_serial CVC5 - - -
ntt_native_aarch64 CVC5 - - -
ntt_native_x86_64 CVC5 - - -
nttunpack_native_x86_64 CVC5 - - -
pack_sig_z CVC5 - - -
pack_sk_rho_key_tr_s2 CVC5 - - -
pack_sk_s1 CVC5 - - -
pointwise_acc_native_aarch64 BITWUZLA - - -
pointwise_acc_native_aarch64 CVC5 - - -
pointwise_acc_native_x86_64 BITWUZLA - - -
pointwise_acc_native_x86_64 CVC5 - - -
pointwise_native_aarch64 CVC5 - - -
pointwise_native_x86_64 CVC5 - - -
poly_add CVC5 - - -
poly_caddq CVC5 - - -
poly_caddq_c CVC5 - - -
poly_caddq_native CVC5 - - -
poly_caddq_native_aarch64 CVC5 - - -
poly_challenge CVC5 - - -
poly_chknorm CVC5 - - -
poly_chknorm_c CVC5 - - -
poly_chknorm_native CVC5 - - -
poly_chknorm_native_aarch64 CVC5 - - -
poly_decompose CVC5 - - -
poly_decompose_32_native_aarch64 CVC5 - - -
poly_decompose_c CVC5 - - -
poly_decompose_native CVC5 - - -
poly_invntt_tomont CVC5 - - -
poly_invntt_tomont_c CVC5 - - -
poly_invntt_tomont_native CVC5 - - -
poly_ntt CVC5 - - -
poly_ntt_c CVC5 - - -
poly_ntt_native CVC5 - - -
poly_permute_bitrev_to_custom_optional CVC5 - - -
poly_permute_bitrev_to_custom_optional_native CVC5 - - -
poly_pointwise_montgomery CVC5 - - -
poly_pointwise_montgomery_c CVC5 - - -
poly_pointwise_montgomery_native CVC5 - - -
poly_power2round CVC5 - - -
poly_reduce CVC5 - - -
poly_shiftl CVC5 - - -
poly_sub CVC5 - - -
poly_uniform CVC5 - - -
poly_uniform_4x BITWUZLA - - -
poly_uniform_4x CVC5 - - -
poly_uniform_eta CVC5 - - -
poly_uniform_eta_4x BITWUZLA - - -
poly_uniform_eta_4x CVC5 - - -
poly_uniform_gamma1_4x CVC5 - - -
poly_use_hint CVC5 - - -
poly_use_hint_c CVC5 - - -
poly_use_hint_native BITWUZLA - - -
poly_use_hint_native CVC5 - - -
poly_use_hint_native_aarch64 CVC5 - - -
polyeta_pack CVC5 - - -
polyeta_unpack CVC5 - - -
polyt0_pack CVC5 - - -
polyt0_unpack CVC5 - - -
polyt1_pack CVC5 - - -
polyt1_unpack CVC5 - - -
polyvec_matrix_expand BITWUZLA - - -
polyvec_matrix_expand CVC5 - - -
polyvec_matrix_expand_serial BITWUZLA - - -
polyvec_matrix_expand_serial CVC5 - - -
polyvec_matrix_pointwise_montgomery_row CVC5 - - -
polyvec_matrix_pointwise_montgomery_yvec BITWUZLA - - -
polyvec_matrix_pointwise_montgomery_yvec CVC5 - - -
polyveck_caddq BITWUZLA - - -
polyveck_caddq CVC5 - - -
polyveck_chknorm BITWUZLA - - -
polyveck_chknorm CVC5 - - -
polyveck_decompose BITWUZLA - - -
polyveck_decompose CVC5 - - -
polyveck_invntt_tomont BITWUZLA - - -
polyveck_invntt_tomont CVC5 - - -
polyveck_ntt BITWUZLA - - -
polyveck_ntt CVC5 - - -
polyveck_pack_eta CVC5 - - -
polyveck_pack_w1 CVC5 - - -
polyveck_unpack_eta CVC5 - - -
polyvecl_chknorm BITWUZLA - - -
polyvecl_chknorm CVC5 - - -
polyvecl_ntt BITWUZLA - - -
polyvecl_ntt CVC5 - - -
polyvecl_pack_eta CVC5 - - -
polyvecl_pointwise_acc_montgomery BITWUZLA - - -
polyvecl_pointwise_acc_montgomery CVC5 - - -
polyvecl_pointwise_acc_montgomery_c BITWUZLA - - -
polyvecl_pointwise_acc_montgomery_c CVC5 - - -
polyvecl_pointwise_acc_montgomery_native BITWUZLA - - -
polyvecl_pointwise_acc_montgomery_native CVC5 - - -
polyvecl_uniform_gamma1 CVC5 - - -
polyvecl_uniform_gamma1_serial CVC5 - - -
polyvecl_unpack_eta CVC5 - - -
polyvecl_unpack_z CVC5 - - -
polyw1_pack CVC5 - - -
polyz_pack CVC5 - - -
polyz_unpack CVC5 - - -
polyz_unpack_19_native_aarch64 CVC5 - - -
polyz_unpack_c CVC5 - - -
polyz_unpack_native CVC5 - - -
rej_eta CVC5 - - -
rej_eta Z3 ⚠️ 23s 2s +1050%
rej_eta_c CVC5 - - -
rej_eta_native CVC5 - - -
rej_eta_native Z3 ⚠️ 132s 3s +4300%
rej_uniform CVC5 - - -
rej_uniform_c CVC5 - - -
rej_uniform_native CVC5 - - -
sig_unpack_hints CVC5 - - -
sign_keypair_internal BITWUZLA - - -
sign_keypair_internal CVC5 - - -
sign_pk_from_sk BITWUZLA - - -
sign_pk_from_sk CVC5 - - -
sign_signature_internal BITWUZLA - - -
sign_signature_internal CVC5 - - -
sign_verify_internal BITWUZLA - - -
sign_verify_internal CVC5 - - -
sk_s1hat_get_poly CVC5 - - -
sk_s2hat_get_poly CVC5 - - -
sk_t0hat_get_poly CVC5 - - -
unpack_pk_t1 CVC5 - - -
unpack_sk BITWUZLA - - -
unpack_sk CVC5 - - -
unpack_sk_s1hat CVC5 - - -
unpack_sk_s2hat BITWUZLA - - -
unpack_sk_s2hat CVC5 - - -
unpack_sk_t0hat BITWUZLA - - -
unpack_sk_t0hat CVC5 - - -
yvec_get_poly CVC5 - - -
yvec_init CVC5 - - -
Full Results (594 proofs)
Proof Solver Status Current Previous Change
**TOTAL** - ⚠️ 20948s 1987s +954.3%
mld_sample_s1_s2_serial BITWUZLA 1699s - new
polyvecl_uniform_gamma1 BITWUZLA 1521s - new
polyveck_unpack_eta BITWUZLA 1406s - new
poly_decompose_native BITWUZLA 1305s - new
polyvecl_uniform_gamma1_serial BITWUZLA 1097s - new
polyvec_matrix_pointwise_montgomery_row BITWUZLA 1056s - new
fqmul CVC5 967s - new
poly_use_hint BITWUZLA 956s - new
polyvecl_unpack_z BITWUZLA 824s - new
poly_caddq_native BITWUZLA 767s - new
poly_add BITWUZLA 752s - new
polyveck_pack_w1 BITWUZLA 704s - new
polyvecl_unpack_eta BITWUZLA 550s - new
polyveck_pack_eta BITWUZLA 445s - new
mld_ntt_butterfly_block Z3 ⚠️ 425s 17s +2400%
poly_invntt_tomont_c BITWUZLA 421s - new
polyvecl_pointwise_acc_montgomery_c Z3 312s 250s +25%
poly_pointwise_montgomery_c BITWUZLA 276s - new
poly_pointwise_montgomery_native BITWUZLA 241s - new
poly_ntt_c BITWUZLA 210s - new
nttunpack_native_x86_64 BITWUZLA 207s - new
polyvec_matrix_expand Z3 194s 169s +15%
polyvecl_pack_eta BITWUZLA 194s - new
unpack_sk_s1hat BITWUZLA 180s - new
rej_eta_native Z3 ⚠️ 132s 3s +4300%
rej_uniform_native Z3 130s 124s +5%
poly_uniform_eta BITWUZLA 128s - new
poly_uniform_gamma1_4x BITWUZLA 124s - new
mld_attempt_signature_generation Z3 107s 102s +5%
poly_uniform BITWUZLA 105s - new
mld_invntt_layer Z3 98s 93s +5%
poly_pointwise_montgomery_c Z3 96s 92s +4%
pack_sk_rho_key_tr_s2 BITWUZLA 94s - new
poly_use_hint_c BITWUZLA 90s - new
sign_verify_internal Z3 90s 88s +2%
poly_invntt_tomont_native BITWUZLA 77s - new
poly_decompose_c BITWUZLA 75s - new
mld_ct_memcmp Z3 69s 65s +6%
fqmul Z3 ⚠️ 63s 26s +142%
yvec_get_poly BITWUZLA 59s - new
poly_ntt_native BITWUZLA 55s - new
sign_signature_internal Z3 55s 54s +2%
sk_t0hat_get_poly BITWUZLA 53s - new
sk_s2hat_get_poly BITWUZLA 51s - new
mld_invntt_layer BITWUZLA 50s - new
sk_s1hat_get_poly BITWUZLA 48s - new
mld_ntt_layer BITWUZLA 45s - new
ntt_native_x86_64 BITWUZLA 41s - new
polyvec_matrix_expand_serial Z3 40s 37s +8%
polyz_unpack_native BITWUZLA 39s - new
poly_power2round BITWUZLA 37s - new
poly_challenge BITWUZLA 36s - new
poly_pointwise_montgomery BITWUZLA 36s - new
intt_native_x86_64 BITWUZLA 33s - new
poly_sub BITWUZLA 33s - new
pack_sk_s1 BITWUZLA 32s - new
yvec_init BITWUZLA 30s - new
fqmul BITWUZLA 28s - new
keccakf1600x4_permute_native Z3 28s 24s +17%
compute_pack_t0_t1 Z3 27s 26s +4%
keccakf1600x4_permute_native CVC5 26s - new
poly_caddq_c BITWUZLA 24s - new
polyvec_matrix_pointwise_montgomery_yvec Z3 24s 21s +14%
keccakf1600x4_permute_native BITWUZLA 23s - new
rej_eta Z3 ⚠️ 23s 2s +1050%
keccak_absorb_once_x4 Z3 ⚠️ 22s 9s +144%
poly_decompose BITWUZLA 19s - new
rej_eta_c Z3 19s 6s +217%
unpack_pk_t1 BITWUZLA 19s - new
mld_ntt_butterfly_block BITWUZLA 18s - new
polyt0_unpack Z3 18s 13s +38%
rej_uniform_c Z3 18s 19s -5%
sig_unpack_hints BITWUZLA 18s - new
rej_uniform Z3 16s 15s +7%
poly_chknorm_c BITWUZLA 15s - new
poly_chknorm_c Z3 15s 15s +0%
poly_decompose_32_native_aarch64 BITWUZLA 15s - new
polyeta_pack BITWUZLA 15s - new
polyeta_unpack Z3 15s 11s +36%
keccak_absorb_once_x4 CVC5 14s - new
poly_uniform_eta_4x Z3 14s 13s +8%
poly_add Z3 13s 11s +18%
poly_reduce BITWUZLA 13s - new
polyt0_pack BITWUZLA 13s - new
polyveck_decompose Z3 13s 12s +8%
polyveck_ntt Z3 13s 10s +30%
mld_check_pct CVC5 12s - new
pointwise_native_x86_64 BITWUZLA 12s - new
poly_chknorm_native BITWUZLA 12s - new
poly_invntt_tomont BITWUZLA 12s - new
poly_uniform_4x Z3 12s 11s +9%
mld_check_pct BITWUZLA 11s - new
mld_compute_pack_z Z3 11s 7s +57%
pointwise_acc_native_x86_64 Z3 11s 8s +38%
poly_shiftl BITWUZLA 11s - new
polyveck_invntt_tomont Z3 11s 9s +22%
keccak_absorb Z3 10s 5s +100%
keccak_absorb_once_x4 BITWUZLA 10s - new
mld_check_pct Z3 10s 11s -9%
poly_invntt_tomont_c Z3 10s 7s +43%
poly_ntt BITWUZLA 10s - new
polyveck_caddq Z3 10s 7s +43%
mld_keccakf1600_permute_c BITWUZLA 9s - new
mld_ntt_layer Z3 9s 41s -78%
poly_power2round Z3 9s 7s +29%
polyvecl_ntt Z3 9s 7s +29%
rej_eta_native BITWUZLA 9s - new
sign Z3 9s 8s +12%
mld_ct_cmask_nonzero_u8 CVC5 8s - new
mld_keccakf1600_permute_c CVC5 8s - new
mld_keccakf1600_permute_c Z3 8s 7s +14%
polyt0_unpack BITWUZLA 8s - new
polyz_unpack BITWUZLA 8s - new
shake256 CVC5 8s - new
sign BITWUZLA 8s - new
sign CVC5 8s - new
sign_keypair Z3 8s 4s +100%
keccak_squeezeblocks_x4 CVC5 7s - new
mld_sample_s1_s2 Z3 7s 6s +17%
ntt_native_aarch64 Z3 7s 4s +75%
pointwise_acc_native_aarch64 Z3 7s 8s -12%
pointwise_native_aarch64 BITWUZLA 7s - new
poly_caddq_c Z3 7s 4s +75%
polyveck_chknorm Z3 7s 6s +17%
polyvecl_chknorm Z3 7s 5s +40%
sign_keypair BITWUZLA 7s - new
sign_keypair_internal Z3 7s 6s +17%
sign_open BITWUZLA 7s - new
sign_signature CVC5 7s - new
sign_signature_pre_hash_internal Z3 7s 3s +133%
sign_verify BITWUZLA 7s - new
keccak_absorb BITWUZLA 6s - new
keccak_f1600_x1_native_aarch64 Z3 6s 2s +200%
keccak_squeezeblocks_x4 BITWUZLA 6s - new
mld_prepare_domain_separation_prefix CVC5 6s - new
mld_sample_s1_s2_serial Z3 6s 9s -33%
pack_sig_h CVC5 6s - new
poly_caddq BITWUZLA 6s - new
poly_caddq Z3 6s 3s +100%
poly_caddq_native_aarch64 BITWUZLA 6s - new
poly_chknorm Z3 6s 3s +100%
poly_decompose_88_native_aarch64 BITWUZLA 6s - new
poly_permute_bitrev_to_custom_optional_native BITWUZLA 6s - new
poly_use_hint_c Z3 6s 4s +50%
polyveck_unpack_eta Z3 6s 3s +100%
polyz_unpack_c Z3 6s 7s -14%
rej_eta_c BITWUZLA 6s - new
rej_uniform_c BITWUZLA 6s - new
sign_keypair CVC5 6s - new
sign_pk_from_sk Z3 6s 6s +0%
sign_verify_extmu Z3 6s 6s +0%
unpack_sk_t0hat Z3 6s 5s +20%
use_hint BITWUZLA 6s - new
intt_native_aarch64 Z3 5s 3s +67%
keccak_absorb CVC5 5s - new
keccak_f1600_x1_native_aarch64 CVC5 5s - new
keccak_init Z3 5s 3s +67%
keccak_squeeze CVC5 5s - new
keccakf1600_permute_native CVC5 5s - new
keccakf1600_xor_bytes CVC5 5s - new
mld_ct_cmask_nonzero_u32 BITWUZLA 5s - new
mld_ct_get_optblocker_u32 Z3 5s 4s +25%
mld_ct_memcmp BITWUZLA 5s - new
mld_h BITWUZLA 5s - new
mld_value_barrier_u32 BITWUZLA 5s - new
montgomery_reduce Z3 5s 3s +67%
nttunpack_native_x86_64 Z3 5s 3s +67%
pack_sig_c BITWUZLA 5s - new
pointwise_native_aarch64 Z3 5s 3s +67%
poly_chknorm BITWUZLA 5s - new
poly_chknorm_native_aarch64 Z3 5s 4s +25%
poly_ntt_native Z3 5s 3s +67%
poly_permute_bitrev_to_custom_optional_native Z3 5s 3s +67%
poly_use_hint_native Z3 5s 5s +0%
polyeta_unpack BITWUZLA 5s - new
polyt0_pack Z3 5s 4s +25%
polyvecl_pointwise_acc_montgomery_native Z3 5s 4s +25%
polyvecl_unpack_eta Z3 5s 3s +67%
polyz_unpack_c BITWUZLA 5s - new
reduce32 BITWUZLA 5s - new
shake256_release BITWUZLA 5s - new
sign_signature Z3 5s 4s +25%
sign_signature_pre_hash_internal BITWUZLA 5s - new
sign_signature_pre_hash_internal CVC5 5s - new
sign_signature_pre_hash_shake256 CVC5 5s - new
sign_signature_pre_hash_shake256 Z3 5s 2s +150%
sign_verify CVC5 5s - new
sign_verify_pre_hash_internal BITWUZLA 5s - new
sign_verify_pre_hash_internal CVC5 5s - new
sign_verify_pre_hash_internal Z3 5s 5s +0%
unpack_sk_s2hat Z3 5s 4s +25%
decompose Z3 4s 5s -20%
fqscale Z3 4s 2s +100%
intt_native_aarch64 BITWUZLA 4s - new
keccak_f1600_x4_native_aarch64_v84a Z3 4s 3s +33%
keccak_finalize CVC5 4s - new
keccak_squeeze BITWUZLA 4s - new
keccak_squeezeblocks_x4 Z3 4s 4s +0%
keccakf1600_permute BITWUZLA 4s - new
keccakf1600x4_xor_bytes_native Z3 4s 5s -20%
make_hint CVC5 4s - new
mld_ct_cmask_neg_i32 Z3 4s 1s +300%
mld_ct_cmask_nonzero_u32 CVC5 4s - new
mld_ct_cmask_nonzero_u8 BITWUZLA 4s - new
mld_ct_get_optblocker_i64 CVC5 4s - new
mld_h CVC5 4s - new
mld_h Z3 4s 5s -20%
mld_keccakf1600x4_xor_bytes_c CVC5 4s - new
mld_prepare_domain_separation_prefix Z3 4s 5s -20%
mld_value_barrier_u8 CVC5 4s - new
mld_value_barrier_u8 Z3 4s 3s +33%
ntt_native_aarch64 BITWUZLA 4s - new
ntt_native_x86_64 Z3 4s 4s +0%
pack_sig_h BITWUZLA 4s - new
pack_sig_h Z3 4s 4s +0%
pack_sig_z BITWUZLA 4s - new
pointwise_native_x86_64 Z3 4s 4s +0%
poly_challenge Z3 4s 2s +100%
poly_chknorm_native Z3 4s 4s +0%
poly_chknorm_native_aarch64 BITWUZLA 4s - new
poly_decompose_32_native_aarch64 Z3 4s 3s +33%
poly_decompose_c Z3 4s 3s +33%
poly_decompose_native Z3 4s 3s +33%
poly_ntt Z3 4s 4s +0%
poly_permute_bitrev_to_custom_optional BITWUZLA 4s - new
poly_shiftl Z3 4s 5s -20%
poly_uniform Z3 4s 2s +100%
poly_uniform_eta Z3 4s 4s +0%
poly_uniform_gamma1_4x Z3 4s 3s +33%
poly_use_hint_native_aarch64 BITWUZLA 4s - new
polyt1_pack BITWUZLA 4s - new
polyveck_pack_eta Z3 4s 4s +0%
polyveck_reduce BITWUZLA 4s - new
polyvecl_uniform_gamma1 Z3 4s 2s +100%
polyvecl_uniform_gamma1_serial Z3 4s 4s +0%
polyvecl_unpack_z Z3 4s 1s +300%
polyw1_pack Z3 4s 2s +100%
polyz_pack BITWUZLA 4s - new
polyz_pack Z3 4s 3s +33%
polyz_unpack_17_native_aarch64 CVC5 4s - new
polyz_unpack_19_native_aarch64 BITWUZLA 4s - new
polyz_unpack_native Z3 4s 3s +33%
rej_eta BITWUZLA 4s - new
rej_uniform_native BITWUZLA 4s - new
shake128_absorb BITWUZLA 4s - new
shake256_squeeze CVC5 4s - new
shake256x4_squeezeblocks BITWUZLA 4s - new
shake256x4_squeezeblocks CVC5 4s - new
sign_open CVC5 4s - new
sign_signature BITWUZLA 4s - new
sign_signature_extmu BITWUZLA 4s - new
sign_signature_extmu CVC5 4s - new
sign_signature_extmu Z3 4s 4s +0%
sign_signature_pre_hash_shake256 BITWUZLA 4s - new
sign_verify_extmu BITWUZLA 4s - new
sign_verify_pre_hash_shake256 Z3 4s 2s +100%
sk_s1hat_get_poly Z3 4s 4s +0%
sk_s2hat_get_poly Z3 4s 2s +100%
unpack_pk_t1 Z3 4s 3s +33%
yvec_get_poly Z3 4s 2s +100%
yvec_init Z3 4s 3s +33%
caddq Z3 3s 2s +50%
decompose CVC5 3s - new
fqscale BITWUZLA 3s - new
intt_native_x86_64 Z3 3s 3s +0%
keccak_f1600_x1_native_aarch64 BITWUZLA 3s - new
keccak_f1600_x1_native_aarch64_v84a CVC5 3s - new
keccak_f1600_x4_native_aarch64_v84a BITWUZLA 3s - new
keccak_f1600_x4_native_aarch64_v8a_scalar_hybrid CVC5 3s - new
keccak_f1600_x4_native_aarch64_v8a_v84a_scalar_hybrid Z3 3s 3s +0%
keccak_f1600_x4_native_avx2 Z3 3s 2s +50%
keccak_finalize Z3 3s 2s +50%
keccak_init CVC5 3s - new
keccak_squeeze Z3 3s 1s +200%
keccakf1600_permute_native BITWUZLA 3s - new
keccakf1600_permute_native Z3 3s 3s +0%
keccakf1600_xor_bytes BITWUZLA 3s - new
keccakf1600_xor_bytes Z3 3s 2s +50%
keccakf1600_xor_bytes (big endian) Z3 3s 1s +200%
keccakf1600x4_extract_bytes_native BITWUZLA 3s - new
keccakf1600x4_extract_bytes_native CVC5 3s - new
keccakf1600x4_permute CVC5 3s - new
keccakf1600x4_permute Z3 3s 4s -25%
keccakf1600x4_xor_bytes_native BITWUZLA 3s - new
keccakf1600x4_xor_bytes_native CVC5 3s - new
make_hint Z3 3s 4s -25%
mld_ct_get_optblocker_i64 Z3 3s 5s -40%
mld_ct_get_optblocker_u8 CVC5 3s - new
mld_keccakf1600x4_extract_bytes_c CVC5 3s - new
mld_prepare_domain_separation_prefix BITWUZLA 3s - new
mld_value_barrier_i64 CVC5 3s - new
mld_value_barrier_i64 Z3 3s 2s +50%
mld_value_barrier_u8 BITWUZLA 3s - new
montgomery_reduce BITWUZLA 3s - new
montgomery_reduce CVC5 3s - new
pack_sig_c CVC5 3s - new
pack_sk_rho_key_tr_s2 Z3 3s 2s +50%
pack_sk_s1 Z3 3s 3s +0%
poly_caddq_native Z3 3s 3s +0%
poly_caddq_native_aarch64 Z3 3s 3s +0%
poly_decompose Z3 3s 3s +0%
poly_decompose_88_native_aarch64 Z3 3s 2s +50%
poly_invntt_tomont Z3 3s 3s +0%
poly_invntt_tomont_native Z3 3s 4s -25%
poly_ntt_c Z3 3s 4s -25%
poly_permute_bitrev_to_custom_optional Z3 3s 3s +0%
poly_pointwise_montgomery Z3 3s 2s +50%
poly_pointwise_montgomery_native Z3 3s 3s +0%
poly_reduce Z3 3s 4s -25%
poly_sub Z3 3s 5s -40%
poly_uniform_gamma1 BITWUZLA 3s - new
poly_uniform_gamma1 CVC5 3s - new
poly_use_hint Z3 3s 3s +0%
polyt1_pack Z3 3s 2s +50%
polyt1_unpack BITWUZLA 3s - new
polyvec_matrix_pointwise_montgomery_row Z3 3s 2s +50%
polyveck_pack_w1 Z3 3s 2s +50%
polyveck_reduce Z3 3s 2s +50%
polyvecl_pack_eta Z3 3s 2s +50%
polyw1_pack BITWUZLA 3s - new
polyz_unpack_17_native_aarch64 BITWUZLA 3s - new
polyz_unpack_17_native_aarch64 Z3 3s 4s -25%
polyz_unpack_19_native_aarch64 Z3 3s 3s +0%
power2round CVC5 3s - new
power2round Z3 3s 3s +0%
reduce32 Z3 3s 3s +0%
rej_uniform BITWUZLA 3s - new
shake128_finalize Z3 3s 2s +50%
shake128_init CVC5 3s - new
shake128_release BITWUZLA 3s - new
shake128_release Z3 3s 2s +50%
shake128_squeeze CVC5 3s - new
shake128_squeeze Z3 3s 2s +50%
shake128x4_absorb_once BITWUZLA 3s - new
shake128x4_absorb_once CVC5 3s - new
shake128x4_absorb_once Z3 3s 4s -25%
shake128x4_squeezeblocks BITWUZLA 3s - new
shake128x4_squeezeblocks CVC5 3s - new
shake256_finalize CVC5 3s - new
shake256_finalize Z3 3s 3s +0%
shake256_init Z3 3s 2s +50%
shake256_release Z3 3s 1s +200%
shake256x4_absorb_once BITWUZLA 3s - new
sig_unpack_hints Z3 3s 3s +0%
sign_open Z3 3s 5s -40%
sign_verify Z3 3s 5s -40%
sign_verify_extmu CVC5 3s - new
sign_verify_pre_hash_shake256 BITWUZLA 3s - new
sign_verify_pre_hash_shake256 CVC5 3s - new
sk_t0hat_get_poly Z3 3s 4s -25%
sys_check_capability BITWUZLA 3s - new
unpack_sk Z3 3s 3s +0%
use_hint CVC5 3s - new
use_hint Z3 3s 3s +0%
caddq BITWUZLA 2s - new
caddq CVC5 2s - new
decompose BITWUZLA 2s - new
fqscale CVC5 2s - new
keccak_f1600_x1_native_aarch64_v84a BITWUZLA 2s - new
keccak_f1600_x1_native_aarch64_v84a Z3 2s 2s +0%
keccak_f1600_x4_native_aarch64_v8a_scalar_hybrid BITWUZLA 2s - new
keccak_f1600_x4_native_aarch64_v8a_scalar_hybrid Z3 2s 4s -50%
keccak_f1600_x4_native_aarch64_v8a_v84a_scalar_hybrid BITWUZLA 2s - new
keccak_f1600_x4_native_aarch64_v8a_v84a_scalar_hybrid CVC5 2s - new
keccak_f1600_x4_native_avx2 CVC5 2s - new
keccak_finalize BITWUZLA 2s - new
keccak_init BITWUZLA 2s - new
keccakf1600_extract_bytes (big endian) BITWUZLA 2s - new
keccakf1600_extract_bytes (big endian) Z3 2s 3s -33%
keccakf1600_permute Z3 2s 3s -33%
keccakf1600x4_extract_bytes BITWUZLA 2s - new
keccakf1600x4_extract_bytes_native Z3 2s 4s -50%
keccakf1600x4_permute BITWUZLA 2s - new
keccakf1600x4_xor_bytes BITWUZLA 2s - new
keccakf1600x4_xor_bytes CVC5 2s - new
keccakf1600x4_xor_bytes Z3 2s 3s -33%
mld_ct_abs_i32 BITWUZLA 2s - new
mld_ct_abs_i32 CVC5 2s - new
mld_ct_abs_i32 Z3 2s 4s -50%
mld_ct_cmask_neg_i32 CVC5 2s - new
mld_ct_cmask_nonzero_u32 Z3 2s 4s -50%
mld_ct_cmask_nonzero_u8 Z3 2s 3s -33%
mld_ct_get_optblocker_i64 BITWUZLA 2s - new
mld_ct_get_optblocker_u32 BITWUZLA 2s - new
mld_ct_get_optblocker_u32 CVC5 2s - new
mld_ct_get_optblocker_u8 Z3 2s 3s -33%
mld_ct_sel_int32 BITWUZLA 2s - new
mld_ct_sel_int32 Z3 2s 4s -50%
mld_keccakf1600_extract_bytes BITWUZLA 2s - new
mld_keccakf1600_extract_bytes CVC5 2s - new
mld_keccakf1600_extract_bytes Z3 2s 2s +0%
mld_keccakf1600x4_extract_bytes_c BITWUZLA 2s - new
mld_keccakf1600x4_extract_bytes_c Z3 2s 3s -33%
mld_keccakf1600x4_xor_bytes_c BITWUZLA 2s - new
mld_keccakf1600x4_xor_bytes_c Z3 2s 3s -33%
mld_polymat_expand_entry BITWUZLA 2s - new
mld_polymat_expand_entry Z3 2s 3s -33%
mld_value_barrier_i64 BITWUZLA 2s - new
mld_value_barrier_u32 CVC5 2s - new
pack_sig_c Z3 2s 3s -33%
pack_sig_z Z3 2s 2s +0%
poly_decompose_88_native_aarch64 CVC5 2s - new
poly_use_hint_native_aarch64 Z3 2s 2s +0%
polyeta_pack Z3 2s 4s -50%
polyt1_unpack Z3 2s 4s -50%
polyvecl_pointwise_acc_montgomery Z3 2s 4s -50%
polyz_unpack Z3 2s 2s +0%
power2round BITWUZLA 2s - new
reduce32 CVC5 2s - new
shake128_finalize BITWUZLA 2s - new
shake128_finalize CVC5 2s - new
shake128_init Z3 2s 4s -50%
shake128_release CVC5 2s - new
shake128x4_squeezeblocks Z3 2s 3s -33%
shake256 Z3 2s 2s +0%
shake256_absorb Z3 2s 3s -33%
shake256_finalize BITWUZLA 2s - new
shake256_init BITWUZLA 2s - new
shake256_init CVC5 2s - new
shake256_release CVC5 2s - new
shake256_squeeze BITWUZLA 2s - new
shake256_squeeze Z3 2s 2s +0%
shake256x4_absorb_once CVC5 2s - new
shake256x4_absorb_once Z3 2s 3s -33%
shake256x4_squeezeblocks Z3 2s 5s -60%
sys_check_capability CVC5 2s - new
sys_check_capability Z3 2s 1s +100%
unpack_sk_s1hat Z3 2s 5s -60%
compute_pack_t0_t1 BITWUZLA - - -
compute_pack_t0_t1 CVC5 - - -
intt_native_aarch64 CVC5 - - -
intt_native_x86_64 CVC5 - - -
keccak_f1600_x4_native_aarch64_v84a CVC5 1s - new
keccak_f1600_x4_native_avx2 BITWUZLA 1s - new
keccakf1600_extract_bytes (big endian) CVC5 1s - new
keccakf1600_permute CVC5 1s - new
keccakf1600_xor_bytes (big endian) BITWUZLA 1s - new
keccakf1600_xor_bytes (big endian) CVC5 1s - new
keccakf1600x4_extract_bytes CVC5 1s - new
keccakf1600x4_extract_bytes Z3 1s 3s -67%
make_hint BITWUZLA 1s - new
mld_attempt_signature_generation BITWUZLA - - -
mld_attempt_signature_generation CVC5 - - -
mld_compute_pack_z BITWUZLA - - -
mld_compute_pack_z CVC5 - - -
mld_ct_cmask_neg_i32 BITWUZLA 1s - new
mld_ct_get_optblocker_u8 BITWUZLA 1s - new
mld_ct_memcmp CVC5 - - -
mld_ct_sel_int32 CVC5 1s - new
mld_invntt_layer CVC5 - - -
mld_ntt_butterfly_block CVC5 - - -
mld_ntt_layer CVC5 - - -
mld_polymat_expand_entry CVC5 - - -
mld_sample_s1_s2 BITWUZLA - - -
mld_sample_s1_s2 CVC5 - - -
mld_sample_s1_s2_serial CVC5 - - -
mld_value_barrier_u32 Z3 1s 4s -75%
ntt_native_aarch64 CVC5 - - -
ntt_native_x86_64 CVC5 - - -
nttunpack_native_x86_64 CVC5 - - -
pack_sig_z CVC5 - - -
pack_sk_rho_key_tr_s2 CVC5 - - -
pack_sk_s1 CVC5 - - -
pointwise_acc_native_aarch64 BITWUZLA - - -
pointwise_acc_native_aarch64 CVC5 - - -
pointwise_acc_native_x86_64 BITWUZLA - - -
pointwise_acc_native_x86_64 CVC5 - - -
pointwise_native_aarch64 CVC5 - - -
pointwise_native_x86_64 CVC5 - - -
poly_add CVC5 - - -
poly_caddq CVC5 - - -
poly_caddq_c CVC5 - - -
poly_caddq_native CVC5 - - -
poly_caddq_native_aarch64 CVC5 - - -
poly_challenge CVC5 - - -
poly_chknorm CVC5 - - -
poly_chknorm_c CVC5 - - -
poly_chknorm_native CVC5 - - -
poly_chknorm_native_aarch64 CVC5 - - -
poly_decompose CVC5 - - -
poly_decompose_32_native_aarch64 CVC5 - - -
poly_decompose_c CVC5 - - -
poly_decompose_native CVC5 - - -
poly_invntt_tomont CVC5 - - -
poly_invntt_tomont_c CVC5 - - -
poly_invntt_tomont_native CVC5 - - -
poly_ntt CVC5 - - -
poly_ntt_c CVC5 - - -
poly_ntt_native CVC5 - - -
poly_permute_bitrev_to_custom_optional CVC5 - - -
poly_permute_bitrev_to_custom_optional_native CVC5 - - -
poly_pointwise_montgomery CVC5 - - -
poly_pointwise_montgomery_c CVC5 - - -
poly_pointwise_montgomery_native CVC5 - - -
poly_power2round CVC5 - - -
poly_reduce CVC5 - - -
poly_shiftl CVC5 - - -
poly_sub CVC5 - - -
poly_uniform CVC5 - - -
poly_uniform_4x BITWUZLA - - -
poly_uniform_4x CVC5 - - -
poly_uniform_eta CVC5 - - -
poly_uniform_eta_4x BITWUZLA - - -
poly_uniform_eta_4x CVC5 - - -
poly_uniform_gamma1 Z3 1s 3s -67%
poly_uniform_gamma1_4x CVC5 - - -
poly_use_hint CVC5 - - -
poly_use_hint_c CVC5 - - -
poly_use_hint_native BITWUZLA - - -
poly_use_hint_native CVC5 - - -
poly_use_hint_native_aarch64 CVC5 - - -
polyeta_pack CVC5 - - -
polyeta_unpack CVC5 - - -
polyt0_pack CVC5 - - -
polyt0_unpack CVC5 - - -
polyt1_pack CVC5 - - -
polyt1_unpack CVC5 - - -
polyvec_matrix_expand BITWUZLA - - -
polyvec_matrix_expand CVC5 - - -
polyvec_matrix_expand_serial BITWUZLA - - -
polyvec_matrix_expand_serial CVC5 - - -
polyvec_matrix_pointwise_montgomery_row CVC5 - - -
polyvec_matrix_pointwise_montgomery_yvec BITWUZLA - - -
polyvec_matrix_pointwise_montgomery_yvec CVC5 - - -
polyveck_caddq BITWUZLA - - -
polyveck_caddq CVC5 - - -
polyveck_chknorm BITWUZLA - - -
polyveck_chknorm CVC5 - - -
polyveck_decompose BITWUZLA - - -
polyveck_decompose CVC5 - - -
polyveck_invntt_tomont BITWUZLA - - -
polyveck_invntt_tomont CVC5 - - -
polyveck_ntt BITWUZLA - - -
polyveck_ntt CVC5 - - -
polyveck_pack_eta CVC5 - - -
polyveck_pack_w1 CVC5 - - -
polyveck_reduce CVC5 1s - new
polyveck_unpack_eta CVC5 - - -
polyvecl_chknorm BITWUZLA - - -
polyvecl_chknorm CVC5 - - -
polyvecl_ntt BITWUZLA - - -
polyvecl_ntt CVC5 - - -
polyvecl_pack_eta CVC5 - - -
polyvecl_pointwise_acc_montgomery BITWUZLA - - -
polyvecl_pointwise_acc_montgomery CVC5 - - -
polyvecl_pointwise_acc_montgomery_c BITWUZLA - - -
polyvecl_pointwise_acc_montgomery_c CVC5 - - -
polyvecl_pointwise_acc_montgomery_native BITWUZLA - - -
polyvecl_pointwise_acc_montgomery_native CVC5 - - -
polyvecl_uniform_gamma1 CVC5 - - -
polyvecl_uniform_gamma1_serial CVC5 - - -
polyvecl_unpack_eta CVC5 - - -
polyvecl_unpack_z CVC5 - - -
polyw1_pack CVC5 - - -
polyz_pack CVC5 - - -
polyz_unpack CVC5 - - -
polyz_unpack_19_native_aarch64 CVC5 - - -
polyz_unpack_c CVC5 - - -
polyz_unpack_native CVC5 - - -
rej_eta CVC5 - - -
rej_eta_c CVC5 - - -
rej_eta_native CVC5 - - -
rej_uniform CVC5 - - -
rej_uniform_c CVC5 - - -
rej_uniform_native CVC5 - - -
shake128_absorb CVC5 1s - new
shake128_absorb Z3 1s 4s -75%
shake128_init BITWUZLA 1s - new
shake128_squeeze BITWUZLA 1s - new
shake256 BITWUZLA 1s - new
shake256_absorb BITWUZLA 1s - new
shake256_absorb CVC5 1s - new
sig_unpack_hints CVC5 - - -
sign_keypair_internal BITWUZLA - - -
sign_keypair_internal CVC5 - - -
sign_pk_from_sk BITWUZLA - - -
sign_pk_from_sk CVC5 - - -
sign_signature_internal BITWUZLA - - -
sign_signature_internal CVC5 - - -
sign_verify_internal BITWUZLA - - -
sign_verify_internal CVC5 - - -
sk_s1hat_get_poly CVC5 - - -
sk_s2hat_get_poly CVC5 - - -
sk_t0hat_get_poly CVC5 - - -
unpack_pk_t1 CVC5 - - -
unpack_sk BITWUZLA - - -
unpack_sk CVC5 - - -
unpack_sk_s1hat CVC5 - - -
unpack_sk_s2hat BITWUZLA - - -
unpack_sk_s2hat CVC5 - - -
unpack_sk_t0hat BITWUZLA - - -
unpack_sk_t0hat CVC5 - - -
yvec_get_poly CVC5 - - -
yvec_init CVC5 - - -

@oqs-bot
Copy link
Copy Markdown
Contributor

oqs-bot commented May 18, 2026

CBMC Results (ML-DSA-65)

⚠️ Attention Required

Proof Solver Status Current Previous Change
**TOTAL** - ⚠️ 19672s 1914s +927.8%
compute_pack_t0_t1 BITWUZLA - - -
compute_pack_t0_t1 CVC5 - - -
fqmul Z3 ⚠️ 60s 31s +94%
intt_native_aarch64 CVC5 - - -
intt_native_x86_64 CVC5 - - -
keccak_absorb_once_x4 Z3 ⚠️ 21s 9s +133%
mld_attempt_signature_generation BITWUZLA - - -
mld_attempt_signature_generation CVC5 - - -
mld_compute_pack_z BITWUZLA - - -
mld_compute_pack_z CVC5 - - -
mld_ct_memcmp CVC5 - - -
mld_invntt_layer CVC5 - - -
mld_ntt_butterfly_block CVC5 - - -
mld_ntt_butterfly_block Z3 ⚠️ 426s 16s +2562%
mld_ntt_layer CVC5 - - -
mld_polymat_expand_entry CVC5 - - -
mld_sample_s1_s2 CVC5 - - -
mld_sample_s1_s2_serial CVC5 - - -
ntt_native_aarch64 CVC5 - - -
ntt_native_x86_64 CVC5 - - -
nttunpack_native_x86_64 CVC5 - - -
pack_sig_z CVC5 - - -
pack_sk_rho_key_tr_s2 CVC5 - - -
pack_sk_s1 CVC5 - - -
pointwise_acc_native_aarch64 BITWUZLA - - -
pointwise_acc_native_aarch64 CVC5 - - -
pointwise_acc_native_x86_64 BITWUZLA - - -
pointwise_acc_native_x86_64 CVC5 - - -
pointwise_native_aarch64 CVC5 - - -
pointwise_native_x86_64 CVC5 - - -
poly_add CVC5 - - -
poly_caddq CVC5 - - -
poly_caddq_c CVC5 - - -
poly_caddq_native CVC5 - - -
poly_caddq_native_aarch64 CVC5 - - -
poly_challenge CVC5 - - -
poly_chknorm CVC5 - - -
poly_chknorm_c CVC5 - - -
poly_chknorm_native CVC5 - - -
poly_chknorm_native_aarch64 CVC5 - - -
poly_decompose CVC5 - - -
poly_decompose_32_native_aarch64 CVC5 - - -
poly_decompose_c CVC5 - - -
poly_decompose_native CVC5 - - -
poly_invntt_tomont CVC5 - - -
poly_invntt_tomont_c CVC5 - - -
poly_invntt_tomont_native CVC5 - - -
poly_ntt CVC5 - - -
poly_ntt_c CVC5 - - -
poly_ntt_native CVC5 - - -
poly_permute_bitrev_to_custom_optional CVC5 - - -
poly_permute_bitrev_to_custom_optional_native CVC5 - - -
poly_pointwise_montgomery CVC5 - - -
poly_pointwise_montgomery_c CVC5 - - -
poly_pointwise_montgomery_native CVC5 - - -
poly_power2round CVC5 - - -
poly_reduce CVC5 - - -
poly_shiftl CVC5 - - -
poly_sub CVC5 - - -
poly_uniform CVC5 - - -
poly_uniform_4x BITWUZLA - - -
poly_uniform_4x CVC5 - - -
poly_uniform_eta CVC5 - - -
poly_uniform_eta_4x BITWUZLA - - -
poly_uniform_eta_4x CVC5 - - -
poly_uniform_gamma1 CVC5 - - -
poly_uniform_gamma1_4x CVC5 - - -
poly_use_hint CVC5 - - -
poly_use_hint_c CVC5 - - -
poly_use_hint_native BITWUZLA - - -
poly_use_hint_native CVC5 - - -
poly_use_hint_native_aarch64 CVC5 - - -
polyeta_pack CVC5 - - -
polyeta_unpack CVC5 - - -
polyt0_pack CVC5 - - -
polyt0_unpack CVC5 - - -
polyt1_pack CVC5 - - -
polyt1_unpack CVC5 - - -
polyvec_matrix_expand BITWUZLA - - -
polyvec_matrix_expand CVC5 - - -
polyvec_matrix_expand_serial BITWUZLA - - -
polyvec_matrix_expand_serial CVC5 - - -
polyvec_matrix_pointwise_montgomery_row CVC5 - - -
polyvec_matrix_pointwise_montgomery_yvec BITWUZLA - - -
polyvec_matrix_pointwise_montgomery_yvec CVC5 - - -
polyveck_caddq BITWUZLA - - -
polyveck_caddq CVC5 - - -
polyveck_chknorm BITWUZLA - - -
polyveck_chknorm CVC5 - - -
polyveck_decompose BITWUZLA - - -
polyveck_decompose CVC5 - - -
polyveck_invntt_tomont BITWUZLA - - -
polyveck_invntt_tomont CVC5 - - -
polyveck_ntt BITWUZLA - - -
polyveck_ntt CVC5 - - -
polyveck_pack_eta CVC5 - - -
polyveck_pack_w1 CVC5 - - -
polyveck_unpack_eta CVC5 - - -
polyvecl_chknorm BITWUZLA - - -
polyvecl_chknorm CVC5 - - -
polyvecl_ntt BITWUZLA - - -
polyvecl_ntt CVC5 - - -
polyvecl_pack_eta CVC5 - - -
polyvecl_pointwise_acc_montgomery BITWUZLA - - -
polyvecl_pointwise_acc_montgomery CVC5 - - -
polyvecl_pointwise_acc_montgomery_c BITWUZLA - - -
polyvecl_pointwise_acc_montgomery_c CVC5 - - -
polyvecl_pointwise_acc_montgomery_native BITWUZLA - - -
polyvecl_pointwise_acc_montgomery_native CVC5 - - -
polyvecl_uniform_gamma1 CVC5 - - -
polyvecl_uniform_gamma1_serial BITWUZLA - - -
polyvecl_uniform_gamma1_serial CVC5 - - -
polyvecl_unpack_eta CVC5 - - -
polyvecl_unpack_z CVC5 - - -
polyw1_pack CVC5 - - -
polyz_pack CVC5 - - -
polyz_unpack CVC5 - - -
polyz_unpack_19_native_aarch64 CVC5 - - -
polyz_unpack_c CVC5 - - -
polyz_unpack_native CVC5 - - -
rej_eta CVC5 - - -
rej_eta_c CVC5 - - -
rej_eta_c Z3 ⚠️ 29s 5s +480%
rej_eta_native CVC5 - - -
rej_eta_native Z3 ⚠️ 193s 4s +4725%
rej_uniform CVC5 - - -
rej_uniform_c CVC5 - - -
rej_uniform_native CVC5 - - -
sig_unpack_hints CVC5 - - -
sign_keypair_internal BITWUZLA - - -
sign_keypair_internal CVC5 - - -
sign_pk_from_sk BITWUZLA - - -
sign_pk_from_sk CVC5 - - -
sign_signature_internal BITWUZLA - - -
sign_signature_internal CVC5 - - -
sign_verify_internal BITWUZLA - - -
sign_verify_internal CVC5 - - -
sk_s1hat_get_poly CVC5 - - -
sk_s2hat_get_poly CVC5 - - -
sk_t0hat_get_poly CVC5 - - -
unpack_pk_t1 CVC5 - - -
unpack_sk BITWUZLA - - -
unpack_sk CVC5 - - -
unpack_sk_s1hat CVC5 - - -
unpack_sk_s2hat CVC5 - - -
unpack_sk_t0hat BITWUZLA - - -
unpack_sk_t0hat CVC5 - - -
yvec_get_poly CVC5 - - -
yvec_init CVC5 - - -
Full Results (594 proofs)
Proof Solver Status Current Previous Change
**TOTAL** - ⚠️ 19672s 1914s +927.8%
polyveck_pack_eta BITWUZLA 1746s - new
poly_decompose_native BITWUZLA 1352s - new
polyvecl_pack_eta BITWUZLA 1013s - new
fqmul CVC5 1002s - new
poly_use_hint BITWUZLA 903s - new
polyvecl_uniform_gamma1 BITWUZLA 883s - new
poly_caddq_native BITWUZLA 753s - new
poly_add BITWUZLA 747s - new
mld_sample_s1_s2_serial BITWUZLA 738s - new
mld_sample_s1_s2 BITWUZLA 689s - new
polyveck_unpack_eta BITWUZLA 677s - new
polyveck_pack_w1 BITWUZLA 649s - new
polyvec_matrix_pointwise_montgomery_row BITWUZLA 506s - new
polyvecl_unpack_eta BITWUZLA 459s - new
mld_ntt_butterfly_block Z3 ⚠️ 426s 16s +2562%
poly_invntt_tomont_c BITWUZLA 420s - new
polyvecl_unpack_z BITWUZLA 383s - new
unpack_sk_s2hat BITWUZLA 368s - new
polyvecl_pointwise_acc_montgomery_c Z3 341s 284s +20%
unpack_sk_s1hat BITWUZLA 315s - new
poly_pointwise_montgomery_c BITWUZLA 279s - new
poly_pointwise_montgomery_native BITWUZLA 251s - new
nttunpack_native_x86_64 BITWUZLA 207s - new
poly_ntt_c BITWUZLA 207s - new
rej_eta_native Z3 ⚠️ 193s 4s +4725%
polyvec_matrix_expand Z3 161s 149s +8%
rej_uniform_native Z3 128s 124s +3%
poly_uniform_gamma1_4x BITWUZLA 126s - new
pack_sk_rho_key_tr_s2 BITWUZLA 109s - new
poly_uniform BITWUZLA 105s - new
poly_pointwise_montgomery_c Z3 100s 94s +6%
mld_invntt_layer Z3 98s 92s +7%
poly_uniform_eta BITWUZLA 91s - new
poly_use_hint_c BITWUZLA 89s - new
poly_invntt_tomont_native BITWUZLA 77s - new
poly_decompose_c BITWUZLA 72s - new
sign_verify_internal Z3 72s 71s +1%
mld_attempt_signature_generation Z3 71s 67s +6%
yvec_get_poly BITWUZLA 71s - new
mld_ct_memcmp Z3 70s 69s +1%
fqmul Z3 ⚠️ 60s 31s +94%
poly_ntt_native BITWUZLA 55s - new
mld_invntt_layer BITWUZLA 54s - new
sign_signature_internal Z3 49s 45s +9%
mld_ntt_layer BITWUZLA 45s - new
sk_s2hat_get_poly BITWUZLA 45s - new
sk_t0hat_get_poly BITWUZLA 44s - new
ntt_native_x86_64 BITWUZLA 41s - new
polyz_unpack_native BITWUZLA 40s - new
sk_s1hat_get_poly BITWUZLA 40s - new
poly_challenge BITWUZLA 38s - new
poly_sub BITWUZLA 36s - new
intt_native_x86_64 BITWUZLA 35s - new
poly_power2round BITWUZLA 35s - new
polyvec_matrix_pointwise_montgomery_yvec Z3 30s 29s +3%
fqmul BITWUZLA 29s - new
rej_eta_c Z3 ⚠️ 29s 5s +480%
keccakf1600x4_permute_native CVC5 28s - new
poly_caddq_c BITWUZLA 26s - new
polyvec_matrix_expand_serial Z3 26s 24s +8%
keccakf1600x4_permute_native BITWUZLA 24s - new
poly_pointwise_montgomery BITWUZLA 24s - new
keccakf1600x4_permute_native Z3 22s 23s -4%
keccak_absorb_once_x4 Z3 ⚠️ 21s 9s +133%
rej_uniform_c Z3 21s 17s +24%
unpack_pk_t1 BITWUZLA 21s - new
mld_ntt_butterfly_block BITWUZLA 20s - new
mld_check_pct BITWUZLA 19s - new
poly_uniform_eta_4x Z3 19s 13s +46%
yvec_init BITWUZLA 19s - new
sig_unpack_hints BITWUZLA 18s - new
poly_chknorm_c Z3 17s 15s +13%
poly_decompose BITWUZLA 17s - new
rej_eta Z3 17s 3s +467%
compute_pack_t0_t1 Z3 16s 15s +7%
poly_chknorm_c BITWUZLA 16s - new
rej_uniform Z3 16s 16s +0%
polyt0_unpack Z3 15s 17s -12%
keccak_absorb_once_x4 CVC5 14s - new
mld_check_pct Z3 14s 13s +8%
pack_sk_s1 BITWUZLA 14s - new
poly_decompose_32_native_aarch64 BITWUZLA 14s - new
poly_uniform_4x Z3 13s 12s +8%
polyveck_decompose Z3 13s 16s -19%
pointwise_native_x86_64 BITWUZLA 12s - new
poly_add Z3 12s 11s +9%
poly_reduce BITWUZLA 12s - new
polyt0_pack BITWUZLA 12s - new
mld_check_pct CVC5 11s - new
poly_ntt BITWUZLA 11s - new
polyveck_chknorm Z3 11s 10s +10%
sign Z3 11s 8s +38%
keccak_absorb_once_x4 BITWUZLA 10s - new
poly_invntt_tomont BITWUZLA 10s - new
poly_shiftl BITWUZLA 10s - new
polyveck_ntt Z3 10s 10s +0%
sign_open CVC5 10s - new
keccak_absorb Z3 9s 7s +29%
mld_keccakf1600_permute_c CVC5 9s - new
mld_ntt_layer Z3 9s 45s -80%
poly_invntt_tomont_c Z3 9s 7s +29%
keccak_squeeze CVC5 8s - new
keccak_squeezeblocks_x4 CVC5 8s - new
mld_sample_s1_s2 Z3 8s 4s +100%
pointwise_acc_native_aarch64 Z3 8s 8s +0%
poly_chknorm_native BITWUZLA 8s - new
poly_power2round Z3 8s 10s -20%
polyveck_invntt_tomont Z3 8s 6s +33%
rej_uniform_native BITWUZLA 8s - new
sign_signature_pre_hash_shake256 CVC5 8s - new
mld_compute_pack_z Z3 7s 10s -30%
mld_keccakf1600_permute_c BITWUZLA 7s - new
mld_prepare_domain_separation_prefix CVC5 7s - new
pack_sig_c BITWUZLA 7s - new
pointwise_native_aarch64 Z3 7s 3s +133%
poly_caddq BITWUZLA 7s - new
poly_decompose_c Z3 7s 8s -12%
polyveck_caddq Z3 7s 8s -12%
polyvecl_ntt Z3 7s 6s +17%
polyz_unpack BITWUZLA 7s - new
polyz_unpack_c Z3 7s 5s +40%
sig_unpack_hints Z3 7s 3s +133%
sign BITWUZLA 7s - new
sign_open BITWUZLA 7s - new
sign_pk_from_sk Z3 7s 6s +17%
sign_signature CVC5 7s - new
sign_signature_pre_hash_internal CVC5 7s - new
caddq Z3 6s 3s +100%
fqscale Z3 6s 3s +100%
keccak_f1600_x4_native_aarch64_v8a_v84a_scalar_hybrid CVC5 6s - new
keccak_squeezeblocks_x4 Z3 6s 6s +0%
mld_ct_get_optblocker_u8 Z3 6s 2s +200%
mld_h CVC5 6s - new
mld_h Z3 6s 7s -14%
mld_keccakf1600_extract_bytes CVC5 6s - new
mld_keccakf1600_permute_c Z3 6s 8s -25%
pack_sig_h CVC5 6s - new
pointwise_native_aarch64 BITWUZLA 6s - new
poly_chknorm_native_aarch64 Z3 6s 3s +100%
poly_invntt_tomont Z3 6s 5s +20%
poly_ntt_c Z3 6s 2s +200%
poly_permute_bitrev_to_custom_optional_native Z3 6s 3s +100%
poly_use_hint_native_aarch64 BITWUZLA 6s - new
polyeta_pack BITWUZLA 6s - new
polyeta_unpack Z3 6s 3s +100%
polyt0_unpack BITWUZLA 6s - new
polyt1_pack Z3 6s 2s +200%
polyveck_pack_w1 Z3 6s 2s +200%
polyvecl_chknorm Z3 6s 6s +0%
polyvecl_unpack_z Z3 6s 4s +50%
rej_eta_c BITWUZLA 6s - new
rej_uniform_c BITWUZLA 6s - new
shake256x4_absorb_once Z3 6s 3s +100%
sign CVC5 6s - new
sign_keypair CVC5 6s - new
sign_keypair Z3 6s 4s +50%
decompose BITWUZLA 5s - new
keccak_absorb CVC5 5s - new
keccak_f1600_x4_native_aarch64_v8a_scalar_hybrid CVC5 5s - new
keccak_f1600_x4_native_aarch64_v8a_v84a_scalar_hybrid Z3 5s 2s +150%
keccak_finalize BITWUZLA 5s - new
keccak_init CVC5 5s - new
keccak_squeeze BITWUZLA 5s - new
keccak_squeezeblocks_x4 BITWUZLA 5s - new
keccakf1600_extract_bytes (big endian) Z3 5s 4s +25%
keccakf1600_permute BITWUZLA 5s - new
keccakf1600_permute_native BITWUZLA 5s - new
keccakf1600_xor_bytes CVC5 5s - new
keccakf1600_xor_bytes Z3 5s 2s +150%
keccakf1600x4_extract_bytes BITWUZLA 5s - new
mld_ct_cmask_nonzero_u32 Z3 5s 4s +25%
mld_ct_cmask_nonzero_u8 Z3 5s 4s +25%
mld_ct_memcmp BITWUZLA 5s - new
mld_h BITWUZLA 5s - new
mld_sample_s1_s2_serial Z3 5s 3s +67%
mld_value_barrier_u32 Z3 5s 3s +67%
montgomery_reduce Z3 5s 4s +25%
ntt_native_aarch64 BITWUZLA 5s - new
ntt_native_x86_64 Z3 5s 5s +0%
pointwise_acc_native_x86_64 Z3 5s 5s +0%
poly_caddq_native_aarch64 Z3 5s 2s +150%
poly_challenge Z3 5s 7s -29%
poly_chknorm_native Z3 5s 3s +67%
poly_ntt_native Z3 5s 3s +67%
poly_pointwise_montgomery_native Z3 5s 3s +67%
poly_shiftl Z3 5s 5s +0%
poly_uniform Z3 5s 3s +67%
poly_uniform_eta Z3 5s 4s +25%
poly_uniform_gamma1 BITWUZLA 5s - new
poly_use_hint_c Z3 5s 3s +67%
poly_use_hint_native_aarch64 Z3 5s 3s +67%
polyt0_pack Z3 5s 6s -17%
polyt1_unpack BITWUZLA 5s - new
polyvec_matrix_pointwise_montgomery_row Z3 5s 2s +150%
polyz_unpack_17_native_aarch64 Z3 5s 6s -17%
polyz_unpack_19_native_aarch64 BITWUZLA 5s - new
shake256 BITWUZLA 5s - new
shake256_absorb BITWUZLA 5s - new
shake256_absorb CVC5 5s - new
shake256_finalize CVC5 5s - new
sign_keypair BITWUZLA 5s - new
sign_open Z3 5s 4s +25%
sign_signature BITWUZLA 5s - new
sign_signature_extmu BITWUZLA 5s - new
sign_signature_pre_hash_shake256 BITWUZLA 5s - new
sign_signature_pre_hash_shake256 Z3 5s 3s +67%
sign_verify CVC5 5s - new
sign_verify_pre_hash_shake256 Z3 5s 2s +150%
sk_s2hat_get_poly Z3 5s 2s +150%
sk_t0hat_get_poly Z3 5s 2s +150%
unpack_sk Z3 5s 4s +25%
unpack_sk_t0hat Z3 5s 5s +0%
use_hint Z3 5s 2s +150%
caddq BITWUZLA 4s - new
fqscale CVC5 4s - new
intt_native_aarch64 BITWUZLA 4s - new
keccak_absorb BITWUZLA 4s - new
keccak_f1600_x1_native_aarch64_v84a Z3 4s 1s +300%
keccak_f1600_x4_native_avx2 BITWUZLA 4s - new
keccak_f1600_x4_native_avx2 Z3 4s 5s -20%
keccak_init Z3 4s 4s +0%
keccakf1600x4_permute CVC5 4s - new
make_hint Z3 4s 3s +33%
mld_ct_sel_int32 CVC5 4s - new
mld_ct_sel_int32 Z3 4s 3s +33%
mld_keccakf1600_extract_bytes Z3 4s 3s +33%
mld_keccakf1600x4_extract_bytes_c BITWUZLA 4s - new
mld_keccakf1600x4_xor_bytes_c BITWUZLA 4s - new
mld_keccakf1600x4_xor_bytes_c CVC5 4s - new
mld_polymat_expand_entry BITWUZLA 4s - new
mld_polymat_expand_entry Z3 4s 4s +0%
mld_prepare_domain_separation_prefix BITWUZLA 4s - new
mld_prepare_domain_separation_prefix Z3 4s 4s +0%
mld_value_barrier_u8 BITWUZLA 4s - new
montgomery_reduce BITWUZLA 4s - new
pack_sig_c Z3 4s 3s +33%
pack_sig_h BITWUZLA 4s - new
poly_caddq Z3 4s 3s +33%
poly_caddq_c Z3 4s 4s +0%
poly_caddq_native Z3 4s 2s +100%
poly_caddq_native_aarch64 BITWUZLA 4s - new
poly_chknorm BITWUZLA 4s - new
poly_chknorm Z3 4s 3s +33%
poly_decompose_32_native_aarch64 Z3 4s 5s -20%
poly_decompose_88_native_aarch64 CVC5 4s - new
poly_invntt_tomont_native Z3 4s 3s +33%
poly_permute_bitrev_to_custom_optional_native BITWUZLA 4s - new
poly_sub Z3 4s 1s +300%
poly_uniform_gamma1 Z3 4s 4s +0%
poly_use_hint Z3 4s 6s -33%
poly_use_hint_native Z3 4s 3s +33%
polyeta_unpack BITWUZLA 4s - new
polyt1_unpack Z3 4s 5s -20%
polyveck_reduce BITWUZLA 4s - new
polyveck_unpack_eta Z3 4s 4s +0%
polyvecl_pack_eta Z3 4s 4s +0%
polyvecl_pointwise_acc_montgomery_native Z3 4s 5s -20%
polyvecl_uniform_gamma1 Z3 4s 4s +0%
polyvecl_uniform_gamma1_serial Z3 4s 4s +0%
polyw1_pack BITWUZLA 4s - new
polyz_unpack_19_native_aarch64 Z3 4s 3s +33%
polyz_unpack_c BITWUZLA 4s - new
power2round CVC5 4s - new
reduce32 BITWUZLA 4s - new
shake128_squeeze CVC5 4s - new
shake128x4_absorb_once Z3 4s 4s +0%
shake128x4_squeezeblocks CVC5 4s - new
shake256 CVC5 4s - new
shake256 Z3 4s 3s +33%
sign_keypair_internal Z3 4s 6s -33%
sign_signature Z3 4s 5s -20%
sign_signature_extmu CVC5 4s - new
sign_signature_extmu Z3 4s 3s +33%
sign_verify Z3 4s 3s +33%
sign_verify_extmu BITWUZLA 4s - new
sign_verify_extmu CVC5 4s - new
sign_verify_pre_hash_internal CVC5 4s - new
sign_verify_pre_hash_internal Z3 4s 3s +33%
sign_verify_pre_hash_shake256 CVC5 4s - new
unpack_sk_s1hat Z3 4s 2s +100%
use_hint BITWUZLA 4s - new
use_hint CVC5 4s - new
yvec_get_poly Z3 4s 5s -20%
decompose CVC5 3s - new
decompose Z3 3s 5s -40%
intt_native_aarch64 Z3 3s 2s +50%
intt_native_x86_64 Z3 3s 2s +50%
keccak_f1600_x1_native_aarch64 BITWUZLA 3s - new
keccak_f1600_x1_native_aarch64 CVC5 3s - new
keccak_f1600_x1_native_aarch64 Z3 3s 2s +50%
keccak_f1600_x4_native_aarch64_v84a BITWUZLA 3s - new
keccak_f1600_x4_native_aarch64_v84a CVC5 3s - new
keccak_f1600_x4_native_avx2 CVC5 3s - new
keccak_init BITWUZLA 3s - new
keccakf1600_xor_bytes (big endian) BITWUZLA 3s - new
keccakf1600_xor_bytes (big endian) Z3 3s 4s -25%
keccakf1600x4_extract_bytes CVC5 3s - new
keccakf1600x4_extract_bytes_native CVC5 3s - new
keccakf1600x4_extract_bytes_native Z3 3s 1s +200%
keccakf1600x4_xor_bytes BITWUZLA 3s - new
keccakf1600x4_xor_bytes Z3 3s 3s +0%
keccakf1600x4_xor_bytes_native BITWUZLA 3s - new
keccakf1600x4_xor_bytes_native CVC5 3s - new
keccakf1600x4_xor_bytes_native Z3 3s 1s +200%
mld_ct_cmask_neg_i32 Z3 3s 2s +50%
mld_ct_cmask_nonzero_u32 BITWUZLA 3s - new
mld_ct_cmask_nonzero_u32 CVC5 3s - new
mld_ct_cmask_nonzero_u8 BITWUZLA 3s - new
mld_ct_cmask_nonzero_u8 CVC5 3s - new
mld_ct_get_optblocker_u32 CVC5 3s - new
mld_ct_get_optblocker_u32 Z3 3s 4s -25%
mld_ct_get_optblocker_u8 BITWUZLA 3s - new
mld_keccakf1600_extract_bytes BITWUZLA 3s - new
mld_keccakf1600x4_extract_bytes_c CVC5 3s - new
mld_value_barrier_u32 BITWUZLA 3s - new
mld_value_barrier_u32 CVC5 3s - new
mld_value_barrier_u8 CVC5 3s - new
ntt_native_aarch64 Z3 3s 2s +50%
nttunpack_native_x86_64 Z3 3s 2s +50%
pack_sig_c CVC5 3s - new
pack_sig_h Z3 3s 2s +50%
pack_sig_z BITWUZLA 3s - new
pack_sig_z Z3 3s 3s +0%
pack_sk_rho_key_tr_s2 Z3 3s 2s +50%
pack_sk_s1 Z3 3s 2s +50%
pointwise_native_x86_64 Z3 3s 2s +50%
poly_chknorm_native_aarch64 BITWUZLA 3s - new
poly_decompose Z3 3s 5s -40%
poly_decompose_88_native_aarch64 Z3 3s 2s +50%
poly_decompose_native Z3 3s 4s -25%
poly_permute_bitrev_to_custom_optional BITWUZLA 3s - new
poly_pointwise_montgomery Z3 3s 2s +50%
poly_reduce Z3 3s 1s +200%
poly_uniform_gamma1_4x Z3 3s 4s -25%
polyeta_pack Z3 3s 4s -25%
polyt1_pack BITWUZLA 3s - new
polyvecl_pointwise_acc_montgomery Z3 3s 1s +200%
polyvecl_unpack_eta Z3 3s 2s +50%
polyw1_pack Z3 3s 1s +200%
polyz_pack Z3 3s 2s +50%
polyz_unpack_native Z3 3s 2s +50%
power2round BITWUZLA 3s - new
power2round Z3 3s 1s +200%
reduce32 CVC5 3s - new
reduce32 Z3 3s 2s +50%
rej_eta BITWUZLA 3s - new
rej_eta_native BITWUZLA 3s - new
shake128_absorb CVC5 3s - new
shake128_init Z3 3s 3s +0%
shake128_release BITWUZLA 3s - new
shake128_release CVC5 3s - new
shake128_squeeze BITWUZLA 3s - new
shake128x4_absorb_once CVC5 3s - new
shake128x4_squeezeblocks BITWUZLA 3s - new
shake128x4_squeezeblocks Z3 3s 2s +50%
shake256_init CVC5 3s - new
shake256_release BITWUZLA 3s - new
shake256_release CVC5 3s - new
shake256_squeeze CVC5 3s - new
shake256x4_absorb_once BITWUZLA 3s - new
shake256x4_absorb_once CVC5 3s - new
shake256x4_squeezeblocks CVC5 3s - new
sign_signature_pre_hash_internal BITWUZLA 3s - new
sign_signature_pre_hash_internal Z3 3s 3s +0%
sign_verify_extmu Z3 3s 3s +0%
sign_verify_pre_hash_internal BITWUZLA 3s - new
sign_verify_pre_hash_shake256 BITWUZLA 3s - new
sys_check_capability Z3 3s 1s +200%
unpack_pk_t1 Z3 3s 2s +50%
yvec_init Z3 3s 3s +0%
caddq CVC5 2s - new
fqscale BITWUZLA 2s - new
keccak_f1600_x1_native_aarch64_v84a BITWUZLA 2s - new
keccak_f1600_x1_native_aarch64_v84a CVC5 2s - new
keccak_f1600_x4_native_aarch64_v8a_scalar_hybrid BITWUZLA 2s - new
keccak_f1600_x4_native_aarch64_v8a_scalar_hybrid Z3 2s 3s -33%
keccak_finalize CVC5 2s - new
keccak_finalize Z3 2s 4s -50%
keccak_squeeze Z3 2s 2s +0%
keccakf1600_extract_bytes (big endian) BITWUZLA 2s - new
keccakf1600_extract_bytes (big endian) CVC5 2s - new
keccakf1600_permute CVC5 2s - new
keccakf1600_permute Z3 2s 3s -33%
keccakf1600_permute_native CVC5 2s - new
keccakf1600_xor_bytes BITWUZLA 2s - new
keccakf1600_xor_bytes (big endian) CVC5 2s - new
keccakf1600x4_extract_bytes Z3 2s 1s +100%
keccakf1600x4_extract_bytes_native BITWUZLA 2s - new
keccakf1600x4_permute BITWUZLA 2s - new
keccakf1600x4_permute Z3 2s 3s -33%
keccakf1600x4_xor_bytes CVC5 2s - new
make_hint BITWUZLA 2s - new
make_hint CVC5 2s - new
mld_ct_abs_i32 BITWUZLA 2s - new
mld_ct_abs_i32 Z3 2s 1s +100%
mld_ct_cmask_neg_i32 BITWUZLA 2s - new
mld_ct_cmask_neg_i32 CVC5 2s - new
mld_ct_get_optblocker_i64 BITWUZLA 2s - new
mld_ct_get_optblocker_i64 CVC5 2s - new
mld_keccakf1600x4_extract_bytes_c Z3 2s 2s +0%
mld_keccakf1600x4_xor_bytes_c Z3 2s 3s -33%
mld_value_barrier_i64 BITWUZLA 2s - new
mld_value_barrier_i64 CVC5 2s - new
mld_value_barrier_u8 Z3 2s 1s +100%
montgomery_reduce CVC5 2s - new
poly_decompose_88_native_aarch64 BITWUZLA 2s - new
poly_ntt Z3 2s 3s -33%
poly_permute_bitrev_to_custom_optional Z3 2s 3s -33%
polyveck_pack_eta Z3 2s 1s +100%
polyveck_reduce Z3 2s 2s +0%
polyz_pack BITWUZLA 2s - new
polyz_unpack Z3 2s 3s -33%
polyz_unpack_17_native_aarch64 BITWUZLA 2s - new
polyz_unpack_17_native_aarch64 CVC5 2s - new
rej_uniform BITWUZLA 2s - new
shake128_absorb BITWUZLA 2s - new
shake128_absorb Z3 2s 2s +0%
shake128_finalize CVC5 2s - new
shake128_finalize Z3 2s 4s -50%
shake128_init BITWUZLA 2s - new
shake128_init CVC5 2s - new
shake128_release Z3 2s 2s +0%
shake128_squeeze Z3 2s 2s +0%
shake128x4_absorb_once BITWUZLA 2s - new
shake256_absorb Z3 2s 2s +0%
shake256_finalize BITWUZLA 2s - new
shake256_finalize Z3 2s 1s +100%
shake256_init BITWUZLA 2s - new
shake256_init Z3 2s 3s -33%
shake256_squeeze Z3 2s 3s -33%
shake256x4_squeezeblocks BITWUZLA 2s - new
shake256x4_squeezeblocks Z3 2s 2s +0%
sign_verify BITWUZLA 2s - new
sk_s1hat_get_poly Z3 2s 2s +0%
sys_check_capability BITWUZLA 2s - new
sys_check_capability CVC5 2s - new
unpack_sk_s2hat Z3 2s 2s +0%
compute_pack_t0_t1 BITWUZLA - - -
compute_pack_t0_t1 CVC5 - - -
intt_native_aarch64 CVC5 - - -
intt_native_x86_64 CVC5 - - -
keccak_f1600_x4_native_aarch64_v84a Z3 1s 2s -50%
keccak_f1600_x4_native_aarch64_v8a_v84a_scalar_hybrid BITWUZLA 1s - new
keccakf1600_permute_native Z3 1s 4s -75%
mld_attempt_signature_generation BITWUZLA - - -
mld_attempt_signature_generation CVC5 - - -
mld_compute_pack_z BITWUZLA - - -
mld_compute_pack_z CVC5 - - -
mld_ct_abs_i32 CVC5 1s - new
mld_ct_get_optblocker_i64 Z3 1s 1s +0%
mld_ct_get_optblocker_u32 BITWUZLA 1s - new
mld_ct_get_optblocker_u8 CVC5 1s - new
mld_ct_memcmp CVC5 - - -
mld_ct_sel_int32 BITWUZLA 1s - new
mld_invntt_layer CVC5 - - -
mld_ntt_butterfly_block CVC5 - - -
mld_ntt_layer CVC5 - - -
mld_polymat_expand_entry CVC5 - - -
mld_sample_s1_s2 CVC5 - - -
mld_sample_s1_s2_serial CVC5 - - -
mld_value_barrier_i64 Z3 1s 3s -67%
ntt_native_aarch64 CVC5 - - -
ntt_native_x86_64 CVC5 - - -
nttunpack_native_x86_64 CVC5 - - -
pack_sig_z CVC5 - - -
pack_sk_rho_key_tr_s2 CVC5 - - -
pack_sk_s1 CVC5 - - -
pointwise_acc_native_aarch64 BITWUZLA - - -
pointwise_acc_native_aarch64 CVC5 - - -
pointwise_acc_native_x86_64 BITWUZLA - - -
pointwise_acc_native_x86_64 CVC5 - - -
pointwise_native_aarch64 CVC5 - - -
pointwise_native_x86_64 CVC5 - - -
poly_add CVC5 - - -
poly_caddq CVC5 - - -
poly_caddq_c CVC5 - - -
poly_caddq_native CVC5 - - -
poly_caddq_native_aarch64 CVC5 - - -
poly_challenge CVC5 - - -
poly_chknorm CVC5 - - -
poly_chknorm_c CVC5 - - -
poly_chknorm_native CVC5 - - -
poly_chknorm_native_aarch64 CVC5 - - -
poly_decompose CVC5 - - -
poly_decompose_32_native_aarch64 CVC5 - - -
poly_decompose_c CVC5 - - -
poly_decompose_native CVC5 - - -
poly_invntt_tomont CVC5 - - -
poly_invntt_tomont_c CVC5 - - -
poly_invntt_tomont_native CVC5 - - -
poly_ntt CVC5 - - -
poly_ntt_c CVC5 - - -
poly_ntt_native CVC5 - - -
poly_permute_bitrev_to_custom_optional CVC5 - - -
poly_permute_bitrev_to_custom_optional_native CVC5 - - -
poly_pointwise_montgomery CVC5 - - -
poly_pointwise_montgomery_c CVC5 - - -
poly_pointwise_montgomery_native CVC5 - - -
poly_power2round CVC5 - - -
poly_reduce CVC5 - - -
poly_shiftl CVC5 - - -
poly_sub CVC5 - - -
poly_uniform CVC5 - - -
poly_uniform_4x BITWUZLA - - -
poly_uniform_4x CVC5 - - -
poly_uniform_eta CVC5 - - -
poly_uniform_eta_4x BITWUZLA - - -
poly_uniform_eta_4x CVC5 - - -
poly_uniform_gamma1 CVC5 - - -
poly_uniform_gamma1_4x CVC5 - - -
poly_use_hint CVC5 - - -
poly_use_hint_c CVC5 - - -
poly_use_hint_native BITWUZLA - - -
poly_use_hint_native CVC5 - - -
poly_use_hint_native_aarch64 CVC5 - - -
polyeta_pack CVC5 - - -
polyeta_unpack CVC5 - - -
polyt0_pack CVC5 - - -
polyt0_unpack CVC5 - - -
polyt1_pack CVC5 - - -
polyt1_unpack CVC5 - - -
polyvec_matrix_expand BITWUZLA - - -
polyvec_matrix_expand CVC5 - - -
polyvec_matrix_expand_serial BITWUZLA - - -
polyvec_matrix_expand_serial CVC5 - - -
polyvec_matrix_pointwise_montgomery_row CVC5 - - -
polyvec_matrix_pointwise_montgomery_yvec BITWUZLA - - -
polyvec_matrix_pointwise_montgomery_yvec CVC5 - - -
polyveck_caddq BITWUZLA - - -
polyveck_caddq CVC5 - - -
polyveck_chknorm BITWUZLA - - -
polyveck_chknorm CVC5 - - -
polyveck_decompose BITWUZLA - - -
polyveck_decompose CVC5 - - -
polyveck_invntt_tomont BITWUZLA - - -
polyveck_invntt_tomont CVC5 - - -
polyveck_ntt BITWUZLA - - -
polyveck_ntt CVC5 - - -
polyveck_pack_eta CVC5 - - -
polyveck_pack_w1 CVC5 - - -
polyveck_reduce CVC5 1s - new
polyveck_unpack_eta CVC5 - - -
polyvecl_chknorm BITWUZLA - - -
polyvecl_chknorm CVC5 - - -
polyvecl_ntt BITWUZLA - - -
polyvecl_ntt CVC5 - - -
polyvecl_pack_eta CVC5 - - -
polyvecl_pointwise_acc_montgomery BITWUZLA - - -
polyvecl_pointwise_acc_montgomery CVC5 - - -
polyvecl_pointwise_acc_montgomery_c BITWUZLA - - -
polyvecl_pointwise_acc_montgomery_c CVC5 - - -
polyvecl_pointwise_acc_montgomery_native BITWUZLA - - -
polyvecl_pointwise_acc_montgomery_native CVC5 - - -
polyvecl_uniform_gamma1 CVC5 - - -
polyvecl_uniform_gamma1_serial BITWUZLA - - -
polyvecl_uniform_gamma1_serial CVC5 - - -
polyvecl_unpack_eta CVC5 - - -
polyvecl_unpack_z CVC5 - - -
polyw1_pack CVC5 - - -
polyz_pack CVC5 - - -
polyz_unpack CVC5 - - -
polyz_unpack_19_native_aarch64 CVC5 - - -
polyz_unpack_c CVC5 - - -
polyz_unpack_native CVC5 - - -
rej_eta CVC5 - - -
rej_eta_c CVC5 - - -
rej_eta_native CVC5 - - -
rej_uniform CVC5 - - -
rej_uniform_c CVC5 - - -
rej_uniform_native CVC5 - - -
shake128_finalize BITWUZLA 1s - new
shake256_release Z3 1s 2s -50%
shake256_squeeze BITWUZLA 1s - new
sig_unpack_hints CVC5 - - -
sign_keypair_internal BITWUZLA - - -
sign_keypair_internal CVC5 - - -
sign_pk_from_sk BITWUZLA - - -
sign_pk_from_sk CVC5 - - -
sign_signature_internal BITWUZLA - - -
sign_signature_internal CVC5 - - -
sign_verify_internal BITWUZLA - - -
sign_verify_internal CVC5 - - -
sk_s1hat_get_poly CVC5 - - -
sk_s2hat_get_poly CVC5 - - -
sk_t0hat_get_poly CVC5 - - -
unpack_pk_t1 CVC5 - - -
unpack_sk BITWUZLA - - -
unpack_sk CVC5 - - -
unpack_sk_s1hat CVC5 - - -
unpack_sk_s2hat CVC5 - - -
unpack_sk_t0hat BITWUZLA - - -
unpack_sk_t0hat CVC5 - - -
yvec_get_poly CVC5 - - -
yvec_init CVC5 - - -

Signed-off-by: Hanno Becker <beckphan@amazon.co.uk>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants