Skip to content

[WIP] riscv64: Add RVV assembly arithmetic backend and Zbb Keccak - #1534

Draft
mkannwischer wants to merge 1 commit into
mainfrom
rvv-asm
Draft

mkannwischer wants to merge 1 commit into
mainfrom
rvv-asm

Conversation

@mkannwischer

Copy link
Copy Markdown
Contributor

Work in progress. I'm not planning to merge this before we have HOL-Light proofs for all asm.

Signed-off-by: Matthias J. Kannwischer <matthias@zerorisc.com>

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mac Mini (M1, 2020) benchmarks (opt)

Details
Benchmark suite Current: 370ae03 Previous: e71e3d6 Ratio
ML-DSA-44 keypair 47132 cycles 47129 cycles 1.00
ML-DSA-44 sign 131368 cycles 131425 cycles 1.00
ML-DSA-44 verify 47320 cycles 47390 cycles 1.00
ML-DSA-65 keypair 81742 cycles 81748 cycles 1.00
ML-DSA-65 sign 215196 cycles 215186 cycles 1.00
ML-DSA-65 verify 79295 cycles 79288 cycles 1.00
ML-DSA-87 keypair 133522 cycles 133556 cycles 1.00
ML-DSA-87 sign 277730 cycles 277805 cycles 1.00
ML-DSA-87 verify 134231 cycles 134286 cycles 1.00

This comment was automatically generated by workflow using github-action-benchmark.

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mac Mini (M1, 2020) benchmarks (no-opt)

Details
Benchmark suite Current: 370ae03 Previous: e71e3d6 Ratio
ML-DSA-44 keypair 114063 cycles 113518 cycles 1.00
ML-DSA-44 sign 404971 cycles 402762 cycles 1.01
ML-DSA-44 verify 120686 cycles 120063 cycles 1.01
ML-DSA-65 keypair 194493 cycles 193975 cycles 1.00
ML-DSA-65 sign 654652 cycles 652467 cycles 1.00
ML-DSA-65 verify 193546 cycles 192965 cycles 1.00
ML-DSA-87 keypair 320074 cycles 320042 cycles 1.00
ML-DSA-87 sign 831407 cycles 831222 cycles 1.00
ML-DSA-87 verify 326864 cycles 326873 cycles 1.00

This comment was automatically generated by workflow using github-action-benchmark.

@oqs-bot oqs-bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Intel Xeon 4th gen (c7i)

Details
Benchmark suite Current: 370ae03 Previous: e71e3d6 Ratio
ML-DSA-44 keypair 43775 cycles 43917 cycles 1.00
ML-DSA-44 sign 130367 cycles 130367 cycles 1
ML-DSA-44 verify 45075 cycles 45387 cycles 0.99
ML-DSA-65 keypair 75585 cycles 75570 cycles 1.00
ML-DSA-65 sign 212460 cycles 212026 cycles 1.00
ML-DSA-65 verify 74245 cycles 74688 cycles 0.99
ML-DSA-87 keypair 123707 cycles 124103 cycles 1.00
ML-DSA-87 sign 270190 cycles 270498 cycles 1.00
ML-DSA-87 verify 119975 cycles 119984 cycles 1.00

This comment was automatically generated by workflow using github-action-benchmark.

@oqs-bot oqs-bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AMD EPYC 3rd gen (c6a)

Details
Benchmark suite Current: 370ae03 Previous: e71e3d6 Ratio
ML-DSA-44 keypair 53813 cycles 52487 cycles 1.03
ML-DSA-44 sign 161288 cycles 156573 cycles 1.03
ML-DSA-44 verify 55427 cycles 53985 cycles 1.03
ML-DSA-65 keypair 90141 cycles 89714 cycles 1.00
ML-DSA-65 sign 253019 cycles 253955 cycles 1.00
ML-DSA-65 verify 89492 cycles 90175 cycles 0.99
ML-DSA-87 keypair 144682 cycles 145538 cycles 0.99
ML-DSA-87 sign 310089 cycles 312161 cycles 0.99
ML-DSA-87 verify 138620 cycles 139544 cycles 0.99

This comment was automatically generated by workflow using github-action-benchmark.

@oqs-bot oqs-bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Performance Alert ⚠️

Possible performance regression was detected for benchmark 'AMD EPYC 3rd gen (c6a)'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 1.03.

Benchmark suite Current: 370ae03 Previous: e71e3d6 Ratio
ML-DSA-44 sign 161288 cycles 156573 cycles 1.03

This comment was automatically generated by workflow using github-action-benchmark.

@oqs-bot oqs-bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Intel Xeon 4th gen (c7i) (no-opt)

Details
Benchmark suite Current: 370ae03 Previous: e71e3d6 Ratio
ML-DSA-44 keypair 92115 cycles 91808 cycles 1.00
ML-DSA-44 sign 348405 cycles 348859 cycles 1.00
ML-DSA-44 verify 99552 cycles 99575 cycles 1.00
ML-DSA-65 keypair 155637 cycles 155557 cycles 1.00
ML-DSA-65 sign 568197 cycles 568377 cycles 1.00
ML-DSA-65 verify 159825 cycles 159593 cycles 1.00
ML-DSA-87 keypair 257727 cycles 257962 cycles 1.00
ML-DSA-87 sign 717695 cycles 720672 cycles 1.00
ML-DSA-87 verify 263530 cycles 263308 cycles 1.00

This comment was automatically generated by workflow using github-action-benchmark.

@oqs-bot oqs-bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Graviton5

Details
Benchmark suite Current: 370ae03 Previous: e71e3d6 Ratio
ML-DSA-44 keypair 52422 cycles 52392 cycles 1.00
ML-DSA-44 sign 162160 cycles 162249 cycles 1.00
ML-DSA-44 verify 54885 cycles 54852 cycles 1.00
ML-DSA-65 keypair 91172 cycles 91248 cycles 1.00
ML-DSA-65 sign 266243 cycles 266147 cycles 1.00
ML-DSA-65 verify 90071 cycles 89895 cycles 1.00
ML-DSA-87 keypair 147537 cycles 148022 cycles 1.00
ML-DSA-87 sign 334651 cycles 334920 cycles 1.00
ML-DSA-87 verify 145105 cycles 145214 cycles 1.00

This comment was automatically generated by workflow using github-action-benchmark.

@oqs-bot oqs-bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AMD EPYC 3rd gen (c6a) (no-opt)

Details
Benchmark suite Current: 370ae03 Previous: e71e3d6 Ratio
ML-DSA-44 keypair 133555 cycles 134079 cycles 1.00
ML-DSA-44 sign 520463 cycles 520117 cycles 1.00
ML-DSA-44 verify 146437 cycles 145743 cycles 1.00
ML-DSA-65 keypair 225744 cycles 225945 cycles 1.00
ML-DSA-65 sign 853054 cycles 854373 cycles 1.00
ML-DSA-65 verify 236027 cycles 236652 cycles 1.00
ML-DSA-87 keypair 369883 cycles 369602 cycles 1.00
ML-DSA-87 sign 1060334 cycles 1060668 cycles 1.00
ML-DSA-87 verify 380819 cycles 381059 cycles 1.00

This comment was automatically generated by workflow using github-action-benchmark.

@oqs-bot oqs-bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Graviton5 (no-opt)

Details
Benchmark suite Current: 370ae03 Previous: e71e3d6 Ratio
ML-DSA-44 keypair 102874 cycles 102833 cycles 1.00
ML-DSA-44 sign 373936 cycles 373838 cycles 1.00
ML-DSA-44 verify 111273 cycles 111243 cycles 1.00
ML-DSA-65 keypair 177317 cycles 177275 cycles 1.00
ML-DSA-65 sign 605232 cycles 605153 cycles 1.00
ML-DSA-65 verify 179488 cycles 179424 cycles 1.00
ML-DSA-87 keypair 284787 cycles 284813 cycles 1.00
ML-DSA-87 sign 771479 cycles 771345 cycles 1.00
ML-DSA-87 verify 294524 cycles 294541 cycles 1.00

This comment was automatically generated by workflow using github-action-benchmark.

@oqs-bot oqs-bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AMD EPYC 4th gen (c7a)

Details
Benchmark suite Current: 370ae03 Previous: e71e3d6 Ratio
ML-DSA-44 keypair 48460 cycles 47980 cycles 1.01
ML-DSA-44 sign 139213 cycles 140117 cycles 0.99
ML-DSA-44 verify 49352 cycles 49515 cycles 1.00
ML-DSA-65 keypair 84705 cycles 83412 cycles 1.02
ML-DSA-65 sign 227620 cycles 227102 cycles 1.00
ML-DSA-65 verify 82377 cycles 82294 cycles 1.00
ML-DSA-87 keypair 132724 cycles 133162 cycles 1.00
ML-DSA-87 sign 279959 cycles 280328 cycles 1.00
ML-DSA-87 verify 128946 cycles 128383 cycles 1.00

This comment was automatically generated by workflow using github-action-benchmark.

@oqs-bot oqs-bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Graviton2

Details
Benchmark suite Current: 370ae03 Previous: e71e3d6 Ratio
ML-DSA-44 keypair 113850 cycles 113498 cycles 1.00
ML-DSA-44 sign 354961 cycles 354881 cycles 1.00
ML-DSA-44 verify 117484 cycles 117471 cycles 1.00
ML-DSA-65 keypair 195781 cycles 195638 cycles 1.00
ML-DSA-65 sign 584202 cycles 584274 cycles 1.00
ML-DSA-65 verify 193301 cycles 193451 cycles 1.00
ML-DSA-87 keypair 322650 cycles 323914 cycles 1.00
ML-DSA-87 sign 748902 cycles 751562 cycles 1.00
ML-DSA-87 verify 318830 cycles 319699 cycles 1.00

This comment was automatically generated by workflow using github-action-benchmark.

@oqs-bot oqs-bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AMD EPYC 4th gen (c7a) (no-opt)

Details
Benchmark suite Current: 370ae03 Previous: e71e3d6 Ratio
ML-DSA-44 keypair 115185 cycles 115427 cycles 1.00
ML-DSA-44 sign 419469 cycles 419765 cycles 1.00
ML-DSA-44 verify 123489 cycles 123420 cycles 1.00
ML-DSA-65 keypair 195258 cycles 196076 cycles 1.00
ML-DSA-65 sign 680853 cycles 681966 cycles 1.00
ML-DSA-65 verify 199416 cycles 199874 cycles 1.00
ML-DSA-87 keypair 324683 cycles 324742 cycles 1.00
ML-DSA-87 sign 866467 cycles 868668 cycles 1.00
ML-DSA-87 verify 330497 cycles 330944 cycles 1.00

This comment was automatically generated by workflow using github-action-benchmark.

@oqs-bot oqs-bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Intel Xeon 3rd gen (c6i)

Details
Benchmark suite Current: 370ae03 Previous: e71e3d6 Ratio
ML-DSA-44 keypair 63536 cycles 63426 cycles 1.00
ML-DSA-44 sign 191648 cycles 191112 cycles 1.00
ML-DSA-44 verify 67730 cycles 67790 cycles 1.00
ML-DSA-65 keypair 110646 cycles 110071 cycles 1.01
ML-DSA-65 sign 317622 cycles 317570 cycles 1.00
ML-DSA-65 verify 111386 cycles 111953 cycles 0.99
ML-DSA-87 keypair 175583 cycles 175883 cycles 1.00
ML-DSA-87 sign 385553 cycles 384508 cycles 1.00
ML-DSA-87 verify 174625 cycles 174611 cycles 1.00

This comment was automatically generated by workflow using github-action-benchmark.

@oqs-bot oqs-bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Graviton4

Details
Benchmark suite Current: 370ae03 Previous: e71e3d6 Ratio
ML-DSA-44 keypair 68426 cycles 68371 cycles 1.00
ML-DSA-44 sign 198881 cycles 198875 cycles 1.00
ML-DSA-44 verify 70394 cycles 70457 cycles 1.00
ML-DSA-65 keypair 120586 cycles 120528 cycles 1.00
ML-DSA-65 sign 326070 cycles 326094 cycles 1.00
ML-DSA-65 verify 117151 cycles 117210 cycles 1.00
ML-DSA-87 keypair 198590 cycles 198551 cycles 1.00
ML-DSA-87 sign 422387 cycles 421845 cycles 1.00
ML-DSA-87 verify 193598 cycles 193607 cycles 1.00

This comment was automatically generated by workflow using github-action-benchmark.

@oqs-bot oqs-bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Graviton2 (no-opt)

Details
Benchmark suite Current: 370ae03 Previous: e71e3d6 Ratio
ML-DSA-44 keypair 210746 cycles 210434 cycles 1.00
ML-DSA-44 sign 757596 cycles 757076 cycles 1.00
ML-DSA-44 verify 228171 cycles 227888 cycles 1.00
ML-DSA-65 keypair 373764 cycles 373976 cycles 1.00
ML-DSA-65 sign 1242357 cycles 1242174 cycles 1.00
ML-DSA-65 verify 369353 cycles 369237 cycles 1.00
ML-DSA-87 keypair 598363 cycles 598397 cycles 1.00
ML-DSA-87 sign 1596984 cycles 1597174 cycles 1.00
ML-DSA-87 verify 610822 cycles 610754 cycles 1.00

This comment was automatically generated by workflow using github-action-benchmark.

@oqs-bot oqs-bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Intel Xeon 3rd gen (c6i) (no-opt)

Details
Benchmark suite Current: 370ae03 Previous: e71e3d6 Ratio
ML-DSA-44 keypair 163236 cycles 163629 cycles 1.00
ML-DSA-44 sign 604959 cycles 608357 cycles 0.99
ML-DSA-44 verify 176451 cycles 177313 cycles 1.00
ML-DSA-65 keypair 275729 cycles 276513 cycles 1.00
ML-DSA-65 sign 981135 cycles 981989 cycles 1.00
ML-DSA-65 verify 284562 cycles 285178 cycles 1.00
ML-DSA-87 keypair 459269 cycles 460865 cycles 1.00
ML-DSA-87 sign 1247607 cycles 1254050 cycles 0.99
ML-DSA-87 verify 470262 cycles 472077 cycles 1.00

This comment was automatically generated by workflow using github-action-benchmark.

@oqs-bot oqs-bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Graviton4 (no-opt)

Details
Benchmark suite Current: 370ae03 Previous: e71e3d6 Ratio
ML-DSA-44 keypair 129790 cycles 129672 cycles 1.00
ML-DSA-44 sign 443804 cycles 443824 cycles 1.00
ML-DSA-44 verify 137728 cycles 137849 cycles 1.00
ML-DSA-65 keypair 226390 cycles 227320 cycles 1.00
ML-DSA-65 sign 718657 cycles 718206 cycles 1.00
ML-DSA-65 verify 223353 cycles 222963 cycles 1.00
ML-DSA-87 keypair 368926 cycles 369535 cycles 1.00
ML-DSA-87 sign 920249 cycles 923542 cycles 1.00
ML-DSA-87 verify 373776 cycles 374313 cycles 1.00

This comment was automatically generated by workflow using github-action-benchmark.

@oqs-bot oqs-bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Graviton3

Details
Benchmark suite Current: 370ae03 Previous: e71e3d6 Ratio
ML-DSA-44 keypair 72397 cycles 72383 cycles 1.00
ML-DSA-44 sign 210038 cycles 209916 cycles 1.00
ML-DSA-44 verify 74919 cycles 74847 cycles 1.00
ML-DSA-65 keypair 126803 cycles 126765 cycles 1.00
ML-DSA-65 sign 345399 cycles 345182 cycles 1.00
ML-DSA-65 verify 124176 cycles 124123 cycles 1.00
ML-DSA-87 keypair 208229 cycles 208254 cycles 1.00
ML-DSA-87 sign 439760 cycles 439732 cycles 1.00
ML-DSA-87 verify 204528 cycles 204524 cycles 1.00

This comment was automatically generated by workflow using github-action-benchmark.

@oqs-bot oqs-bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Graviton3 (no-opt)

Details
Benchmark suite Current: 370ae03 Previous: e71e3d6 Ratio
ML-DSA-44 keypair 140712 cycles 140621 cycles 1.00
ML-DSA-44 sign 490139 cycles 490154 cycles 1.00
ML-DSA-44 verify 151153 cycles 151305 cycles 1.00
ML-DSA-65 keypair 245915 cycles 246979 cycles 1.00
ML-DSA-65 sign 798127 cycles 797357 cycles 1.00
ML-DSA-65 verify 244904 cycles 244427 cycles 1.00
ML-DSA-87 keypair 400485 cycles 400816 cycles 1.00
ML-DSA-87 sign 1020510 cycles 1024088 cycles 1.00
ML-DSA-87 verify 408087 cycles 408324 cycles 1.00

This comment was automatically generated by workflow using github-action-benchmark.

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Arm Cortex-A76 (Raspberry Pi 5) benchmarks (opt)

Details
Benchmark suite Current: 370ae03 Previous: e71e3d6 Ratio
ML-DSA-44 keypair 113375 cycles 113364 cycles 1.00
ML-DSA-44 sign 354646 cycles 354342 cycles 1.00
ML-DSA-44 verify 117201 cycles 117182 cycles 1.00
ML-DSA-65 keypair 195401 cycles 195622 cycles 1.00
ML-DSA-65 sign 583636 cycles 583484 cycles 1.00
ML-DSA-65 verify 193035 cycles 193004 cycles 1.00
ML-DSA-87 keypair 322721 cycles 322107 cycles 1.00
ML-DSA-87 sign 747053 cycles 747487 cycles 1.00
ML-DSA-87 verify 318111 cycles 317936 cycles 1.00

This comment was automatically generated by workflow using github-action-benchmark.

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Arm Cortex-A76 (Raspberry Pi 5) benchmarks (no-opt)

Details
Benchmark suite Current: 370ae03 Previous: e71e3d6 Ratio
ML-DSA-44 keypair 212137 cycles 210937 cycles 1.01
ML-DSA-44 sign 756851 cycles 757410 cycles 1.00
ML-DSA-44 verify 227276 cycles 227382 cycles 1.00
ML-DSA-65 keypair 372984 cycles 373583 cycles 1.00
ML-DSA-65 sign 1239759 cycles 1240892 cycles 1.00
ML-DSA-65 verify 367822 cycles 368267 cycles 1.00
ML-DSA-87 keypair 596153 cycles 596632 cycles 1.00
ML-DSA-87 sign 1575753 cycles 1577563 cycles 1.00
ML-DSA-87 verify 612378 cycles 611307 cycles 1.00

This comment was automatically generated by workflow using github-action-benchmark.

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SpacemiT K1 8 (Banana Pi F3) benchmarks (no-opt)

Details
Benchmark suite Current: 370ae03 Previous: e71e3d6 Ratio
ML-DSA-44 keypair 563454 cycles 765336 cycles 0.74
ML-DSA-44 sign 2751568 cycles 3143133 cycles 0.88
ML-DSA-44 verify 674034 cycles 858469 cycles 0.79
ML-DSA-65 keypair 936413 cycles 1290048 cycles 0.73
ML-DSA-65 sign 4491894 cycles 5099659 cycles 0.88
ML-DSA-65 verify 1043441 cycles 1366462 cycles 0.76
ML-DSA-87 keypair 1497627 cycles 2123089 cycles 0.71
ML-DSA-87 sign 5456457 cycles 6377623 cycles 0.86
ML-DSA-87 verify 1645781 cycles 2225052 cycles 0.74

This comment was automatically generated by workflow using github-action-benchmark.

@oqs-bot

oqs-bot commented Nov 6, 2026

Copy link
Copy Markdown
Contributor

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

* default.

Full Results (461 configurations)
Proof DM Solver Status Current Previous Change
**TOTAL** - - ✅ 1378s 1389s -0.8%
caddq LP64 bitwuzla ✅ 5s 2s +150%
LP64 z3* ✅ 2s 2s +0%
compute_pack_t0_t1 LP64 z3_no_bv_extract* ✅ 28s 27s +4%
decompose LP64 bitwuzla ✅ 4s 2s +100%
LP64 z3* ✅ 4s 1s +300%
fqmul LP64 bitwuzla* ✅ 25s 25s +0%
LP64 z3_smt_only ✅ 18s 18s +0%
fqscale LP64 bitwuzla* ✅ 2s 4s -50%
LP64 z3 ✅ 2s 1s +100%
intt_native_aarch64 LP64 bitwuzla ✅ 23s 23s +0%
LP64 z3* ✅ 2s 3s -33%
intt_native_riscv64 LP64 bitwuzla ✅ 48s - new
LP64 z3* ✅ 3s - new
intt_native_rv32im_fastmul ILP32 z3* ✅ 2s 3s -33%
LP64 cvc5_mbqi_enum ✅ 9s 8s +12%
LP64 z3 ✅ 1s 1s +0%
intt_native_rv32im_slowmul ILP32 z3* ✅ 2s 2s +0%
LP64 cvc5_mbqi_enum ✅ 8s 9s -11%
LP64 z3 ✅ 3s 2s +50%
intt_native_x86_64 LP64 bitwuzla ✅ 19s 19s +0%
LP64 z3* ✅ 3s 4s -25%
keccak_absorb LP64 cvc5_arrays_exp ✅ 2s 3s -33%
LP64 z3* ✅ 7s 6s +17%
keccak_absorb_once_x4 LP64 bitwuzla* ✅ 5s 4s +25%
LP64 cvc5_arrays_exp ✅ 8s 10s -20%
keccak_f1600_x1_native_aarch64 LP64 bitwuzla* ✅ 2s 2s +0%
LP64 z3_no_bv_extract ✅ 2s 1s +100%
keccak_f1600_x1_native_aarch64_v84a LP64 bitwuzla* ✅ 2s 2s +0%
LP64 cvc5_arrays_exp ✅ 2s 1s +100%
keccak_f1600_x1_native_riscv64 LP64 bitwuzla* ✅ 3s - new
LP64 z3_no_bv_extract ✅ 1s - new
keccak_f1600_x4_native_aarch64_v84a LP64 bitwuzla* ✅ 2s 3s -33%
LP64 z3 ✅ 3s 2s +50%
keccak_f1600_x4_native_aarch64_v8a_scalar_hybrid LP64 bitwuzla* ✅ 3s 1s +200%
LP64 z3_smt_only ✅ 1s 2s -50%
keccak_f1600_x4_native_aarch64_v8a_v84a_scalar_hybrid LP64 bitwuzla* ✅ 4s 2s +100%
LP64 z3_smt_only ✅ 2s 2s +0%
keccak_f1600_x4_native_avx2 LP64 bitwuzla* ✅ 1s 2s -50%
LP64 cvc5_arrays_exp ✅ 2s 1s +100%
keccak_finalize LP64 cvc5_arrays_exp ✅ 2s 2s +0%
LP64 z3* ✅ 2s 1s +100%
keccak_init LP64 bitwuzla ✅ 2s 4s -50%
LP64 z3* ✅ 3s 2s +50%
keccak_squeeze LP64 bitwuzla* ✅ 2s 2s +0%
LP64 z3 ✅ 1s 2s -50%
keccak_squeezeblocks_x4 LP64 bitwuzla* ✅ 3s 4s -25%
LP64 z3 ✅ 4s 2s +100%
keccakf1600_extract_bytes (big endian) LP64 cvc5_arrays_exp ✅ 1s 1s +0%
LP64 z3* ✅ 3s 2s +50%
keccakf1600_permute LP64 bitwuzla ✅ 3s 1s +200%
LP64 z3* ✅ 2s 2s +0%
keccakf1600_permute_native LP64 bitwuzla ✅ 3s 2s +50%
LP64 z3* ✅ 3s 1s +200%
keccakf1600_xor_bytes LP64 bitwuzla* ✅ 2s 2s +0%
LP64 cvc5_arrays_exp ✅ 1s 2s -50%
keccakf1600_xor_bytes (big endian) LP64 bitwuzla* ✅ 2s 3s -33%
LP64 z3_smt_only ✅ 1s 2s -50%
keccakf1600x4_extract_bytes LP64 bitwuzla* ✅ 2s 1s +100%
LP64 z3 ✅ 1s 2s -50%
keccakf1600x4_extract_bytes_native LP64 bitwuzla* ✅ 5s 2s +150%
LP64 z3 ✅ 3s 1s +200%
keccakf1600x4_permute LP64 cvc5_arrays_exp ✅ 2s 2s +0%
LP64 z3* ✅ 2s 1s +100%
keccakf1600x4_permute_native LP64 cvc5_arrays_exp ✅ 11s 11s +0%
LP64 z3* ✅ 12s 12s +0%
keccakf1600x4_xor_bytes LP64 bitwuzla* ✅ 2s 2s +0%
LP64 cvc5_arrays_exp ✅ 3s 2s +50%
keccakf1600x4_xor_bytes_native LP64 bitwuzla* ✅ 3s 2s +50%
LP64 z3_no_bv_extract ✅ 1s 1s +0%
make_hint LP64 cvc5_arrays_exp ✅ 2s 3s -33%
LP64 z3* ✅ 3s 2s +50%
mld_attempt_signature_generation LP64 z3_no_bv_extract* ✅ 125s 141s -11%
mld_check_pct LP64 bitwuzla ✅ 4s 5s -20%
LP64 z3* ✅ 6s 5s +20%
mld_compute_pack_z LP64 cadical ✅ 37s 38s -3%
LP64 z3_no_bv_extract* ✅ 2s 4s -50%
mld_ct_abs_i32 ILP32 bitwuzla ✅ 3s 2s +50%
ILP32 cvc5_arrays_exp ✅ 2s 3s -33%
ILP32 z3 ✅ 1s 2s -50%
LP64 bitwuzla ✅ 2s 1s +100%
LP64 cvc5_arrays_exp ✅ 1s 2s -50%
LP64 z3* ✅ 1s 1s +0%
mld_ct_cmask_neg_i32 LP64 cvc5_arrays_exp ✅ 1s 1s +0%
LP64 z3* ✅ 2s 2s +0%
mld_ct_cmask_nonzero_u32 LP64 cvc5_arrays_exp ✅ 1s 2s -50%
LP64 z3* ✅ 4s 2s +100%
mld_ct_cmask_nonzero_u8 LP64 bitwuzla ✅ 2s 1s +100%
LP64 z3* ✅ 3s 1s +200%
mld_ct_get_optblocker_i64 LP64 bitwuzla ✅ 3s 2s +50%
LP64 z3* ✅ 2s 1s +100%
mld_ct_get_optblocker_u32 LP64 bitwuzla ✅ 2s 2s +0%
LP64 z3* ✅ 1s 1s +0%
mld_ct_get_optblocker_u8 LP64 bitwuzla* ✅ 3s 1s +200%
LP64 z3_smt_only ✅ 2s 2s +0%
mld_ct_memcmp LP64 bitwuzla* ✅ 2s 2s +0%
LP64 z3_no_bv_extract ✅ 49s 53s -8%
mld_ct_sel_int32 LP64 bitwuzla ✅ 3s 1s +200%
LP64 z3* ✅ 2s 2s +0%
mld_h LP64 bitwuzla ✅ 2s 3s -33%
LP64 z3* ✅ 1s 1s +0%
mld_invntt_layer LP64 bitwuzla* ✅ 62s 76s -18%
LP64 z3_smt_only ✅ 77s 82s -6%
mld_keccakf1600_extract_bytes LP64 bitwuzla ✅ 2s 4s -50%
LP64 z3* ✅ 2s 2s +0%
mld_keccakf1600_permute_c LP64 cvc5_arrays_exp ✅ 4s 4s +0%
LP64 z3* ✅ 5s 3s +67%
mld_keccakf1600x4_extract_bytes_c LP64 cvc5_arrays_exp ✅ 1s 2s -50%
LP64 z3* ✅ 2s 3s -33%
mld_keccakf1600x4_xor_bytes_c LP64 bitwuzla ✅ 2s 3s -33%
LP64 z3* ✅ 2s 3s -33%
mld_ntt_butterfly_block LP64 bitwuzla* ✅ 12s 14s -14%
LP64 z3_no_bv_extract ✅ 189s 206s -8%
mld_ntt_layer LP64 bitwuzla* ✅ 26s 29s -10%
LP64 z3_no_bv_extract ✅ 3s 2s +50%
mld_polymat_expand_entry LP64 bitwuzla ✅ 2s 3s -33%
LP64 z3* ✅ 2s 2s +0%
mld_prepare_domain_separation_prefix LP64 bitwuzla ✅ 3s 2s +50%
LP64 z3* ✅ 3s 2s +50%
mld_sample_pack_s1_s2 LP64 cadical ✅ 28s 29s -3%
LP64 z3* ✅ 3s 3s +0%
mld_sample_pack_s1_s2_serial LP64 cvc5_mbqi_enum ✅ 91s 90s +1%
LP64 z3* ✅ 3s 2s +50%
mld_sign_attempt LP64 cvc5_arrays_exp ✅ 2s 1s +100%
LP64 z3* ✅ 4s 1s +300%
mld_sign_finish LP64 bitwuzla ✅ 4s 3s +33%
LP64 z3* ✅ 1s 1s +0%
mld_sign_hook_resume LP64 bitwuzla ✅ 2s 2s +0%
LP64 z3* ✅ 1s 2s -50%
mld_value_barrier_i64 LP64 bitwuzla ✅ 4s 1s +300%
LP64 z3* ✅ 3s 3s +0%
mld_value_barrier_u32 LP64 bitwuzla ✅ 2s 2s +0%
LP64 z3* ✅ 3s 2s +50%
mld_value_barrier_u8 LP64 cvc5_arrays_exp ✅ 2s 2s +0%
LP64 z3* ✅ 1s 3s -67%
montgomery_reduce LP64 cvc5_arrays_exp ✅ 3s 3s +0%
LP64 z3* ✅ 3s 2s +50%
ntt_native_aarch64 LP64 bitwuzla ✅ 20s 22s -9%
LP64 z3* ✅ 3s 2s +50%
ntt_native_riscv64 LP64 bitwuzla ✅ 47s - new
LP64 z3* ✅ 3s - new
ntt_native_rv32im_fastmul ILP32 z3* ✅ 4s 3s +33%
LP64 cvc5_mbqi_enum ✅ 6s 8s -25%
LP64 z3 ✅ 2s 3s -33%
ntt_native_rv32im_slowmul ILP32 z3* ✅ 2s 4s -50%
LP64 cvc5_mbqi_enum ✅ 7s 9s -22%
LP64 z3 ✅ 3s 2s +50%
ntt_native_x86_64 LP64 bitwuzla ✅ 19s 21s -10%
LP64 z3* ✅ 2s 2s +0%
nttunpack_native_x86_64 LP64 bitwuzla ✅ 189s 175s +8%
LP64 z3* ✅ 2s 2s +0%
pack_sig_c LP64 cvc5_arrays_exp ✅ 3s 2s +50%
LP64 z3* ✅ 1s 2s -50%
pack_sig_h LP64 bitwuzla ✅ 4s 2s +100%
LP64 z3_no_bv_extract* ✅ 3s 2s +50%
pack_sig_z LP64 bitwuzla ✅ 3s 2s +50%
LP64 z3* ✅ 3s 2s +50%
pack_sk_rho_key_tr LP64 bitwuzla ✅ 3s 2s +50%
LP64 z3* ✅ 2s 4s -50%
pointwise_acc_native_aarch64 LP64 cadical ✅ 57s 58s -2%
LP64 z3_smt_only* ✅ 2s 5s -60%
pointwise_acc_native_riscv64 LP64 cadical ✅ 55s - new
LP64 z3_smt_only* ✅ 2s - new
pointwise_acc_native_x86_64 LP64 cadical ✅ 56s 59s -5%
LP64 z3_smt_only* ✅ 6s 5s +20%
pointwise_native_aarch64 LP64 bitwuzla ✅ 21s 23s -9%
LP64 z3* ✅ 5s 3s +67%
pointwise_native_riscv64 LP64 bitwuzla ✅ 2s - new
LP64 z3* ✅ 1s - new
pointwise_native_rv32im_fastmul ILP32 z3* ✅ 3s 3s +0%
LP64 cvc5_mbqi_enum ✅ 10s 10s +0%
LP64 z3 ✅ 2s 3s -33%
pointwise_native_rv32im_slowmul ILP32 z3* ✅ 2s 1s +100%
LP64 cvc5_mbqi_enum ✅ 9s 8s +12%
LP64 z3 ✅ 4s 3s +33%
pointwise_native_x86_64 LP64 bitwuzla ✅ 20s 23s -13%
LP64 z3* ✅ 2s 2s +0%
poly_add LP64 cadical ✅ 46s 50s -8%
LP64 z3* ✅ 10s 11s -9%
poly_caddq LP64 bitwuzla ✅ 3s 4s -25%
LP64 z3* ✅ 3s 2s +50%
poly_caddq_c LP64 bitwuzla ✅ 18s 19s -5%
LP64 z3* ✅ 1s 2s -50%
poly_caddq_native LP64 bitwuzla ✅ 113s 128s -12%
LP64 z3* ✅ 2s 2s +0%
poly_caddq_native_aarch64 LP64 cvc5_mbqi_enum ✅ 35s 34s +3%
LP64 z3* ✅ 3s 3s +0%
poly_caddq_native_riscv64 LP64 cvc5_mbqi_enum ✅ 23s - new
LP64 z3* ✅ 3s - new
poly_caddq_native_x86_64 LP64 bitwuzla ✅ 118s 142s -17%
LP64 z3* ✅ 2s 1s +100%
poly_challenge LP64 bitwuzla ✅ 26s 27s -4%
LP64 z3* ✅ 14s 12s +17%
poly_chknorm LP64 bitwuzla ✅ 3s 5s -40%
LP64 z3* ✅ 2s 2s +0%
poly_chknorm_c LP64 bitwuzla ✅ 8s 9s -11%
LP64 z3* ✅ 7s 7s +0%
poly_chknorm_native LP64 bitwuzla ✅ 6s 9s -33%
LP64 z3* ✅ 2s 3s -33%
poly_chknorm_native_aarch64 LP64 bitwuzla ✅ 7s 3s +133%
LP64 z3* ✅ 3s 2s +50%
poly_chknorm_native_riscv64 LP64 bitwuzla ✅ 2s - new
LP64 z3* ✅ 3s - new
poly_chknorm_native_x86_64 LP64 bitwuzla ✅ 2s 4s -50%
LP64 z3* ✅ 2s 3s -33%
poly_decompose LP64 bitwuzla ✅ 4s 5s -20%
LP64 z3* ✅ 2s 1s +100%
poly_decompose_32_native_aarch64 LP64 cadical ✅ 5s 1s +400%
LP64 z3* ✅ 1s 2s -50%
poly_decompose_32_native_riscv64 LP64 cadical ✅ 2s - new
LP64 z3* ✅ 2s - new
poly_decompose_88_native_aarch64 LP64 bitwuzla ✅ 6s 6s +0%
LP64 z3* ✅ 2s 4s -50%
poly_decompose_88_native_riscv64 LP64 bitwuzla ✅ 4s - new
LP64 z3* ✅ 3s - new
poly_decompose_c LP64 cvc5_mbqi_enum ✅ 189s 250s -24%
LP64 z3* ✅ 3s 5s -40%
poly_decompose_native LP64 cadical ✅ 15s 17s -12%
LP64 z3* ✅ 3s 3s +0%
poly_decompose_native_x86_64 LP64 cadical ✅ 12s 11s +9%
LP64 z3* ✅ 2s 2s +0%
poly_invntt_tomont LP64 bitwuzla ✅ 4s 6s -33%
LP64 z3* ✅ 2s 1s +100%
poly_invntt_tomont_c LP64 bitwuzla ✅ 156s 176s -11%
LP64 z3_smt_only* ✅ 4s 5s -20%
poly_invntt_tomont_native LP64 bitwuzla ✅ 48s 49s -2%
LP64 z3* ✅ 3s 2s +50%
poly_ntt LP64 bitwuzla ✅ 5s 4s +25%
LP64 z3* ✅ 2s 1s +100%
poly_ntt_c LP64 bitwuzla ✅ 48s 56s -14%
LP64 z3_smt_only* ✅ 9s 9s +0%
poly_ntt_native LP64 bitwuzla ✅ 24s 29s -17%
LP64 z3* ✅ 2s 4s -50%
poly_permute_bitrev_to_custom_optional LP64 bitwuzla ✅ 3s 4s -25%
LP64 z3* ✅ 3s 2s +50%
poly_permute_bitrev_to_custom_optional_native LP64 bitwuzla ✅ 2s 3s -33%
LP64 z3* ✅ 2s 2s +0%
poly_pointwise_montgomery LP64 bitwuzla ✅ 9s 12s -25%
LP64 z3* ✅ 4s 4s +0%
poly_pointwise_montgomery_c LP64 bitwuzla ✅ 183s 214s -14%
LP64 z3* ✅ 36s 44s -18%
poly_pointwise_montgomery_native LP64 cvc5_mbqi_enum ✅ 54s 54s +0%
LP64 z3* ✅ 2s 4s -50%
poly_power2round LP64 bitwuzla ✅ 255s 314s -19%
LP64 z3* ✅ 2s 1s +100%
poly_reduce LP64 bitwuzla ✅ 10s 7s +43%
LP64 z3* ✅ 3s 3s +0%
poly_shiftl LP64 bitwuzla ✅ 12s 12s +0%
LP64 z3* ✅ 4s 2s +100%
poly_sub LP64 bitwuzla ✅ 13s 19s -32%
LP64 z3* ✅ 3s 2s +50%
poly_uniform LP64 bitwuzla ✅ 181s 187s -3%
LP64 z3* ✅ 3s 2s +50%
poly_uniform_4x LP64 cadical ✅ 2s 1s +100%
LP64 z3* ✅ 1s 2s -50%
poly_uniform_eta LP64 bitwuzla ✅ 77s 92s -16%
LP64 z3* ✅ 2s 2s +0%
poly_uniform_eta_4x LP64 cadical ✅ 61s 63s -3%
LP64 z3* ✅ 11s 8s +38%
poly_uniform_gamma1 LP64 cadical ✅ 2s 2s +0%
LP64 z3* ✅ 2s 2s +0%
poly_uniform_gamma1_4x LP64 cadical ✅ 1s 1s +0%
LP64 z3* ✅ 3s 3s +0%
poly_use_hint LP64 cvc5_mbqi_enum ✅ 24s 25s -4%
LP64 z3* ✅ 2s 2s +0%
poly_use_hint_c LP64 cvc5_enum_inst ✅ 12s 12s +0%
LP64 z3* ✅ 2s 3s -33%
poly_use_hint_native LP64 cvc5_mbqi_enum ✅ 94s 87s +8%
LP64 z3* ✅ 2s 3s -33%
poly_use_hint_native_aarch64 LP64 bitwuzla ✅ 30s 36s -17%
LP64 z3* ✅ 4s 5s -20%
poly_use_hint_native_riscv64 LP64 bitwuzla ✅ 1s - new
LP64 z3* ✅ 3s - new
poly_use_hint_native_x86_64 LP64 bitwuzla ✅ 34s 35s -3%
LP64 z3* ✅ 3s 3s +0%
polyeta_pack LP64 bitwuzla ✅ 6s 5s +20%
LP64 z3* ✅ 3s 2s +50%
polyeta_unpack LP64 bitwuzla ✅ 4s 2s +100%
LP64 z3* ✅ 9s 9s +0%
polyt0_pack LP64 bitwuzla ✅ 3s 5s -40%
LP64 z3* ✅ 1s 2s -50%
polyt0_unpack LP64 bitwuzla ✅ 4s 3s +33%
LP64 z3* ✅ 8s 9s -11%
polyt1_pack LP64 bitwuzla ✅ 4s 4s +0%
LP64 z3* ✅ 2s 3s -33%
polyt1_unpack LP64 bitwuzla ✅ 3s 2s +50%
LP64 z3* ✅ 5s 4s +25%
polyvec_matrix_expand LP64 z3_no_bv_extract* ✅ 2s 1s +100%
polyvec_matrix_expand_serial LP64 z3* ✅ 1s 1s +0%
polyvec_matrix_pointwise_montgomery_row LP64 cadical ✅ 37s 41s -10%
LP64 z3_no_bv_extract* ✅ 5s 5s +0%
polyvec_matrix_pointwise_montgomery_yvec LP64 cadical ✅ 469s 489s -4%
LP64 z3* ✅ 138s 156s -12%
polyveck_caddq LP64 cadical ✅ 102s 106s -4%
LP64 z3* ✅ 2s 2s +0%
polyveck_decompose_pack_w1 LP64 cadical ✅ 105s 110s -5%
LP64 z3* ✅ 4s 3s +33%
polyveck_invntt_tomont LP64 cadical ✅ 136s 175s -22%
LP64 z3* ✅ 3s 2s +50%
polyveck_ntt LP64 cadical ✅ 3s 4s -25%
LP64 z3* ✅ 2s 3s -33%
polyveck_reduce LP64 cadical ✅ 110s 123s -11%
LP64 z3* ✅ 2s 2s +0%
polyveck_unpack_eta LP64 cvc5_mbqi_enum ✅ 2s 4s -50%
LP64 z3* ✅ 2s 3s -33%
polyveck_unpack_eta_chknorm LP64 cvc5_mbqi_enum ✅ 18s 16s +12%
LP64 z3* ✅ 2s 2s +0%
polyvecl_chknorm LP64 cadical ✅ 52s 56s -7%
LP64 z3* ✅ 1s 2s -50%
polyvecl_ntt LP64 cadical ✅ 137s 119s +15%
LP64 z3* ✅ 4s 2s +100%
polyvecl_pointwise_acc_montgomery LP64 cvc5_mbqi_enum ✅ 3s 3s +0%
LP64 z3_smt_only* ✅ 3s 2s +50%
polyvecl_pointwise_acc_montgomery_c LP64 cadical ✅ 2s 2s +0%
LP64 z3_smt_only* ✅ 2s 1s +100%
polyvecl_pointwise_acc_montgomery_native LP64 cvc5_mbqi_enum ✅ 2s 4s -50%
LP64 z3_smt_only* ✅ 2s 4s -50%
polyvecl_uniform_gamma1 LP64 cvc5_mbqi_enum ✅ 4s 2s +100%
LP64 z3* ✅ 1s 4s -75%
polyvecl_uniform_gamma1_serial LP64 cvc5_mbqi_enum ✅ 1s 3s -67%
LP64 z3* ✅ 1s 1s +0%
polyvecl_unpack_eta LP64 cvc5_mbqi_enum ✅ 33s 33s +0%
LP64 z3* ✅ 2s 2s +0%
polyvecl_unpack_z LP64 cvc5_mbqi_enum ✅ 25s 27s -7%
LP64 z3* ✅ 3s 3s +0%
polyw1_pack LP64 bitwuzla ✅ 2s 2s +0%
LP64 z3* ✅ 1s 3s -67%
polyw1_pack_32 LP64 bitwuzla ✅ 2s 1s +100%
LP64 z3* ✅ 1s 3s -67%
polyw1_pack_88 LP64 bitwuzla ✅ 2s 3s -33%
LP64 z3* ✅ 3s 2s +50%
polyw1_unpack LP64 bitwuzla ✅ 4s 2s +100%
LP64 z3* ✅ 1s 2s -50%
polyw1_unpack_32 LP64 bitwuzla ✅ 2s 1s +100%
LP64 z3* ✅ 3s 3s +0%
polyw1_unpack_88 LP64 bitwuzla ✅ 4s 3s +33%
LP64 z3* ✅ 3s 4s -25%
polyz_pack LP64 bitwuzla ✅ 3s 3s +0%
LP64 z3* ✅ 1s 3s -67%
polyz_unpack LP64 bitwuzla ✅ 7s 6s +17%
LP64 z3* ✅ 1s 3s -67%
polyz_unpack_17_native_aarch64 LP64 bitwuzla ✅ 2s 3s -33%
LP64 z3* ✅ 2s 2s +0%
polyz_unpack_17_native_riscv64 LP64 bitwuzla ✅ 1s - new
LP64 z3* ✅ 4s - new
polyz_unpack_19_native_aarch64 LP64 bitwuzla ✅ 2s 2s +0%
LP64 z3* ✅ 1s 3s -67%
polyz_unpack_19_native_riscv64 LP64 bitwuzla ✅ 3s - new
LP64 z3* ✅ 2s - new
polyz_unpack_c LP64 bitwuzla ✅ 2s 4s -50%
LP64 z3* ✅ 7s 6s +17%
polyz_unpack_native LP64 bitwuzla ✅ 27s 27s +0%
LP64 z3* ✅ 2s 3s -33%
polyz_unpack_native_x86_64 LP64 bitwuzla ✅ 17s 16s +6%
LP64 z3* ✅ 2s 2s +0%
power2round LP64 bitwuzla ✅ 1s 1s +0%
LP64 z3* ✅ 2s 3s -33%
reduce32 LP64 bitwuzla ✅ 2s 2s +0%
LP64 z3* ✅ 2s 2s +0%
rej_eta LP64 bitwuzla* ✅ 1s 4s -75%
LP64 z3_smt_only ✅ 3s 2s +50%
rej_eta_c LP64 bitwuzla* ✅ 2s 3s -33%
LP64 z3 ✅ 13s 14s -7%
rej_eta_native LP64 bitwuzla* ✅ 2s 2s +0%
LP64 z3_smt_only ✅ 17s 20s -15%
rej_uniform LP64 bitwuzla ✅ 1s 2s -50%
LP64 z3* ✅ 9s 13s -31%
rej_uniform_c LP64 bitwuzla ✅ 3s 3s +0%
LP64 z3* ✅ 10s 10s +0%
rej_uniform_eta_native_aarch64 LP64 bitwuzla* ✅ 2s 4s -50%
LP64 z3_smt_only ✅ 2s 4s -50%
rej_uniform_eta_native_riscv64 LP64 bitwuzla* ✅ 3s - new
LP64 z3_smt_only ✅ 2s - new
rej_uniform_eta_native_x86_64 LP64 bitwuzla ✅ 1s 2s -50%
LP64 z3_smt_only* ✅ 3s 3s +0%
rej_uniform_native LP64 bitwuzla* ✅ 2s 3s -33%
LP64 z3_smt_only ✅ 10s 10s +0%
rej_uniform_native_aarch64 LP64 bitwuzla* ✅ 2s 2s +0%
LP64 z3_smt_only ✅ 1s 3s -67%
rej_uniform_native_riscv64 LP64 bitwuzla* ✅ 4s - new
LP64 z3_smt_only ✅ 2s - new
rej_uniform_native_x86_64 LP64 bitwuzla ✅ 3s 7s -57%
LP64 z3_smt_only* ✅ 8s 10s -20%
shake128_absorb LP64 cvc5_arrays_exp ✅ 2s 2s +0%
LP64 z3* ✅ 2s 3s -33%
shake128_finalize LP64 cvc5_arrays_exp ✅ 1s 1s +0%
LP64 z3* ✅ 3s 2s +50%
shake128_init LP64 bitwuzla ✅ 1s 3s -67%
LP64 z3* ✅ 3s 1s +200%
shake128_release LP64 bitwuzla ✅ 2s 2s +0%
LP64 z3* ✅ 1s 3s -67%
shake128_squeeze LP64 bitwuzla* ✅ 2s 1s +100%
LP64 cvc5_arrays_exp ✅ 1s 3s -67%
shake128x4_absorb_once LP64 bitwuzla* ✅ 3s 1s +200%
LP64 z3_smt_only ✅ 1s 3s -67%
shake128x4_squeezeblocks LP64 bitwuzla* ✅ 2s 1s +100%
LP64 z3 ✅ 3s 2s +50%
shake256 LP64 bitwuzla ✅ 3s 1s +200%
LP64 z3* ✅ 4s 2s +100%
shake256_absorb LP64 bitwuzla ✅ 1s 3s -67%
LP64 z3* ✅ 4s 3s +33%
shake256_finalize LP64 cvc5_arrays_exp ✅ 1s 2s -50%
LP64 z3* ✅ 1s 1s +0%
shake256_init LP64 cvc5_arrays_exp ✅ 3s 1s +200%
LP64 z3* ✅ 2s 2s +0%
shake256_release LP64 bitwuzla ✅ 2s 1s +100%
LP64 z3* ✅ 3s 2s +50%
shake256_squeeze LP64 bitwuzla* ✅ 4s 1s +300%
LP64 z3 ✅ 2s 2s +0%
shake256x4_absorb_once LP64 bitwuzla* ✅ 3s 3s +0%
LP64 z3 ✅ 2s 2s +0%
shake256x4_squeezeblocks LP64 bitwuzla* ✅ 1s 1s +0%
LP64 z3_smt_only ✅ 2s 1s +100%
sig_unpack_hints LP64 bitwuzla ✅ 51s 60s -15%
LP64 z3* ✅ 20s 26s -23%
sign_keypair LP64 cadical ✅ 43s 51s -16%
LP64 z3* ✅ 7s 4s +75%
sign_keypair_internal LP64 cadical ✅ 147s 154s -5%
LP64 z3_no_bv_extract* ✅ 12s 15s -20%
sign_pk_from_sk LP64 z3_no_bv_extract* ✅ 32s 34s -6%
sign_signature LP64 bitwuzla ✅ 3s 5s -40%
LP64 z3* ✅ 3s 3s +0%
sign_signature_extmu LP64 cadical ✅ 21s 21s +0%
LP64 z3* ✅ 4s 3s +33%
sign_signature_internal LP64 z3_no_bv_extract* ✅ 11s 11s +0%
sign_signature_pre_hash_internal LP64 bitwuzla ✅ 4s 3s +33%
LP64 z3* ✅ 5s 3s +67%
sign_signature_pre_hash_shake256 LP64 cadical ✅ 12s 12s +0%
LP64 z3* ✅ 5s 3s +67%
sign_verify LP64 bitwuzla ✅ 3s 4s -25%
LP64 z3* ✅ 2s 2s +0%
sign_verify_extmu LP64 bitwuzla ✅ 6s 3s +100%
LP64 z3* ✅ 3s 3s +0%
sign_verify_internal LP64 z3_no_bv_extract* ✅ 219s 218s +0%
sign_verify_pre_hash_internal LP64 bitwuzla ✅ 2s 3s -33%
LP64 z3* ✅ 4s 3s +33%
sign_verify_pre_hash_shake256 LP64 bitwuzla ✅ 3s 4s -25%
LP64 z3* ✅ 5s 3s +67%
sk_s1hat_get_poly LP64 bitwuzla ✅ 2s 4s -50%
LP64 z3* ✅ 2s 2s +0%
sk_s2hat_get_poly LP64 bitwuzla ✅ 3s 3s +0%
LP64 z3* ✅ 1s 1s +0%
sk_t0hat_get_poly LP64 bitwuzla ✅ 2s 4s -50%
LP64 z3* ✅ 2s 1s +100%
sys_check_capability LP64 cvc5_arrays_exp ✅ 1s 3s -67%
LP64 z3* ✅ 2s 2s +0%
unpack_pk_t1 LP64 bitwuzla ✅ 12s 12s +0%
LP64 z3* ✅ 1s 1s +0%
unpack_sk LP64 cadical ✅ 2s 3s -33%
LP64 z3* ✅ 2s 1s +100%
unpack_sk_s1hat LP64 cvc5_mbqi_enum ✅ 2s 1s +100%
LP64 z3* ✅ 3s 2s +50%
unpack_sk_s2hat LP64 cvc5_mbqi_enum ✅ 2s 1s +100%
LP64 z3* ✅ 1s 3s -67%
unpack_sk_t0hat LP64 cadical ✅ 3s 2s +50%
LP64 z3* ✅ 3s 1s +200%
use_hint LP64 bitwuzla ✅ 1s 3s -67%
LP64 z3* ✅ 2s 3s -33%
yvec_get_poly LP64 bitwuzla ✅ 2s 2s +0%
LP64 z3* ✅ 4s 2s +100%
yvec_init LP64 bitwuzla ✅ 3s 3s +0%
LP64 z3* ✅ 2s 3s -33%

@oqs-bot

oqs-bot commented Nov 6, 2026

Copy link
Copy Markdown
Contributor

CBMC Results (ML-DSA-44)

* default.

Full Results (461 configurations)
Proof DM Solver Status Current Previous Change
**TOTAL** - - ✅ 1689s 1605s +5.2%
caddq LP64 bitwuzla ✅ 1s 3s -67%
LP64 z3* ✅ 1s 3s -67%
compute_pack_t0_t1 LP64 z3_no_bv_extract* ✅ 64s 64s +0%
decompose LP64 bitwuzla ✅ 1s 4s -75%
LP64 z3* ✅ 3s 2s +50%
fqmul LP64 bitwuzla* ✅ 26s 22s +18%
LP64 z3_smt_only ✅ 19s 19s +0%
fqscale LP64 bitwuzla* ✅ 2s 3s -33%
LP64 z3 ✅ 3s 1s +200%
intt_native_aarch64 LP64 bitwuzla ✅ 22s 20s +10%
LP64 z3* ✅ 2s 2s +0%
intt_native_riscv64 LP64 bitwuzla ✅ 43s - new
LP64 z3* ✅ 4s - new
intt_native_rv32im_fastmul ILP32 z3* ✅ 5s 3s +67%
LP64 cvc5_mbqi_enum ✅ 7s 9s -22%
LP64 z3 ✅ 3s 2s +50%
intt_native_rv32im_slowmul ILP32 z3* ✅ 3s 2s +50%
LP64 cvc5_mbqi_enum ✅ 7s 8s -12%
LP64 z3 ✅ 2s 4s -50%
intt_native_x86_64 LP64 bitwuzla ✅ 18s 15s +20%
LP64 z3* ✅ 3s 3s +0%
keccak_absorb LP64 cvc5_arrays_exp ✅ 4s 3s +33%
LP64 z3* ✅ 6s 7s -14%
keccak_absorb_once_x4 LP64 bitwuzla* ✅ 6s 6s +0%
LP64 cvc5_arrays_exp ✅ 7s 8s -12%
keccak_f1600_x1_native_aarch64 LP64 bitwuzla* ✅ 1s 2s -50%
LP64 z3_no_bv_extract ✅ 2s 1s +100%
keccak_f1600_x1_native_aarch64_v84a LP64 bitwuzla* ✅ 3s 1s +200%
LP64 cvc5_arrays_exp ✅ 1s 4s -75%
keccak_f1600_x1_native_riscv64 LP64 bitwuzla* ✅ 2s - new
LP64 z3_no_bv_extract ✅ 2s - new
keccak_f1600_x4_native_aarch64_v84a LP64 bitwuzla* ✅ 1s 2s -50%
LP64 z3 ✅ 2s 1s +100%
keccak_f1600_x4_native_aarch64_v8a_scalar_hybrid LP64 bitwuzla* ✅ 2s 2s +0%
LP64 z3_smt_only ✅ 4s 2s +100%
keccak_f1600_x4_native_aarch64_v8a_v84a_scalar_hybrid LP64 bitwuzla* ✅ 1s 2s -50%
LP64 z3_smt_only ✅ 2s 2s +0%
keccak_f1600_x4_native_avx2 LP64 bitwuzla* ✅ 1s 2s -50%
LP64 cvc5_arrays_exp ✅ 2s 3s -33%
keccak_finalize LP64 cvc5_arrays_exp ✅ 3s 3s +0%
LP64 z3* ✅ 2s 1s +100%
keccak_init LP64 bitwuzla ✅ 2s 2s +0%
LP64 z3* ✅ 1s 1s +0%
keccak_squeeze LP64 bitwuzla* ✅ 3s 2s +50%
LP64 z3 ✅ 2s 2s +0%
keccak_squeezeblocks_x4 LP64 bitwuzla* ✅ 2s 3s -33%
LP64 z3 ✅ 2s 3s -33%
keccakf1600_extract_bytes (big endian) LP64 cvc5_arrays_exp ✅ 2s 1s +100%
LP64 z3* ✅ 3s 2s +50%
keccakf1600_permute LP64 bitwuzla ✅ 3s 1s +200%
LP64 z3* ✅ 2s 2s +0%
keccakf1600_permute_native LP64 bitwuzla ✅ 2s 1s +100%
LP64 z3* ✅ 4s 2s +100%
keccakf1600_xor_bytes LP64 bitwuzla* ✅ 2s 2s +0%
LP64 cvc5_arrays_exp ✅ 1s 2s -50%
keccakf1600_xor_bytes (big endian) LP64 bitwuzla* ✅ 2s 2s +0%
LP64 z3_smt_only ✅ 1s 1s +0%
keccakf1600x4_extract_bytes LP64 bitwuzla* ✅ 1s 3s -67%
LP64 z3 ✅ 3s 2s +50%
keccakf1600x4_extract_bytes_native LP64 bitwuzla* ✅ 1s 3s -67%
LP64 z3 ✅ 3s 1s +200%
keccakf1600x4_permute LP64 cvc5_arrays_exp ✅ 2s 2s +0%
LP64 z3* ✅ 2s 2s +0%
keccakf1600x4_permute_native LP64 cvc5_arrays_exp ✅ 13s 12s +8%
LP64 z3* ✅ 13s 13s +0%
keccakf1600x4_xor_bytes LP64 bitwuzla* ✅ 2s 4s -50%
LP64 cvc5_arrays_exp ✅ 3s 2s +50%
keccakf1600x4_xor_bytes_native LP64 bitwuzla* ✅ 2s 1s +100%
LP64 z3_no_bv_extract ✅ 1s 3s -67%
make_hint LP64 cvc5_arrays_exp ✅ 1s 1s +0%
LP64 z3* ✅ 1s 3s -67%
mld_attempt_signature_generation LP64 z3_no_bv_extract* ✅ 216s 200s +8%
mld_check_pct LP64 bitwuzla ✅ 5s 8s -38%
LP64 z3* ✅ 6s 3s +100%
mld_compute_pack_z LP64 cadical ✅ 64s 65s -2%
LP64 z3_no_bv_extract* ✅ 3s 3s +0%
mld_ct_abs_i32 ILP32 bitwuzla ✅ 2s 1s +100%
ILP32 cvc5_arrays_exp ✅ 2s 3s -33%
ILP32 z3 ✅ 2s 3s -33%
LP64 bitwuzla ✅ 2s 1s +100%
LP64 cvc5_arrays_exp ✅ 4s 2s +100%
LP64 z3* ✅ 2s 2s +0%
mld_ct_cmask_neg_i32 LP64 cvc5_arrays_exp ✅ 4s 2s +100%
LP64 z3* ✅ 3s 1s +200%
mld_ct_cmask_nonzero_u32 LP64 cvc5_arrays_exp ✅ 2s 2s +0%
LP64 z3* ✅ 4s 3s +33%
mld_ct_cmask_nonzero_u8 LP64 bitwuzla ✅ 2s 3s -33%
LP64 z3* ✅ 1s 4s -75%
mld_ct_get_optblocker_i64 LP64 bitwuzla ✅ 2s 2s +0%
LP64 z3* ✅ 3s 2s +50%
mld_ct_get_optblocker_u32 LP64 bitwuzla ✅ 1s 2s -50%
LP64 z3* ✅ 2s 2s +0%
mld_ct_get_optblocker_u8 LP64 bitwuzla* ✅ 3s 2s +50%
LP64 z3_smt_only ✅ 2s 4s -50%
mld_ct_memcmp LP64 bitwuzla* ✅ 3s 1s +200%
LP64 z3_no_bv_extract ✅ 45s 44s +2%
mld_ct_sel_int32 LP64 bitwuzla ✅ 2s 3s -33%
LP64 z3* ✅ 1s 3s -67%
mld_h LP64 bitwuzla ✅ 1s 3s -67%
LP64 z3* ✅ 2s 2s +0%
mld_invntt_layer LP64 bitwuzla* ✅ 60s 64s -6%
LP64 z3_smt_only ✅ 90s 86s +5%
mld_keccakf1600_extract_bytes LP64 bitwuzla ✅ 4s 3s +33%
LP64 z3* ✅ 1s 3s -67%
mld_keccakf1600_permute_c LP64 cvc5_arrays_exp ✅ 3s 4s -25%
LP64 z3* ✅ 5s 2s +150%
mld_keccakf1600x4_extract_bytes_c LP64 cvc5_arrays_exp ✅ 1s 2s -50%
LP64 z3* ✅ 2s 3s -33%
mld_keccakf1600x4_xor_bytes_c LP64 bitwuzla ✅ 2s 2s +0%
LP64 z3* ✅ 1s 5s -80%
mld_ntt_butterfly_block LP64 bitwuzla* ✅ 13s 12s +8%
LP64 z3_no_bv_extract ✅ 61s 61s +0%
mld_ntt_layer LP64 bitwuzla* ✅ 24s 24s +0%
LP64 z3_no_bv_extract ✅ 3s 2s +50%
mld_polymat_expand_entry LP64 bitwuzla ✅ 2s 3s -33%
LP64 z3* ✅ 3s 2s +50%
mld_prepare_domain_separation_prefix LP64 bitwuzla ✅ 3s 2s +50%
LP64 z3* ✅ 3s 2s +50%
mld_sample_pack_s1_s2 LP64 cadical ✅ 27s 27s +0%
LP64 z3* ✅ 3s 2s +50%
mld_sample_pack_s1_s2_serial LP64 cvc5_mbqi_enum ✅ 89s 89s +0%
LP64 z3* ✅ 1s 4s -75%
mld_sign_attempt LP64 cvc5_arrays_exp ✅ 2s 2s +0%
LP64 z3* ✅ 3s 2s +50%
mld_sign_finish LP64 bitwuzla ✅ 3s 1s +200%
LP64 z3* ✅ 2s 1s +100%
mld_sign_hook_resume LP64 bitwuzla ✅ 3s 2s +50%
LP64 z3* ✅ 2s 2s +0%
mld_value_barrier_i64 LP64 bitwuzla ✅ 4s 1s +300%
LP64 z3* ✅ 1s 1s +0%
mld_value_barrier_u32 LP64 bitwuzla ✅ 1s 1s +0%
LP64 z3* ✅ 1s 3s -67%
mld_value_barrier_u8 LP64 cvc5_arrays_exp ✅ 2s 1s +100%
LP64 z3* ✅ 2s 1s +100%
montgomery_reduce LP64 cvc5_arrays_exp ✅ 3s 3s +0%
LP64 z3* ✅ 1s 2s -50%
ntt_native_aarch64 LP64 bitwuzla ✅ 19s 17s +12%
LP64 z3* ✅ 3s 3s +0%
ntt_native_riscv64 LP64 bitwuzla ✅ 44s - new
LP64 z3* ✅ 2s - new
ntt_native_rv32im_fastmul ILP32 z3* ✅ 1s 2s -50%
LP64 cvc5_mbqi_enum ✅ 5s 6s -17%
LP64 z3 ✅ 2s 2s +0%
ntt_native_rv32im_slowmul ILP32 z3* ✅ 1s 3s -67%
LP64 cvc5_mbqi_enum ✅ 6s 5s +20%
LP64 z3 ✅ 3s 3s +0%
ntt_native_x86_64 LP64 bitwuzla ✅ 16s 18s -11%
LP64 z3* ✅ 3s 5s -40%
nttunpack_native_x86_64 LP64 bitwuzla ✅ 178s 177s +1%
LP64 z3* ✅ 2s 2s +0%
pack_sig_c LP64 cvc5_arrays_exp ✅ 2s 3s -33%
LP64 z3* ✅ 1s 1s +0%
pack_sig_h LP64 bitwuzla ✅ 1s 3s -67%
LP64 z3_no_bv_extract* ✅ 2s 2s +0%
pack_sig_z LP64 bitwuzla ✅ 3s 2s +50%
LP64 z3* ✅ 1s 2s -50%
pack_sk_rho_key_tr LP64 bitwuzla ✅ 2s 1s +100%
LP64 z3* ✅ 1s 2s -50%
pointwise_acc_native_aarch64 LP64 cadical ✅ 58s 57s +2%
LP64 z3_smt_only* ✅ 4s 4s +0%
pointwise_acc_native_riscv64 LP64 cadical ✅ 53s - new
LP64 z3_smt_only* ✅ 3s - new
pointwise_acc_native_x86_64 LP64 cadical ✅ 58s 55s +5%
LP64 z3_smt_only* ✅ 3s 4s -25%
pointwise_native_aarch64 LP64 bitwuzla ✅ 21s 20s +5%
LP64 z3* ✅ 2s 2s +0%
pointwise_native_riscv64 LP64 bitwuzla ✅ 2s - new
LP64 z3* ✅ 4s - new
pointwise_native_rv32im_fastmul ILP32 z3* ✅ 2s 3s -33%
LP64 cvc5_mbqi_enum ✅ 7s 10s -30%
LP64 z3 ✅ 2s 1s +100%
pointwise_native_rv32im_slowmul ILP32 z3* ✅ 1s 1s +0%
LP64 cvc5_mbqi_enum ✅ 8s 9s -11%
LP64 z3 ✅ 3s 2s +50%
pointwise_native_x86_64 LP64 bitwuzla ✅ 19s 22s -14%
LP64 z3* ✅ 4s 3s +33%
poly_add LP64 cadical ✅ 47s 51s -8%
LP64 z3* ✅ 12s 9s +33%
poly_caddq LP64 bitwuzla ✅ 5s 4s +25%
LP64 z3* ✅ 2s 1s +100%
poly_caddq_c LP64 bitwuzla ✅ 17s 16s +6%
LP64 z3* ✅ 3s 3s +0%
poly_caddq_native LP64 bitwuzla ✅ 107s 106s +1%
LP64 z3* ✅ 5s 3s +67%
poly_caddq_native_aarch64 LP64 cvc5_mbqi_enum ✅ 33s 33s +0%
LP64 z3* ✅ 2s 3s -33%
poly_caddq_native_riscv64 LP64 cvc5_mbqi_enum ✅ 22s - new
LP64 z3* ✅ 1s - new
poly_caddq_native_x86_64 LP64 bitwuzla ✅ 113s 115s -2%
LP64 z3* ✅ 3s 3s +0%
poly_challenge LP64 bitwuzla ✅ 24s 24s +0%
LP64 z3* ✅ 13s 13s +0%
poly_chknorm LP64 bitwuzla ✅ 2s 3s -33%
LP64 z3* ✅ 3s 3s +0%
poly_chknorm_c LP64 bitwuzla ✅ 10s 9s +11%
LP64 z3* ✅ 8s 8s +0%
poly_chknorm_native LP64 bitwuzla ✅ 5s 5s +0%
LP64 z3* ✅ 2s 1s +100%
poly_chknorm_native_aarch64 LP64 bitwuzla ✅ 1s 4s -75%
LP64 z3* ✅ 1s 1s +0%
poly_chknorm_native_riscv64 LP64 bitwuzla ✅ 3s - new
LP64 z3* ✅ 3s - new
poly_chknorm_native_x86_64 LP64 bitwuzla ✅ 2s 4s -50%
LP64 z3* ✅ 2s 3s -33%
poly_decompose LP64 bitwuzla ✅ 3s 4s -25%
LP64 z3* ✅ 3s 3s +0%
poly_decompose_32_native_aarch64 LP64 cadical ✅ 1s 3s -67%
LP64 z3* ✅ 1s 2s -50%
poly_decompose_32_native_riscv64 LP64 cadical ✅ 3s - new
LP64 z3* ✅ 2s - new
poly_decompose_88_native_aarch64 LP64 bitwuzla ✅ 5s 5s +0%
LP64 z3* ✅ 4s 3s +33%
poly_decompose_88_native_riscv64 LP64 bitwuzla ✅ 6s - new
LP64 z3* ✅ 2s - new
poly_decompose_c LP64 cvc5_mbqi_enum ✅ 210s 171s +23%
LP64 z3* ✅ 3s 3s +0%
poly_decompose_native LP64 cadical ✅ 14s 15s -7%
LP64 z3* ✅ 2s 3s -33%
poly_decompose_native_x86_64 LP64 cadical ✅ 10s 10s +0%
LP64 z3* ✅ 5s 1s +400%
poly_invntt_tomont LP64 bitwuzla ✅ 5s 3s +67%
LP64 z3* ✅ 1s 4s -75%
poly_invntt_tomont_c LP64 bitwuzla ✅ 138s 154s -10%
LP64 z3_smt_only* ✅ 4s 5s -20%
poly_invntt_tomont_native LP64 bitwuzla ✅ 44s 45s -2%
LP64 z3* ✅ 4s 1s +300%
poly_ntt LP64 bitwuzla ✅ 5s 5s +0%
LP64 z3* ✅ 3s 2s +50%
poly_ntt_c LP64 bitwuzla ✅ 42s 49s -14%
LP64 z3_smt_only* ✅ 10s 10s +0%
poly_ntt_native LP64 bitwuzla ✅ 25s 25s +0%
LP64 z3* ✅ 2s 2s +0%
poly_permute_bitrev_to_custom_optional LP64 bitwuzla ✅ 1s 3s -67%
LP64 z3* ✅ 2s 2s +0%
poly_permute_bitrev_to_custom_optional_native LP64 bitwuzla ✅ 2s 2s +0%
LP64 z3* ✅ 1s 3s -67%
poly_pointwise_montgomery LP64 bitwuzla ✅ 7s 7s +0%
LP64 z3* ✅ 2s 2s +0%
poly_pointwise_montgomery_c LP64 bitwuzla ✅ 164s 182s -10%
LP64 z3* ✅ 62s 62s +0%
poly_pointwise_montgomery_native LP64 cvc5_mbqi_enum ✅ 50s 57s -12%
LP64 z3* ✅ 3s 2s +50%
poly_power2round LP64 bitwuzla ✅ 295s 241s +22%
LP64 z3* ✅ 4s 2s +100%
poly_reduce LP64 bitwuzla ✅ 6s 8s -25%
LP64 z3* ✅ 3s 2s +50%
poly_shiftl LP64 bitwuzla ✅ 10s 10s +0%
LP64 z3* ✅ 3s 2s +50%
poly_sub LP64 bitwuzla ✅ 13s 13s +0%
LP64 z3* ✅ 2s 1s +100%
poly_uniform LP64 bitwuzla ✅ 176s 175s +1%
LP64 z3* ✅ 3s 3s +0%
poly_uniform_4x LP64 cadical ✅ 68s 59s +15%
LP64 z3* ✅ 6s 8s -25%
poly_uniform_eta LP64 bitwuzla ✅ 74s 76s -3%
LP64 z3* ✅ 2s 3s -33%
poly_uniform_eta_4x LP64 cadical ✅ 60s 59s +2%
LP64 z3* ✅ 11s 8s +38%
poly_uniform_gamma1 LP64 cadical ✅ 1s 2s -50%
LP64 z3* ✅ 3s 2s +50%
poly_uniform_gamma1_4x LP64 cadical ✅ 11s 12s -8%
LP64 z3* ✅ 3s 3s +0%
poly_use_hint LP64 cvc5_mbqi_enum ✅ 22s 23s -4%
LP64 z3* ✅ 2s 1s +100%
poly_use_hint_c LP64 cvc5_enum_inst ✅ 11s 13s -15%
LP64 z3* ✅ 3s 2s +50%
poly_use_hint_native LP64 cvc5_mbqi_enum ✅ 90s 92s -2%
LP64 z3* ✅ 2s 4s -50%
poly_use_hint_native_aarch64 LP64 bitwuzla ✅ 31s 35s -11%
LP64 z3* ✅ 3s 2s +50%
poly_use_hint_native_riscv64 LP64 bitwuzla ✅ 4s - new
LP64 z3* ✅ 2s - new
poly_use_hint_native_x86_64 LP64 bitwuzla ✅ 33s 34s -3%
LP64 z3* ✅ 2s 4s -50%
polyeta_pack LP64 bitwuzla ✅ 4s 5s -20%
LP64 z3* ✅ 2s 1s +100%
polyeta_unpack LP64 bitwuzla ✅ 2s 2s +0%
LP64 z3* ✅ 8s 8s +0%
polyt0_pack LP64 bitwuzla ✅ 5s 3s +67%
LP64 z3* ✅ 3s 4s -25%
polyt0_unpack LP64 bitwuzla ✅ 3s 3s +0%
LP64 z3* ✅ 8s 7s +14%
polyt1_pack LP64 bitwuzla ✅ 1s 3s -67%
LP64 z3* ✅ 2s 2s +0%
polyt1_unpack LP64 bitwuzla ✅ 1s 2s -50%
LP64 z3* ✅ 3s 2s +50%
polyvec_matrix_expand LP64 z3_no_bv_extract* ✅ 10s 10s +0%
polyvec_matrix_expand_serial LP64 z3* ✅ 8s 5s +60%
polyvec_matrix_pointwise_montgomery_row LP64 cadical ✅ 99s 98s +1%
LP64 z3_no_bv_extract* ✅ 3s 2s +50%
polyvec_matrix_pointwise_montgomery_yvec LP64 cadical ✅ 262s 234s +12%
LP64 z3* ✅ 7s 4s +75%
polyveck_caddq LP64 cadical ✅ 103s 100s +3%
LP64 z3* ✅ 3s 2s +50%
polyveck_decompose_pack_w1 LP64 cadical ✅ 105s 105s +0%
LP64 z3* ✅ 2s 4s -50%
polyveck_invntt_tomont LP64 cadical ✅ 136s 149s -9%
LP64 z3* ✅ 5s 3s +67%
polyveck_ntt LP64 cadical ✅ 115s 113s +2%
LP64 z3* ✅ 3s 4s -25%
polyveck_reduce LP64 cadical ✅ 2s 4s -50%
LP64 z3* ✅ 2s 4s -50%
polyveck_unpack_eta LP64 cvc5_mbqi_enum ✅ 27s 26s +4%
LP64 z3* ✅ 2s 2s +0%
polyveck_unpack_eta_chknorm LP64 cvc5_mbqi_enum ✅ 17s 16s +6%
LP64 z3* ✅ 5s 3s +67%
polyvecl_chknorm LP64 cadical ✅ 53s 50s +6%
LP64 z3* ✅ 2s 2s +0%
polyvecl_ntt LP64 cadical ✅ 114s 133s -14%
LP64 z3* ✅ 3s 2s +50%
polyvecl_pointwise_acc_montgomery LP64 cvc5_mbqi_enum ✅ 8s 6s +33%
LP64 z3_smt_only* ✅ 2s 2s +0%
polyvecl_pointwise_acc_montgomery_c LP64 cadical ✅ 88s 88s +0%
LP64 z3_smt_only* ✅ 95s 94s +1%
polyvecl_pointwise_acc_montgomery_native LP64 cvc5_mbqi_enum ✅ 150s 160s -6%
LP64 z3_smt_only* ✅ 2s 2s +0%
polyvecl_uniform_gamma1 LP64 cvc5_mbqi_enum ✅ 40s 38s +5%
LP64 z3* ✅ 1s 3s -67%
polyvecl_uniform_gamma1_serial LP64 cvc5_mbqi_enum ✅ 41s 42s -2%
LP64 z3* ✅ 3s 3s +0%
polyvecl_unpack_eta LP64 cvc5_mbqi_enum ✅ 33s 30s +10%
LP64 z3* ✅ 3s 4s -25%
polyvecl_unpack_z LP64 cvc5_mbqi_enum ✅ 26s 24s +8%
LP64 z3* ✅ 2s 2s +0%
polyw1_pack LP64 bitwuzla ✅ 3s 3s +0%
LP64 z3* ✅ 1s 3s -67%
polyw1_pack_32 LP64 bitwuzla ✅ 3s 1s +200%
LP64 z3* ✅ 1s 1s +0%
polyw1_pack_88 LP64 bitwuzla ✅ 4s 3s +33%
LP64 z3* ✅ 2s 1s +100%
polyw1_unpack LP64 bitwuzla ✅ 2s 4s -50%
LP64 z3* ✅ 2s 2s +0%
polyw1_unpack_32 LP64 bitwuzla ✅ 3s 1s +200%
LP64 z3* ✅ 2s 3s -33%
polyw1_unpack_88 LP64 bitwuzla ✅ 4s 4s +0%
LP64 z3* ✅ 3s 5s -40%
polyz_pack LP64 bitwuzla ✅ 4s 4s +0%
LP64 z3* ✅ 1s 3s -67%
polyz_unpack LP64 bitwuzla ✅ 6s 8s -25%
LP64 z3* ✅ 2s 2s +0%
polyz_unpack_17_native_aarch64 LP64 bitwuzla ✅ 2s 2s +0%
LP64 z3* ✅ 3s 3s +0%
polyz_unpack_17_native_riscv64 LP64 bitwuzla ✅ 2s - new
LP64 z3* ✅ 2s - new
polyz_unpack_19_native_aarch64 LP64 bitwuzla ✅ 3s 1s +200%
LP64 z3* ✅ 3s 1s +200%
polyz_unpack_19_native_riscv64 LP64 bitwuzla ✅ 1s - new
LP64 z3* ✅ 2s - new
polyz_unpack_c LP64 bitwuzla ✅ 2s 2s +0%
LP64 z3* ✅ 5s 3s +67%
polyz_unpack_native LP64 bitwuzla ✅ 25s 23s +9%
LP64 z3* ✅ 2s 1s +100%
polyz_unpack_native_x86_64 LP64 bitwuzla ✅ 15s 14s +7%
LP64 z3* ✅ 2s 1s +100%
power2round LP64 bitwuzla ✅ 2s 2s +0%
LP64 z3* ✅ 5s 2s +150%
reduce32 LP64 bitwuzla ✅ 3s 2s +50%
LP64 z3* ✅ 2s 2s +0%
rej_eta LP64 bitwuzla* ✅ 2s 3s -33%
LP64 z3_smt_only ✅ 4s 3s +33%
rej_eta_c LP64 bitwuzla* ✅ 3s 3s +0%
LP64 z3 ✅ 14s 13s +8%
rej_eta_native LP64 bitwuzla* ✅ 2s 2s +0%
LP64 z3_smt_only ✅ 15s 15s +0%
rej_uniform LP64 bitwuzla ✅ 1s 4s -75%
LP64 z3* ✅ 6s 8s -25%
rej_uniform_c LP64 bitwuzla ✅ 1s 2s -50%
LP64 z3* ✅ 11s 12s -8%
rej_uniform_eta_native_aarch64 LP64 bitwuzla* ✅ 3s 2s +50%
LP64 z3_smt_only ✅ 2s 3s -33%
rej_uniform_eta_native_riscv64 LP64 bitwuzla* ✅ 3s - new
LP64 z3_smt_only ✅ 4s - new
rej_uniform_eta_native_x86_64 LP64 bitwuzla ✅ 3s 3s +0%
LP64 z3_smt_only* ✅ 3s 1s +200%
rej_uniform_native LP64 bitwuzla* ✅ 4s 3s +33%
LP64 z3_smt_only ✅ 10s 8s +25%
rej_uniform_native_aarch64 LP64 bitwuzla* ✅ 2s 4s -50%
LP64 z3_smt_only ✅ 2s 4s -50%
rej_uniform_native_riscv64 LP64 bitwuzla* ✅ 3s - new
LP64 z3_smt_only ✅ 1s - new
rej_uniform_native_x86_64 LP64 bitwuzla ✅ 5s 5s +0%
LP64 z3_smt_only* ✅ 9s 11s -18%
shake128_absorb LP64 cvc5_arrays_exp ✅ 2s 1s +100%
LP64 z3* ✅ 3s 2s +50%
shake128_finalize LP64 cvc5_arrays_exp ✅ 2s 2s +0%
LP64 z3* ✅ 2s 3s -33%
shake128_init LP64 bitwuzla ✅ 4s 1s +300%
LP64 z3* ✅ 3s 4s -25%
shake128_release LP64 bitwuzla ✅ 2s 2s +0%
LP64 z3* ✅ 3s 1s +200%
shake128_squeeze LP64 bitwuzla* ✅ 3s 3s +0%
LP64 cvc5_arrays_exp ✅ 1s 3s -67%
shake128x4_absorb_once LP64 bitwuzla* ✅ 3s 2s +50%
LP64 z3_smt_only ✅ 2s 2s +0%
shake128x4_squeezeblocks LP64 bitwuzla* ✅ 2s 1s +100%
LP64 z3 ✅ 2s 1s +100%
shake256 LP64 bitwuzla ✅ 2s 3s -33%
LP64 z3* ✅ 1s 2s -50%
shake256_absorb LP64 bitwuzla ✅ 1s 1s +0%
LP64 z3* ✅ 1s 2s -50%
shake256_finalize LP64 cvc5_arrays_exp ✅ 3s 2s +50%
LP64 z3* ✅ 5s 2s +150%
shake256_init LP64 cvc5_arrays_exp ✅ 2s 2s +0%
LP64 z3* ✅ 3s 3s +0%
shake256_release LP64 bitwuzla ✅ 3s 1s +200%
LP64 z3* ✅ 3s 1s +200%
shake256_squeeze LP64 bitwuzla* ✅ 1s 3s -67%
LP64 z3 ✅ 3s 1s +200%
shake256x4_absorb_once LP64 bitwuzla* ✅ 2s 2s +0%
LP64 z3 ✅ 2s 2s +0%
shake256x4_squeezeblocks LP64 bitwuzla* ✅ 2s 1s +100%
LP64 z3_smt_only ✅ 2s 3s -33%
sig_unpack_hints LP64 bitwuzla ✅ 51s 50s +2%
LP64 z3* ✅ 31s 33s -6%
sign_keypair LP64 cadical ✅ 45s 56s -20%
LP64 z3* ✅ 5s 5s +0%
sign_keypair_internal LP64 cadical ✅ 143s 146s -2%
LP64 z3_no_bv_extract* ✅ 7s 8s -12%
sign_pk_from_sk LP64 z3_no_bv_extract* ✅ 32s 34s -6%
sign_signature LP64 bitwuzla ✅ 2s 3s -33%
LP64 z3* ✅ 2s 4s -50%
sign_signature_extmu LP64 cadical ✅ 22s 18s +22%
LP64 z3* ✅ 5s 3s +67%
sign_signature_internal LP64 z3_no_bv_extract* ✅ 94s 95s -1%
sign_signature_pre_hash_internal LP64 bitwuzla ✅ 3s 5s -40%
LP64 z3* ✅ 3s 3s +0%
sign_signature_pre_hash_shake256 LP64 cadical ✅ 13s 14s -7%
LP64 z3* ✅ 10s 7s +43%
sign_verify LP64 bitwuzla ✅ 3s 1s +200%
LP64 z3* ✅ 3s 2s +50%
sign_verify_extmu LP64 bitwuzla ✅ 3s 3s +0%
LP64 z3* ✅ 2s 3s -33%
sign_verify_internal LP64 z3_no_bv_extract* ✅ 323s 296s +9%
sign_verify_pre_hash_internal LP64 bitwuzla ✅ 3s 4s -25%
LP64 z3* ✅ 3s 2s +50%
sign_verify_pre_hash_shake256 LP64 bitwuzla ✅ 1s 2s -50%
LP64 z3* ✅ 4s 2s +100%
sk_s1hat_get_poly LP64 bitwuzla ✅ 30s 31s -3%
LP64 z3* ✅ 2s 1s +100%
sk_s2hat_get_poly LP64 bitwuzla ✅ 29s 29s +0%
LP64 z3* ✅ 2s 2s +0%
sk_t0hat_get_poly LP64 bitwuzla ✅ 29s 29s +0%
LP64 z3* ✅ 2s 4s -50%
sys_check_capability LP64 cvc5_arrays_exp ✅ 2s 3s -33%
LP64 z3* ✅ 2s 2s +0%
unpack_pk_t1 LP64 bitwuzla ✅ 11s 11s +0%
LP64 z3* ✅ 2s 2s +0%
unpack_sk LP64 cadical ✅ 32s 37s -14%
LP64 z3* ✅ 2s 3s -33%
unpack_sk_s1hat LP64 cvc5_mbqi_enum ✅ 237s 248s -4%
LP64 z3* ✅ 2s 2s +0%
unpack_sk_s2hat LP64 cvc5_mbqi_enum ✅ 247s 249s -1%
LP64 z3* ✅ 1s 5s -80%
unpack_sk_t0hat LP64 cadical ✅ 37s 36s +3%
LP64 z3* ✅ 2s 1s +100%
use_hint LP64 bitwuzla ✅ 2s 4s -50%
LP64 z3* ✅ 1s 3s -67%
yvec_get_poly LP64 bitwuzla ✅ 31s 34s -9%
LP64 z3* ✅ 2s 1s +100%
yvec_init LP64 bitwuzla ✅ 38s 41s -7%
LP64 z3* ✅ 2s 3s -33%

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Arm Cortex-A72 (Raspberry Pi 4) benchmarks (opt)

Details
Benchmark suite Current: 370ae03 Previous: e71e3d6 Ratio
ML-DSA-44 keypair 216352 cycles 212507 cycles 1.02
ML-DSA-44 sign 591411 cycles 582762 cycles 1.01
ML-DSA-44 verify 214604 cycles 210652 cycles 1.02
ML-DSA-65 keypair 375051 cycles 373530 cycles 1.00
ML-DSA-65 sign 962379 cycles 971803 cycles 0.99
ML-DSA-65 verify 357240 cycles 355846 cycles 1.00
ML-DSA-87 keypair 626962 cycles 626828 cycles 1.00
ML-DSA-87 sign 1289709 cycles 1287242 cycles 1.00
ML-DSA-87 verify 607013 cycles 608502 cycles 1.00

This comment was automatically generated by workflow using github-action-benchmark.

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Arm Cortex-A72 (Raspberry Pi 4) benchmarks (no-opt)

Details
Benchmark suite Current: 370ae03 Previous: e71e3d6 Ratio
ML-DSA-44 keypair 294081 cycles 292945 cycles 1.00
ML-DSA-44 sign 1107245 cycles 1105907 cycles 1.00
ML-DSA-44 verify 320306 cycles 322008 cycles 0.99
ML-DSA-65 keypair 536717 cycles 535092 cycles 1.00
ML-DSA-65 sign 1820415 cycles 1825436 cycles 1.00
ML-DSA-65 verify 516997 cycles 515615 cycles 1.00
ML-DSA-87 keypair 827361 cycles 825831 cycles 1.00
ML-DSA-87 sign 2311680 cycles 2313457 cycles 1.00
ML-DSA-87 verify 857529 cycles 850987 cycles 1.01

This comment was automatically generated by workflow using github-action-benchmark.

@oqs-bot

oqs-bot commented Nov 6, 2026

Copy link
Copy Markdown
Contributor

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

* default.

Full Results (461 configurations)
Proof DM Solver Status Current Previous Change
**TOTAL** - - ✅ 1290s 1243s +3.8%
caddq LP64 bitwuzla ✅ 2s 2s +0%
LP64 z3* ✅ 1s 5s -80%
compute_pack_t0_t1 LP64 z3_no_bv_extract* ✅ 29s 31s -6%
decompose LP64 bitwuzla ✅ 4s 2s +100%
LP64 z3* ✅ 2s 2s +0%
fqmul LP64 bitwuzla* ✅ 25s 25s +0%
LP64 z3_smt_only ✅ 22s 19s +16%
fqscale LP64 bitwuzla* ✅ 1s 2s -50%
LP64 z3 ✅ 4s 2s +100%
intt_native_aarch64 LP64 bitwuzla ✅ 23s 24s -4%
LP64 z3* ✅ 2s 1s +100%
intt_native_riscv64 LP64 bitwuzla ✅ 45s - new
LP64 z3* ✅ 2s - new
intt_native_rv32im_fastmul ILP32 z3* ✅ 3s 3s +0%
LP64 cvc5_mbqi_enum ✅ 7s 7s +0%
LP64 z3 ✅ 2s 4s -50%
intt_native_rv32im_slowmul ILP32 z3* ✅ 3s 2s +50%
LP64 cvc5_mbqi_enum ✅ 8s 7s +14%
LP64 z3 ✅ 2s 3s -33%
intt_native_x86_64 LP64 bitwuzla ✅ 20s 18s +11%
LP64 z3* ✅ 3s 1s +200%
keccak_absorb LP64 cvc5_arrays_exp ✅ 3s 3s +0%
LP64 z3* ✅ 7s 7s +0%
keccak_absorb_once_x4 LP64 bitwuzla* ✅ 5s 5s +0%
LP64 cvc5_arrays_exp ✅ 9s 8s +12%
keccak_f1600_x1_native_aarch64 LP64 bitwuzla* ✅ 3s 3s +0%
LP64 z3_no_bv_extract ✅ 2s 2s +0%
keccak_f1600_x1_native_aarch64_v84a LP64 bitwuzla* ✅ 1s 3s -67%
LP64 cvc5_arrays_exp ✅ 3s 2s +50%
keccak_f1600_x1_native_riscv64 LP64 bitwuzla* ✅ 2s - new
LP64 z3_no_bv_extract ✅ 2s - new
keccak_f1600_x4_native_aarch64_v84a LP64 bitwuzla* ✅ 2s 2s +0%
LP64 z3 ✅ 4s 3s +33%
keccak_f1600_x4_native_aarch64_v8a_scalar_hybrid LP64 bitwuzla* ✅ 1s 1s +0%
LP64 z3_smt_only ✅ 3s 3s +0%
keccak_f1600_x4_native_aarch64_v8a_v84a_scalar_hybrid LP64 bitwuzla* ✅ 2s 2s +0%
LP64 z3_smt_only ✅ 2s 1s +100%
keccak_f1600_x4_native_avx2 LP64 bitwuzla* ✅ 2s 2s +0%
LP64 cvc5_arrays_exp ✅ 1s 2s -50%
keccak_finalize LP64 cvc5_arrays_exp ✅ 2s 1s +100%
LP64 z3* ✅ 2s 2s +0%
keccak_init LP64 bitwuzla ✅ 2s 1s +100%
LP64 z3* ✅ 3s 1s +200%
keccak_squeeze LP64 bitwuzla* ✅ 2s 2s +0%
LP64 z3 ✅ 1s 2s -50%
keccak_squeezeblocks_x4 LP64 bitwuzla* ✅ 3s 2s +50%
LP64 z3 ✅ 2s 2s +0%
keccakf1600_extract_bytes (big endian) LP64 cvc5_arrays_exp ✅ 2s 3s -33%
LP64 z3* ✅ 4s 3s +33%
keccakf1600_permute LP64 bitwuzla ✅ 1s 1s +0%
LP64 z3* ✅ 1s 1s +0%
keccakf1600_permute_native LP64 bitwuzla ✅ 3s 2s +50%
LP64 z3* ✅ 2s 2s +0%
keccakf1600_xor_bytes LP64 bitwuzla* ✅ 1s 2s -50%
LP64 cvc5_arrays_exp ✅ 1s 1s +0%
keccakf1600_xor_bytes (big endian) LP64 bitwuzla* ✅ 1s 3s -67%
LP64 z3_smt_only ✅ 2s 3s -33%
keccakf1600x4_extract_bytes LP64 bitwuzla* ✅ 1s 3s -67%
LP64 z3 ✅ 2s 1s +100%
keccakf1600x4_extract_bytes_native LP64 bitwuzla* ✅ 1s 2s -50%
LP64 z3 ✅ 2s 2s +0%
keccakf1600x4_permute LP64 cvc5_arrays_exp ✅ 5s 1s +400%
LP64 z3* ✅ 2s 2s +0%
keccakf1600x4_permute_native LP64 cvc5_arrays_exp ✅ 12s 14s -14%
LP64 z3* ✅ 14s 12s +17%
keccakf1600x4_xor_bytes LP64 bitwuzla* ✅ 3s 1s +200%
LP64 cvc5_arrays_exp ✅ 4s 2s +100%
keccakf1600x4_xor_bytes_native LP64 bitwuzla* ✅ 1s 2s -50%
LP64 z3_no_bv_extract ✅ 1s 2s -50%
make_hint LP64 cvc5_arrays_exp ✅ 3s 3s +0%
LP64 z3* ✅ 2s 3s -33%
mld_attempt_signature_generation LP64 z3_no_bv_extract* ✅ 105s 114s -8%
mld_check_pct LP64 bitwuzla ✅ 3s 5s -40%
LP64 z3* ✅ 4s 4s +0%
mld_compute_pack_z LP64 cadical ✅ 35s 39s -10%
LP64 z3_no_bv_extract* ✅ 4s 4s +0%
mld_ct_abs_i32 ILP32 bitwuzla ✅ 1s 2s -50%
ILP32 cvc5_arrays_exp ✅ 3s 1s +200%
ILP32 z3 ✅ 2s 1s +100%
LP64 bitwuzla ✅ 2s 2s +0%
LP64 cvc5_arrays_exp ✅ 1s 2s -50%
LP64 z3* ✅ 4s 3s +33%
mld_ct_cmask_neg_i32 LP64 cvc5_arrays_exp ✅ 3s 2s +50%
LP64 z3* ✅ 2s 1s +100%
mld_ct_cmask_nonzero_u32 LP64 cvc5_arrays_exp ✅ 3s 1s +200%
LP64 z3* ✅ 2s 2s +0%
mld_ct_cmask_nonzero_u8 LP64 bitwuzla ✅ 2s 2s +0%
LP64 z3* ✅ 2s 3s -33%
mld_ct_get_optblocker_i64 LP64 bitwuzla ✅ 1s 2s -50%
LP64 z3* ✅ 2s 2s +0%
mld_ct_get_optblocker_u32 LP64 bitwuzla ✅ 1s 1s +0%
LP64 z3* ✅ 3s 2s +50%
mld_ct_get_optblocker_u8 LP64 bitwuzla* ✅ 3s 1s +200%
LP64 z3_smt_only ✅ 2s 2s +0%
mld_ct_memcmp LP64 bitwuzla* ✅ 1s 1s +0%
LP64 z3_no_bv_extract ✅ 48s 51s -6%
mld_ct_sel_int32 LP64 bitwuzla ✅ 2s 2s +0%
LP64 z3* ✅ 1s 2s -50%
mld_h LP64 bitwuzla ✅ 3s 2s +50%
LP64 z3* ✅ 3s 3s +0%
mld_invntt_layer LP64 bitwuzla* ✅ 72s 72s +0%
LP64 z3_smt_only ✅ 83s 83s +0%
mld_keccakf1600_extract_bytes LP64 bitwuzla ✅ 2s 1s +100%
LP64 z3* ✅ 1s 1s +0%
mld_keccakf1600_permute_c LP64 cvc5_arrays_exp ✅ 4s 4s +0%
LP64 z3* ✅ 4s 4s +0%
mld_keccakf1600x4_extract_bytes_c LP64 cvc5_arrays_exp ✅ 1s 3s -67%
LP64 z3* ✅ 3s 2s +50%
mld_keccakf1600x4_xor_bytes_c LP64 bitwuzla ✅ 1s 2s -50%
LP64 z3* ✅ 2s 2s +0%
mld_ntt_butterfly_block LP64 bitwuzla* ✅ 13s 14s -7%
LP64 z3_no_bv_extract ✅ 205s 213s -4%
mld_ntt_layer LP64 bitwuzla* ✅ 25s 29s -14%
LP64 z3_no_bv_extract ✅ 4s 3s +33%
mld_polymat_expand_entry LP64 bitwuzla ✅ 3s 2s +50%
LP64 z3* ✅ 2s 2s +0%
mld_prepare_domain_separation_prefix LP64 bitwuzla ✅ 2s 2s +0%
LP64 z3* ✅ 2s 2s +0%
mld_sample_pack_s1_s2 LP64 cadical ✅ 48s 46s +4%
LP64 z3* ✅ 5s 4s +25%
mld_sample_pack_s1_s2_serial LP64 cvc5_mbqi_enum ✅ 234s 237s -1%
LP64 z3* ✅ 1s 2s -50%
mld_sign_attempt LP64 cvc5_arrays_exp ✅ 2s 1s +100%
LP64 z3* ✅ 2s 1s +100%
mld_sign_finish LP64 bitwuzla ✅ 3s 3s +0%
LP64 z3* ✅ 2s 3s -33%
mld_sign_hook_resume LP64 bitwuzla ✅ 4s 2s +100%
LP64 z3* ✅ 1s 3s -67%
mld_value_barrier_i64 LP64 bitwuzla ✅ 1s 2s -50%
LP64 z3* ✅ 3s 1s +200%
mld_value_barrier_u32 LP64 bitwuzla ✅ 2s 2s +0%
LP64 z3* ✅ 1s 2s -50%
mld_value_barrier_u8 LP64 cvc5_arrays_exp ✅ 2s 2s +0%
LP64 z3* ✅ 3s 2s +50%
montgomery_reduce LP64 cvc5_arrays_exp ✅ 1s 2s -50%
LP64 z3* ✅ 3s 1s +200%
ntt_native_aarch64 LP64 bitwuzla ✅ 21s 20s +5%
LP64 z3* ✅ 1s 2s -50%
ntt_native_riscv64 LP64 bitwuzla ✅ 51s - new
LP64 z3* ✅ 2s - new
ntt_native_rv32im_fastmul ILP32 z3* ✅ 2s 3s -33%
LP64 cvc5_mbqi_enum ✅ 7s 6s +17%
LP64 z3 ✅ 1s 2s -50%
ntt_native_rv32im_slowmul ILP32 z3* ✅ 2s 2s +0%
LP64 cvc5_mbqi_enum ✅ 6s 6s +0%
LP64 z3 ✅ 4s 2s +100%
ntt_native_x86_64 LP64 bitwuzla ✅ 20s 22s -9%
LP64 z3* ✅ 3s 3s +0%
nttunpack_native_x86_64 LP64 bitwuzla ✅ 198s 208s -5%
LP64 z3* ✅ 1s 2s -50%
pack_sig_c LP64 cvc5_arrays_exp ✅ 3s 1s +200%
LP64 z3* ✅ 3s 1s +200%
pack_sig_h LP64 bitwuzla ✅ 2s 2s +0%
LP64 z3_no_bv_extract* ✅ 1s 1s +0%
pack_sig_z LP64 bitwuzla ✅ 2s 3s -33%
LP64 z3* ✅ 1s 2s -50%
pack_sk_rho_key_tr LP64 bitwuzla ✅ 1s 2s -50%
LP64 z3* ✅ 2s 1s +100%
pointwise_acc_native_aarch64 LP64 cadical ✅ 80s 81s -1%
LP64 z3_smt_only* ✅ 3s 3s +0%
pointwise_acc_native_riscv64 LP64 cadical ✅ 69s - new
LP64 z3_smt_only* ✅ 3s - new
pointwise_acc_native_x86_64 LP64 cadical ✅ 94s 80s +18%
LP64 z3_smt_only* ✅ 3s 2s +50%
pointwise_native_aarch64 LP64 bitwuzla ✅ 21s 23s -9%
LP64 z3* ✅ 1s 3s -67%
pointwise_native_riscv64 LP64 bitwuzla ✅ 2s - new
LP64 z3* ✅ 2s - new
pointwise_native_rv32im_fastmul ILP32 z3* ✅ 3s 2s +50%
LP64 cvc5_mbqi_enum ✅ 9s 9s +0%
LP64 z3 ✅ 3s 3s +0%
pointwise_native_rv32im_slowmul ILP32 z3* ✅ 4s 2s +100%
LP64 cvc5_mbqi_enum ✅ 8s 9s -11%
LP64 z3 ✅ 4s 3s +33%
pointwise_native_x86_64 LP64 bitwuzla ✅ 23s 24s -4%
LP64 z3* ✅ 3s 3s +0%
poly_add LP64 cadical ✅ 53s 50s +6%
LP64 z3* ✅ 13s 13s +0%
poly_caddq LP64 bitwuzla ✅ 4s 3s +33%
LP64 z3* ✅ 1s 3s -67%
poly_caddq_c LP64 bitwuzla ✅ 22s 19s +16%
LP64 z3* ✅ 3s 4s -25%
poly_caddq_native LP64 bitwuzla ✅ 123s 123s +0%
LP64 z3* ✅ 3s 3s +0%
poly_caddq_native_aarch64 LP64 cvc5_mbqi_enum ✅ 37s 37s +0%
LP64 z3* ✅ 2s 2s +0%
poly_caddq_native_riscv64 LP64 cvc5_mbqi_enum ✅ 22s - new
LP64 z3* ✅ 1s - new
poly_caddq_native_x86_64 LP64 bitwuzla ✅ 129s 136s -5%
LP64 z3* ✅ 2s 2s +0%
poly_challenge LP64 bitwuzla ✅ 21s 25s -16%
LP64 z3* ✅ 11s 13s -15%
poly_chknorm LP64 bitwuzla ✅ 2s 3s -33%
LP64 z3* ✅ 2s 2s +0%
poly_chknorm_c LP64 bitwuzla ✅ 8s 10s -20%
LP64 z3* ✅ 7s 8s -12%
poly_chknorm_native LP64 bitwuzla ✅ 8s 6s +33%
LP64 z3* ✅ 2s 2s +0%
poly_chknorm_native_aarch64 LP64 bitwuzla ✅ 4s 3s +33%
LP64 z3* ✅ 2s 2s +0%
poly_chknorm_native_riscv64 LP64 bitwuzla ✅ 5s - new
LP64 z3* ✅ 1s - new
poly_chknorm_native_x86_64 LP64 bitwuzla ✅ 1s 2s -50%
LP64 z3* ✅ 3s 2s +50%
poly_decompose LP64 bitwuzla ✅ 6s 6s +0%
LP64 z3* ✅ 4s 2s +100%
poly_decompose_32_native_aarch64 LP64 cadical ✅ 9s 8s +12%
LP64 z3* ✅ 3s 2s +50%
poly_decompose_32_native_riscv64 LP64 cadical ✅ 10s - new
LP64 z3* ✅ 4s - new
poly_decompose_88_native_aarch64 LP64 bitwuzla ✅ 2s 3s -33%
LP64 z3* ✅ 3s 3s +0%
poly_decompose_88_native_riscv64 LP64 bitwuzla ✅ 4s - new
LP64 z3* ✅ 2s - new
poly_decompose_c LP64 cvc5_mbqi_enum ✅ 247s 258s -4%
LP64 z3* ✅ 2s 3s -33%
poly_decompose_native LP64 cadical ✅ 14s 13s +8%
LP64 z3* ✅ 3s 2s +50%
poly_decompose_native_x86_64 LP64 cadical ✅ 8s 8s +0%
LP64 z3* ✅ 4s 1s +300%
poly_invntt_tomont LP64 bitwuzla ✅ 5s 6s -17%
LP64 z3* ✅ 2s 1s +100%
poly_invntt_tomont_c LP64 bitwuzla ✅ 171s 172s -1%
LP64 z3_smt_only* ✅ 6s 4s +50%
poly_invntt_tomont_native LP64 bitwuzla ✅ 47s 53s -11%
LP64 z3* ✅ 4s 3s +33%
poly_ntt LP64 bitwuzla ✅ 4s 6s -33%
LP64 z3* ✅ 2s 2s +0%
poly_ntt_c LP64 bitwuzla ✅ 51s 53s -4%
LP64 z3_smt_only* ✅ 8s 10s -20%
poly_ntt_native LP64 bitwuzla ✅ 26s 29s -10%
LP64 z3* ✅ 2s 2s +0%
poly_permute_bitrev_to_custom_optional LP64 bitwuzla ✅ 2s 2s +0%
LP64 z3* ✅ 3s 1s +200%
poly_permute_bitrev_to_custom_optional_native LP64 bitwuzla ✅ 2s 3s -33%
LP64 z3* ✅ 1s 2s -50%
poly_pointwise_montgomery LP64 bitwuzla ✅ 11s 10s +10%
LP64 z3* ✅ 4s 2s +100%
poly_pointwise_montgomery_c LP64 bitwuzla ✅ 206s 203s +1%
LP64 z3* ✅ 42s 39s +8%
poly_pointwise_montgomery_native LP64 cvc5_mbqi_enum ✅ 53s 56s -5%
LP64 z3* ✅ 4s 1s +300%
poly_power2round LP64 bitwuzla ✅ 272s 308s -12%
LP64 z3* ✅ 2s 2s +0%
poly_reduce LP64 bitwuzla ✅ 7s 8s -12%
LP64 z3* ✅ 2s 3s -33%
poly_shiftl LP64 bitwuzla ✅ 11s 14s -21%
LP64 z3* ✅ 2s 2s +0%
poly_sub LP64 bitwuzla ✅ 13s 15s -13%
LP64 z3* ✅ 5s 4s +25%
poly_uniform LP64 bitwuzla ✅ 195s 168s +16%
LP64 z3* ✅ 1s 1s +0%
poly_uniform_4x LP64 cadical ✅ 1s 1s +0%
LP64 z3* ✅ 2s 2s +0%
poly_uniform_eta LP64 bitwuzla ✅ 56s 57s -2%
LP64 z3* ✅ 3s 4s -25%
poly_uniform_eta_4x LP64 cadical ✅ 65s 55s +18%
LP64 z3* ✅ 9s 9s +0%
poly_uniform_gamma1 LP64 cadical ✅ 5s 4s +25%
LP64 z3* ✅ 2s 1s +100%
poly_uniform_gamma1_4x LP64 cadical ✅ 1s 2s -50%
LP64 z3* ✅ 1s 2s -50%
poly_use_hint LP64 cvc5_mbqi_enum ✅ 22s 23s -4%
LP64 z3* ✅ 2s 3s -33%
poly_use_hint_c LP64 cvc5_enum_inst ✅ 11s 12s -8%
LP64 z3* ✅ 5s 5s +0%
poly_use_hint_native LP64 cvc5_mbqi_enum ✅ 89s 84s +6%
LP64 z3* ✅ 4s 4s +0%
poly_use_hint_native_aarch64 LP64 bitwuzla ✅ 30s 29s +3%
LP64 z3* ✅ 1s 2s -50%
poly_use_hint_native_riscv64 LP64 bitwuzla ✅ 1s - new
LP64 z3* ✅ 1s - new
poly_use_hint_native_x86_64 LP64 bitwuzla ✅ 30s 31s -3%
LP64 z3* ✅ 2s 2s +0%
polyeta_pack LP64 bitwuzla ✅ 2s 3s -33%
LP64 z3* ✅ 2s 1s +100%
polyeta_unpack LP64 bitwuzla ✅ 3s 1s +200%
LP64 z3* ✅ 1s 2s -50%
polyt0_pack LP64 bitwuzla ✅ 6s 5s +20%
LP64 z3* ✅ 2s 2s +0%
polyt0_unpack LP64 bitwuzla ✅ 3s 2s +50%
LP64 z3* ✅ 7s 7s +0%
polyt1_pack LP64 bitwuzla ✅ 3s 1s +200%
LP64 z3* ✅ 2s 1s +100%
polyt1_unpack LP64 bitwuzla ✅ 1s 2s -50%
LP64 z3* ✅ 4s 5s -20%
polyvec_matrix_expand LP64 z3_no_bv_extract* ✅ 2s 1s +100%
polyvec_matrix_expand_serial LP64 z3* ✅ 2s 1s +100%
polyvec_matrix_pointwise_montgomery_row LP64 cadical ✅ 48s 42s +14%
LP64 z3_no_bv_extract* ✅ 4s 6s -33%
polyvec_matrix_pointwise_montgomery_yvec LP64 cadical ✅ 801s 799s +0%
LP64 z3* ✅ 90s 83s +8%
polyveck_caddq LP64 cadical ✅ 223s 225s -1%
LP64 z3* ✅ 3s 3s +0%
polyveck_decompose_pack_w1 LP64 cadical ✅ 174s 181s -4%
LP64 z3* ✅ 16s 16s +0%
polyveck_invntt_tomont LP64 cadical ✅ 187s 195s -4%
LP64 z3* ✅ 3s 4s -25%
polyveck_ntt LP64 cadical ✅ 2s 3s -33%
LP64 z3* ✅ 3s 1s +200%
polyveck_reduce LP64 cadical ✅ 176s 215s -18%
LP64 z3* ✅ 5s 2s +150%
polyveck_unpack_eta LP64 cvc5_mbqi_enum ✅ 2s 2s +0%
LP64 z3* ✅ 3s 2s +50%
polyveck_unpack_eta_chknorm LP64 cvc5_mbqi_enum ✅ 19s 20s -5%
LP64 z3* ✅ 2s 2s +0%
polyvecl_chknorm LP64 cadical ✅ 70s 73s -4%
LP64 z3* ✅ 2s 2s +0%
polyvecl_ntt LP64 cadical ✅ 168s 162s +4%
LP64 z3* ✅ 3s 2s +50%
polyvecl_pointwise_acc_montgomery LP64 cvc5_mbqi_enum ✅ 3s 2s +50%
LP64 z3_smt_only* ✅ 2s 3s -33%
polyvecl_pointwise_acc_montgomery_c LP64 cadical ✅ 1s 2s -50%
LP64 z3_smt_only* ✅ 2s 3s -33%
polyvecl_pointwise_acc_montgomery_native LP64 cvc5_mbqi_enum ✅ 3s 2s +50%
LP64 z3_smt_only* ✅ 2s 2s +0%
polyvecl_uniform_gamma1 LP64 cvc5_mbqi_enum ✅ 4s 2s +100%
LP64 z3* ✅ 2s 1s +100%
polyvecl_uniform_gamma1_serial LP64 cvc5_mbqi_enum ✅ 1s 2s -50%
LP64 z3* ✅ 4s 1s +300%
polyvecl_unpack_eta LP64 cvc5_mbqi_enum ✅ 34s 31s +10%
LP64 z3* ✅ 3s 2s +50%
polyvecl_unpack_z LP64 cvc5_mbqi_enum ✅ 36s 34s +6%
LP64 z3* ✅ 2s 2s +0%
polyw1_pack LP64 bitwuzla ✅ 3s 2s +50%
LP64 z3* ✅ 3s 1s +200%
polyw1_pack_32 LP64 bitwuzla ✅ 1s 3s -67%
LP64 z3* ✅ 2s 2s +0%
polyw1_pack_88 LP64 bitwuzla ✅ 1s 3s -67%
LP64 z3* ✅ 1s 1s +0%
polyw1_unpack LP64 bitwuzla ✅ 3s 4s -25%
LP64 z3* ✅ 2s 2s +0%
polyw1_unpack_32 LP64 bitwuzla ✅ 2s 2s +0%
LP64 z3* ✅ 4s 2s +100%
polyw1_unpack_88 LP64 bitwuzla ✅ 2s 2s +0%
LP64 z3* ✅ 2s 1s +100%
polyz_pack LP64 bitwuzla ✅ 2s 2s +0%
LP64 z3* ✅ 1s 2s -50%
polyz_unpack LP64 bitwuzla ✅ 7s 7s +0%
LP64 z3* ✅ 1s 2s -50%
polyz_unpack_17_native_aarch64 LP64 bitwuzla ✅ 2s 1s +100%
LP64 z3* ✅ 3s 1s +200%
polyz_unpack_17_native_riscv64 LP64 bitwuzla ✅ 2s - new
LP64 z3* ✅ 3s - new
polyz_unpack_19_native_aarch64 LP64 bitwuzla ✅ 2s 3s -33%
LP64 z3* ✅ 2s 2s +0%
polyz_unpack_19_native_riscv64 LP64 bitwuzla ✅ 3s - new
LP64 z3* ✅ 3s - new
polyz_unpack_c LP64 bitwuzla ✅ 3s 3s +0%
LP64 z3* ✅ 4s 4s +0%
polyz_unpack_native LP64 bitwuzla ✅ 29s 25s +16%
LP64 z3* ✅ 2s 1s +100%
polyz_unpack_native_x86_64 LP64 bitwuzla ✅ 14s 17s -18%
LP64 z3* ✅ 1s 2s -50%
power2round LP64 bitwuzla ✅ 2s 2s +0%
LP64 z3* ✅ 2s 1s +100%
reduce32 LP64 bitwuzla ✅ 3s 2s +50%
LP64 z3* ✅ 2s 3s -33%
rej_eta LP64 bitwuzla* ✅ 2s 2s +0%
LP64 z3_smt_only ✅ 3s 3s +0%
rej_eta_c LP64 bitwuzla* ✅ 3s 3s +0%
LP64 z3 ✅ 16s 15s +7%
rej_eta_native LP64 bitwuzla* ✅ 2s 1s +100%
LP64 z3_smt_only ✅ 11s 11s +0%
rej_uniform LP64 bitwuzla ✅ 2s 2s +0%
LP64 z3* ✅ 11s 12s -8%
rej_uniform_c LP64 bitwuzla ✅ 3s 1s +200%
LP64 z3* ✅ 9s 10s -10%
rej_uniform_eta_native_aarch64 LP64 bitwuzla* ✅ 3s 3s +0%
LP64 z3_smt_only ✅ 2s 2s +0%
rej_uniform_eta_native_riscv64 LP64 bitwuzla* ✅ 3s - new
LP64 z3_smt_only ✅ 2s - new
rej_uniform_eta_native_x86_64 LP64 bitwuzla ✅ 2s 2s +0%
LP64 z3_smt_only* ✅ 2s 3s -33%
rej_uniform_native LP64 bitwuzla* ✅ 5s 1s +400%
LP64 z3_smt_only ✅ 9s 10s -10%
rej_uniform_native_aarch64 LP64 bitwuzla* ✅ 2s 3s -33%
LP64 z3_smt_only ✅ 3s 2s +50%
rej_uniform_native_riscv64 LP64 bitwuzla* ✅ 1s - new
LP64 z3_smt_only ✅ 3s - new
rej_uniform_native_x86_64 LP64 bitwuzla ✅ 5s 6s -17%
LP64 z3_smt_only* ✅ 9s 8s +12%
shake128_absorb LP64 cvc5_arrays_exp ✅ 3s 1s +200%
LP64 z3* ✅ 2s 3s -33%
shake128_finalize LP64 cvc5_arrays_exp ✅ 2s 2s +0%
LP64 z3* ✅ 2s 3s -33%
shake128_init LP64 bitwuzla ✅ 4s 1s +300%
LP64 z3* ✅ 2s 2s +0%
shake128_release LP64 bitwuzla ✅ 3s 1s +200%
LP64 z3* ✅ 2s 1s +100%
shake128_squeeze LP64 bitwuzla* ✅ 2s 5s -60%
LP64 cvc5_arrays_exp ✅ 1s 3s -67%
shake128x4_absorb_once LP64 bitwuzla* ✅ 3s 1s +200%
LP64 z3_smt_only ✅ 2s 2s +0%
shake128x4_squeezeblocks LP64 bitwuzla* ✅ 2s 1s +100%
LP64 z3 ✅ 3s 1s +200%
shake256 LP64 bitwuzla ✅ 1s 1s +0%
LP64 z3* ✅ 1s 2s -50%
shake256_absorb LP64 bitwuzla ✅ 3s 2s +50%
LP64 z3* ✅ 3s 3s +0%
shake256_finalize LP64 cvc5_arrays_exp ✅ 1s 2s -50%
LP64 z3* ✅ 3s 4s -25%
shake256_init LP64 cvc5_arrays_exp ✅ 2s 2s +0%
LP64 z3* ✅ 2s 2s +0%
shake256_release LP64 bitwuzla ✅ 2s 2s +0%
LP64 z3* ✅ 3s 2s +50%
shake256_squeeze LP64 bitwuzla* ✅ 5s 1s +400%
LP64 z3 ✅ 3s 2s +50%
shake256x4_absorb_once LP64 bitwuzla* ✅ 2s 2s +0%
LP64 z3 ✅ 2s 3s -33%
shake256x4_squeezeblocks LP64 bitwuzla* ✅ 2s 2s +0%
LP64 z3_smt_only ✅ 1s 2s -50%
sig_unpack_hints LP64 bitwuzla ✅ 1463s 1503s -3%
LP64 z3* ✅ 19s 19s +0%
sign_keypair LP64 cadical ✅ 488s 508s -4%
LP64 z3* ✅ 4s 4s +0%
sign_keypair_internal LP64 cadical ✅ 182s 184s -1%
LP64 z3_no_bv_extract* ✅ 15s 16s -6%
sign_pk_from_sk LP64 z3_no_bv_extract* ✅ 27s 27s +0%
sign_signature LP64 bitwuzla ✅ 4s 4s +0%
LP64 z3* ✅ 2s 4s -50%
sign_signature_extmu LP64 cadical ✅ 36s 30s +20%
LP64 z3* ✅ 5s 3s +67%
sign_signature_internal LP64 z3_no_bv_extract* ✅ 13s 12s +8%
sign_signature_pre_hash_internal LP64 bitwuzla ✅ 3s 5s -40%
LP64 z3* ✅ 4s 5s -20%
sign_signature_pre_hash_shake256 LP64 cadical ✅ 16s 18s -11%
LP64 z3* ✅ 4s 4s +0%
sign_verify LP64 bitwuzla ✅ 4s 3s +33%
LP64 z3* ✅ 2s 3s -33%
sign_verify_extmu LP64 bitwuzla ✅ 1s 2s -50%
LP64 z3* ✅ 2s 2s +0%
sign_verify_internal LP64 z3_no_bv_extract* ✅ 200s 205s -2%
sign_verify_pre_hash_internal LP64 bitwuzla ✅ 1s 2s -50%
LP64 z3* ✅ 2s 3s -33%
sign_verify_pre_hash_shake256 LP64 bitwuzla ✅ 3s 4s -25%
LP64 z3* ✅ 4s 3s +33%
sk_s1hat_get_poly LP64 bitwuzla ✅ 1s 2s -50%
LP64 z3* ✅ 3s 3s +0%
sk_s2hat_get_poly LP64 bitwuzla ✅ 3s 1s +200%
LP64 z3* ✅ 2s 3s -33%
sk_t0hat_get_poly LP64 bitwuzla ✅ 3s 3s +0%
LP64 z3* ✅ 2s 2s +0%
sys_check_capability LP64 cvc5_arrays_exp ✅ 2s 2s +0%
LP64 z3* ✅ 3s 2s +50%
unpack_pk_t1 LP64 bitwuzla ✅ 10s 12s -17%
LP64 z3* ✅ 1s 2s -50%
unpack_sk LP64 cadical ✅ 2s 1s +100%
LP64 z3* ✅ 2s 1s +100%
unpack_sk_s1hat LP64 cvc5_mbqi_enum ✅ 2s 3s -33%
LP64 z3* ✅ 2s 1s +100%
unpack_sk_s2hat LP64 cvc5_mbqi_enum ✅ 4s 2s +100%
LP64 z3* ✅ 2s 2s +0%
unpack_sk_t0hat LP64 cadical ✅ 1s 1s +0%
LP64 z3* ✅ 3s 3s +0%
use_hint LP64 bitwuzla ✅ 2s 2s +0%
LP64 z3* ✅ 1s 2s -50%
yvec_get_poly LP64 bitwuzla ✅ 6s 7s -14%
LP64 z3* ✅ 4s 3s +33%
yvec_init LP64 bitwuzla ✅ 1s 1s +0%
LP64 z3* ✅ 3s 2s +50%

@oqs-bot

oqs-bot commented Nov 6, 2026

Copy link
Copy Markdown
Contributor

CBMC Results (ML-DSA-65)

* default.

Full Results (461 configurations)
Proof DM Solver Status Current Previous Change
**TOTAL** - - ✅ 2164s 2519s -14.1%
caddq LP64 bitwuzla ✅ 2s 2s +0%
LP64 z3* ✅ 2s 2s +0%
compute_pack_t0_t1 LP64 z3_no_bv_extract* ✅ 133s 156s -15%
decompose LP64 bitwuzla ✅ 3s 3s +0%
LP64 z3* ✅ 2s 1s +100%
fqmul LP64 bitwuzla* ✅ 25s 30s -17%
LP64 z3_smt_only ✅ 22s 22s +0%
fqscale LP64 bitwuzla* ✅ 2s 3s -33%
LP64 z3 ✅ 3s 3s +0%
intt_native_aarch64 LP64 bitwuzla ✅ 22s 28s -21%
LP64 z3* ✅ 4s 3s +33%
intt_native_riscv64 LP64 bitwuzla ✅ 43s - new
LP64 z3* ✅ 2s - new
intt_native_rv32im_fastmul ILP32 z3* ✅ 4s 4s +0%
LP64 cvc5_mbqi_enum ✅ 7s 9s -22%
LP64 z3 ✅ 1s 3s -67%
intt_native_rv32im_slowmul ILP32 z3* ✅ 2s 2s +0%
LP64 cvc5_mbqi_enum ✅ 8s 8s +0%
LP64 z3 ✅ 3s 2s +50%
intt_native_x86_64 LP64 bitwuzla ✅ 16s 20s -20%
LP64 z3* ✅ 3s 2s +50%
keccak_absorb LP64 cvc5_arrays_exp ✅ 3s 4s -25%
LP64 z3* ✅ 6s 9s -33%
keccak_absorb_once_x4 LP64 bitwuzla* ✅ 5s 6s -17%
LP64 cvc5_arrays_exp ✅ 8s 11s -27%
keccak_f1600_x1_native_aarch64 LP64 bitwuzla* ✅ 5s 2s +150%
LP64 z3_no_bv_extract ✅ 2s 3s -33%
keccak_f1600_x1_native_aarch64_v84a LP64 bitwuzla* ✅ 1s 2s -50%
LP64 cvc5_arrays_exp ✅ 2s 1s +100%
keccak_f1600_x1_native_riscv64 LP64 bitwuzla* ✅ 1s - new
LP64 z3_no_bv_extract ✅ 1s - new
keccak_f1600_x4_native_aarch64_v84a LP64 bitwuzla* ✅ 2s 2s +0%
LP64 z3 ✅ 4s 1s +300%
keccak_f1600_x4_native_aarch64_v8a_scalar_hybrid LP64 bitwuzla* ✅ 1s 5s -80%
LP64 z3_smt_only ✅ 1s 2s -50%
keccak_f1600_x4_native_aarch64_v8a_v84a_scalar_hybrid LP64 bitwuzla* ✅ 1s 1s +0%
LP64 z3_smt_only ✅ 1s 1s +0%
keccak_f1600_x4_native_avx2 LP64 bitwuzla* ✅ 1s 1s +0%
LP64 cvc5_arrays_exp ✅ 3s 1s +200%
keccak_finalize LP64 cvc5_arrays_exp ✅ 4s 2s +100%
LP64 z3* ✅ 3s 1s +200%
keccak_init LP64 bitwuzla ✅ 3s 2s +50%
LP64 z3* ✅ 1s 2s -50%
keccak_squeeze LP64 bitwuzla* ✅ 3s 3s +0%
LP64 z3 ✅ 3s 1s +200%
keccak_squeezeblocks_x4 LP64 bitwuzla* ✅ 5s 3s +67%
LP64 z3 ✅ 2s 2s +0%
keccakf1600_extract_bytes (big endian) LP64 cvc5_arrays_exp ✅ 4s 2s +100%
LP64 z3* ✅ 2s 2s +0%
keccakf1600_permute LP64 bitwuzla ✅ 2s 2s +0%
LP64 z3* ✅ 5s 2s +150%
keccakf1600_permute_native LP64 bitwuzla ✅ 2s 2s +0%
LP64 z3* ✅ 2s 1s +100%
keccakf1600_xor_bytes LP64 bitwuzla* ✅ 2s 3s -33%
LP64 cvc5_arrays_exp ✅ 2s 2s +0%
keccakf1600_xor_bytes (big endian) LP64 bitwuzla* ✅ 2s 3s -33%
LP64 z3_smt_only ✅ 2s 2s +0%
keccakf1600x4_extract_bytes LP64 bitwuzla* ✅ 2s 1s +100%
LP64 z3 ✅ 2s 2s +0%
keccakf1600x4_extract_bytes_native LP64 bitwuzla* ✅ 2s 1s +100%
LP64 z3 ✅ 3s 2s +50%
keccakf1600x4_permute LP64 cvc5_arrays_exp ✅ 1s 3s -67%
LP64 z3* ✅ 2s 1s +100%
keccakf1600x4_permute_native LP64 cvc5_arrays_exp ✅ 13s 11s +18%
LP64 z3* ✅ 13s 12s +8%
keccakf1600x4_xor_bytes LP64 bitwuzla* ✅ 3s 2s +50%
LP64 cvc5_arrays_exp ✅ 2s 3s -33%
keccakf1600x4_xor_bytes_native LP64 bitwuzla* ✅ 1s 2s -50%
LP64 z3_no_bv_extract ✅ 2s 3s -33%
make_hint LP64 cvc5_arrays_exp ✅ 1s 2s -50%
LP64 z3* ✅ 2s 1s +100%
mld_attempt_signature_generation LP64 z3_no_bv_extract* ✅ 216s 254s -15%
mld_check_pct LP64 bitwuzla ✅ 7s 5s +40%
LP64 z3* ✅ 7s 10s -30%
mld_compute_pack_z LP64 cadical ✅ 70s 76s -8%
LP64 z3_no_bv_extract* ✅ 6s 6s +0%
mld_ct_abs_i32 ILP32 bitwuzla ✅ 3s 2s +50%
ILP32 cvc5_arrays_exp ✅ 3s 1s +200%
ILP32 z3 ✅ 1s 1s +0%
LP64 bitwuzla ✅ 2s 1s +100%
LP64 cvc5_arrays_exp ✅ 1s 4s -75%
LP64 z3* ✅ 2s 2s +0%
mld_ct_cmask_neg_i32 LP64 cvc5_arrays_exp ✅ 1s 1s +0%
LP64 z3* ✅ 2s 2s +0%
mld_ct_cmask_nonzero_u32 LP64 cvc5_arrays_exp ✅ 2s 1s +100%
LP64 z3* ✅ 1s 2s -50%
mld_ct_cmask_nonzero_u8 LP64 bitwuzla ✅ 4s 2s +100%
LP64 z3* ✅ 2s 2s +0%
mld_ct_get_optblocker_i64 LP64 bitwuzla ✅ 3s 2s +50%
LP64 z3* ✅ 3s 2s +50%
mld_ct_get_optblocker_u32 LP64 bitwuzla ✅ 3s 2s +50%
LP64 z3* ✅ 5s 2s +150%
mld_ct_get_optblocker_u8 LP64 bitwuzla* ✅ 3s 2s +50%
LP64 z3_smt_only ✅ 3s 1s +200%
mld_ct_memcmp LP64 bitwuzla* ✅ 3s 2s +50%
LP64 z3_no_bv_extract ✅ 46s 61s -25%
mld_ct_sel_int32 LP64 bitwuzla ✅ 3s 2s +50%
LP64 z3* ✅ 2s 3s -33%
mld_h LP64 bitwuzla ✅ 2s 6s -67%
LP64 z3* ✅ 2s 3s -33%
mld_invntt_layer LP64 bitwuzla* ✅ 65s 88s -26%
LP64 z3_smt_only ✅ 90s 111s -19%
mld_keccakf1600_extract_bytes LP64 bitwuzla ✅ 3s 2s +50%
LP64 z3* ✅ 2s 2s +0%
mld_keccakf1600_permute_c LP64 cvc5_arrays_exp ✅ 4s 2s +100%
LP64 z3* ✅ 4s 6s -33%
mld_keccakf1600x4_extract_bytes_c LP64 cvc5_arrays_exp ✅ 4s 2s +100%
LP64 z3* ✅ 2s 3s -33%
mld_keccakf1600x4_xor_bytes_c LP64 bitwuzla ✅ 3s 3s +0%
LP64 z3* ✅ 2s 2s +0%
mld_ntt_butterfly_block LP64 bitwuzla* ✅ 15s 17s -12%
LP64 z3_no_bv_extract ✅ 64s 89s -28%
mld_ntt_layer LP64 bitwuzla* ✅ 23s 34s -32%
LP64 z3_no_bv_extract ✅ 2s 3s -33%
mld_polymat_expand_entry LP64 bitwuzla ✅ 2s 3s -33%
LP64 z3* ✅ 3s 1s +200%
mld_prepare_domain_separation_prefix LP64 bitwuzla ✅ 4s 4s +0%
LP64 z3* ✅ 2s 3s -33%
mld_sample_pack_s1_s2 LP64 cadical ✅ 48s 50s -4%
LP64 z3* ✅ 7s 6s +17%
mld_sample_pack_s1_s2_serial LP64 cvc5_mbqi_enum ✅ 235s 252s -7%
LP64 z3* ✅ 4s 3s +33%
mld_sign_attempt LP64 cvc5_arrays_exp ✅ 2s 2s +0%
LP64 z3* ✅ 3s 3s +0%
mld_sign_finish LP64 bitwuzla ✅ 1s 4s -75%
LP64 z3* ✅ 3s 2s +50%
mld_sign_hook_resume LP64 bitwuzla ✅ 4s 3s +33%
LP64 z3* ✅ 3s 3s +0%
mld_value_barrier_i64 LP64 bitwuzla ✅ 1s 3s -67%
LP64 z3* ✅ 3s 1s +200%
mld_value_barrier_u32 LP64 bitwuzla ✅ 2s 1s +100%
LP64 z3* ✅ 1s 2s -50%
mld_value_barrier_u8 LP64 cvc5_arrays_exp ✅ 3s 2s +50%
LP64 z3* ✅ 5s 5s +0%
montgomery_reduce LP64 cvc5_arrays_exp ✅ 2s 2s +0%
LP64 z3* ✅ 3s 3s +0%
ntt_native_aarch64 LP64 bitwuzla ✅ 20s 24s -17%
LP64 z3* ✅ 8s 4s +100%
ntt_native_riscv64 LP64 bitwuzla ✅ 47s - new
LP64 z3* ✅ 3s - new
ntt_native_rv32im_fastmul ILP32 z3* ✅ 2s 2s +0%
LP64 cvc5_mbqi_enum ✅ 6s 8s -25%
LP64 z3 ✅ 3s 2s +50%
ntt_native_rv32im_slowmul ILP32 z3* ✅ 1s 2s -50%
LP64 cvc5_mbqi_enum ✅ 5s 7s -29%
LP64 z3 ✅ 2s 2s +0%
ntt_native_x86_64 LP64 bitwuzla ✅ 21s 22s -5%
LP64 z3* ✅ 2s 2s +0%
nttunpack_native_x86_64 LP64 bitwuzla ✅ 178s 252s -29%
LP64 z3* ✅ 3s 5s -40%
pack_sig_c LP64 cvc5_arrays_exp ✅ 2s 2s +0%
LP64 z3* ✅ 3s 2s +50%
pack_sig_h LP64 bitwuzla ✅ 3s 5s -40%
LP64 z3_no_bv_extract* ✅ 2s 3s -33%
pack_sig_z LP64 bitwuzla ✅ 2s 4s -50%
LP64 z3* ✅ 3s 3s +0%
pack_sk_rho_key_tr LP64 bitwuzla ✅ 2s 2s +0%
LP64 z3* ✅ 3s 2s +50%
pointwise_acc_native_aarch64 LP64 cadical ✅ 86s 84s +2%
LP64 z3_smt_only* ✅ 6s 3s +100%
pointwise_acc_native_riscv64 LP64 cadical ✅ 79s - new
LP64 z3_smt_only* ✅ 2s - new
pointwise_acc_native_x86_64 LP64 cadical ✅ 76s 88s -14%
LP64 z3_smt_only* ✅ 4s 4s +0%
pointwise_native_aarch64 LP64 bitwuzla ✅ 23s 27s -15%
LP64 z3* ✅ 2s 3s -33%
pointwise_native_riscv64 LP64 bitwuzla ✅ 2s - new
LP64 z3* ✅ 4s - new
pointwise_native_rv32im_fastmul ILP32 z3* ✅ 5s 3s +67%
LP64 cvc5_mbqi_enum ✅ 8s 8s +0%
LP64 z3 ✅ 2s 2s +0%
pointwise_native_rv32im_slowmul ILP32 z3* ✅ 3s 1s +200%
LP64 cvc5_mbqi_enum ✅ 8s 9s -11%
LP64 z3 ✅ 1s 2s -50%
pointwise_native_x86_64 LP64 bitwuzla ✅ 21s 25s -16%
LP64 z3* ✅ 3s 2s +50%
poly_add LP64 cadical ✅ 47s 56s -16%
LP64 z3* ✅ 12s 15s -20%
poly_caddq LP64 bitwuzla ✅ 3s 2s +50%
LP64 z3* ✅ 2s 2s +0%
poly_caddq_c LP64 bitwuzla ✅ 18s 24s -25%
LP64 z3* ✅ 4s 3s +33%
poly_caddq_native LP64 bitwuzla ✅ 115s 150s -23%
LP64 z3* ✅ 2s 2s +0%
poly_caddq_native_aarch64 LP64 cvc5_mbqi_enum ✅ 35s 39s -10%
LP64 z3* ✅ 3s 1s +200%
poly_caddq_native_riscv64 LP64 cvc5_mbqi_enum ✅ 24s - new
LP64 z3* ✅ 2s - new
poly_caddq_native_x86_64 LP64 bitwuzla ✅ 118s 145s -19%
LP64 z3* ✅ 3s 4s -25%
poly_challenge LP64 bitwuzla ✅ 23s 29s -21%
LP64 z3* ✅ 9s 13s -31%
poly_chknorm LP64 bitwuzla ✅ 2s 5s -60%
LP64 z3* ✅ 3s 2s +50%
poly_chknorm_c LP64 bitwuzla ✅ 8s 9s -11%
LP64 z3* ✅ 9s 8s +12%
poly_chknorm_native LP64 bitwuzla ✅ 7s 7s +0%
LP64 z3* ✅ 2s 3s -33%
poly_chknorm_native_aarch64 LP64 bitwuzla ✅ 1s 1s +0%
LP64 z3* ✅ 3s 2s +50%
poly_chknorm_native_riscv64 LP64 bitwuzla ✅ 4s - new
LP64 z3* ✅ 3s - new
poly_chknorm_native_x86_64 LP64 bitwuzla ✅ 3s 4s -25%
LP64 z3* ✅ 5s 3s +67%
poly_decompose LP64 bitwuzla ✅ 4s 5s -20%
LP64 z3* ✅ 2s 4s -50%
poly_decompose_32_native_aarch64 LP64 cadical ✅ 7s 8s -12%
LP64 z3* ✅ 4s 3s +33%
poly_decompose_32_native_riscv64 LP64 cadical ✅ 10s - new
LP64 z3* ✅ 2s - new
poly_decompose_88_native_aarch64 LP64 bitwuzla ✅ 3s 2s +50%
LP64 z3* ✅ 2s 5s -60%
poly_decompose_88_native_riscv64 LP64 bitwuzla ✅ 2s - new
LP64 z3* ✅ 2s - new
poly_decompose_c LP64 cvc5_mbqi_enum ✅ 219s 254s -14%
LP64 z3* ✅ 3s 2s +50%
poly_decompose_native LP64 cadical ✅ 13s 14s -7%
LP64 z3* ✅ 1s 2s -50%
poly_decompose_native_x86_64 LP64 cadical ✅ 9s 10s -10%
LP64 z3* ✅ 1s 4s -75%
poly_invntt_tomont LP64 bitwuzla ✅ 4s 6s -33%
LP64 z3* ✅ 4s 4s +0%
poly_invntt_tomont_c LP64 bitwuzla ✅ 148s 213s -31%
LP64 z3_smt_only* ✅ 4s 5s -20%
poly_invntt_tomont_native LP64 bitwuzla ✅ 47s 58s -19%
LP64 z3* ✅ 2s 4s -50%
poly_ntt LP64 bitwuzla ✅ 4s 7s -43%
LP64 z3* ✅ 1s 2s -50%
poly_ntt_c LP64 bitwuzla ✅ 46s 68s -32%
LP64 z3_smt_only* ✅ 10s 11s -9%
poly_ntt_native LP64 bitwuzla ✅ 28s 35s -20%
LP64 z3* ✅ 4s 3s +33%
poly_permute_bitrev_to_custom_optional LP64 bitwuzla ✅ 1s 2s -50%
LP64 z3* ✅ 2s 2s +0%
poly_permute_bitrev_to_custom_optional_native LP64 bitwuzla ✅ 5s 4s +25%
LP64 z3* ✅ 4s 3s +33%
poly_pointwise_montgomery LP64 bitwuzla ✅ 7s 13s -46%
LP64 z3* ✅ 5s 3s +67%
poly_pointwise_montgomery_c LP64 bitwuzla ✅ 191s 231s -17%
LP64 z3* ✅ 65s 83s -22%
poly_pointwise_montgomery_native LP64 cvc5_mbqi_enum ✅ 54s 59s -8%
LP64 z3* ✅ 3s 4s -25%
poly_power2round LP64 bitwuzla ✅ 310s 366s -15%
LP64 z3* ✅ 3s 3s +0%
poly_reduce LP64 bitwuzla ✅ 10s 9s +11%
LP64 z3* ✅ 2s 1s +100%
poly_shiftl LP64 bitwuzla ✅ 13s 13s +0%
LP64 z3* ✅ 3s 1s +200%
poly_sub LP64 bitwuzla ✅ 14s 17s -18%
LP64 z3* ✅ 3s 4s -25%
poly_uniform LP64 bitwuzla ✅ 182s 238s -24%
LP64 z3* ✅ 2s 5s -60%
poly_uniform_4x LP64 cadical ✅ 60s 67s -10%
LP64 z3* ✅ 8s 9s -11%
poly_uniform_eta LP64 bitwuzla ✅ 53s 65s -18%
LP64 z3* ✅ 2s 3s -33%
poly_uniform_eta_4x LP64 cadical ✅ 56s 58s -3%
LP64 z3* ✅ 7s 11s -36%
poly_uniform_gamma1 LP64 cadical ✅ 5s 6s -17%
LP64 z3* ✅ 2s 4s -50%
poly_uniform_gamma1_4x LP64 cadical ✅ 13s 14s -7%
LP64 z3* ✅ 2s 2s +0%
poly_use_hint LP64 cvc5_mbqi_enum ✅ 21s 26s -19%
LP64 z3* ✅ 3s 1s +200%
poly_use_hint_c LP64 cvc5_enum_inst ✅ 15s 16s -6%
LP64 z3* ✅ 2s 3s -33%
poly_use_hint_native LP64 cvc5_mbqi_enum ✅ 94s 77s +22%
LP64 z3* ✅ 4s 3s +33%
poly_use_hint_native_aarch64 LP64 bitwuzla ✅ 30s 39s -23%
LP64 z3* ✅ 2s 2s +0%
poly_use_hint_native_riscv64 LP64 bitwuzla ✅ 2s - new
LP64 z3* ✅ 2s - new
poly_use_hint_native_x86_64 LP64 bitwuzla ✅ 29s 37s -22%
LP64 z3* ✅ 3s 3s +0%
polyeta_pack LP64 bitwuzla ✅ 2s 5s -60%
LP64 z3* ✅ 2s 2s +0%
polyeta_unpack LP64 bitwuzla ✅ 2s 3s -33%
LP64 z3* ✅ 4s 4s +0%
polyt0_pack LP64 bitwuzla ✅ 8s 5s +60%
LP64 z3* ✅ 2s 2s +0%
polyt0_unpack LP64 bitwuzla ✅ 4s 4s +0%
LP64 z3* ✅ 6s 9s -33%
polyt1_pack LP64 bitwuzla ✅ 4s 2s +100%
LP64 z3* ✅ 1s 3s -67%
polyt1_unpack LP64 bitwuzla ✅ 5s 2s +150%
LP64 z3* ✅ 4s 2s +100%
polyvec_matrix_expand LP64 z3_no_bv_extract* ✅ 59s 72s -18%
polyvec_matrix_expand_serial LP64 z3* ✅ 12s 12s +0%
polyvec_matrix_pointwise_montgomery_row LP64 cadical ✅ 245s 262s -6%
LP64 z3_no_bv_extract* ✅ 3s 2s +50%
polyvec_matrix_pointwise_montgomery_yvec LP64 cadical ✅ 418s 443s -6%
LP64 z3* ✅ 5s 5s +0%
polyveck_caddq LP64 cadical ✅ 209s 297s -30%
LP64 z3* ✅ 3s 4s -25%
polyveck_decompose_pack_w1 LP64 cadical ✅ 174s 189s -8%
LP64 z3* ✅ 6s 7s -14%
polyveck_invntt_tomont LP64 cadical ✅ 186s 210s -11%
LP64 z3* ✅ 2s 4s -50%
polyveck_ntt LP64 cadical ✅ 232s 211s +10%
LP64 z3* ✅ 3s 7s -57%
polyveck_reduce LP64 cadical ✅ 1s 3s -67%
LP64 z3* ✅ 2s 5s -60%
polyveck_unpack_eta LP64 cvc5_mbqi_enum ✅ 43s 46s -7%
LP64 z3* ✅ 3s 3s +0%
polyveck_unpack_eta_chknorm LP64 cvc5_mbqi_enum ✅ 20s 18s +11%
LP64 z3* ✅ 3s 4s -25%
polyvecl_chknorm LP64 cadical ✅ 69s 80s -14%
LP64 z3* ✅ 5s 4s +25%
polyvecl_ntt LP64 cadical ✅ 157s 178s -12%
LP64 z3* ✅ 4s 3s +33%
polyvecl_pointwise_acc_montgomery LP64 cvc5_mbqi_enum ✅ 8s 9s -11%
LP64 z3_smt_only* ✅ 7s 2s +250%
polyvecl_pointwise_acc_montgomery_c LP64 cadical ✅ 112s 127s -12%
LP64 z3_smt_only* ✅ 209s 274s -24%
polyvecl_pointwise_acc_montgomery_native LP64 cvc5_mbqi_enum ✅ 117s 119s -2%
LP64 z3_smt_only* ✅ 3s 4s -25%
polyvecl_uniform_gamma1 LP64 cvc5_mbqi_enum ✅ 38s 41s -7%
LP64 z3* ✅ 2s 3s -33%
polyvecl_uniform_gamma1_serial LP64 cvc5_mbqi_enum ✅ 30s 38s -21%
LP64 z3* ✅ 3s 1s +200%
polyvecl_unpack_eta LP64 cvc5_mbqi_enum ✅ 38s 38s +0%
LP64 z3* ✅ 2s 2s +0%
polyvecl_unpack_z LP64 cvc5_mbqi_enum ✅ 34s 34s +0%
LP64 z3* ✅ 2s 2s +0%
polyw1_pack LP64 bitwuzla ✅ 2s 3s -33%
LP64 z3* ✅ 3s 3s +0%
polyw1_pack_32 LP64 bitwuzla ✅ 2s 3s -33%
LP64 z3* ✅ 3s 2s +50%
polyw1_pack_88 LP64 bitwuzla ✅ 4s 2s +100%
LP64 z3* ✅ 1s 2s -50%
polyw1_unpack LP64 bitwuzla ✅ 1s 4s -75%
LP64 z3* ✅ 3s 2s +50%
polyw1_unpack_32 LP64 bitwuzla ✅ 2s 1s +100%
LP64 z3* ✅ 1s 2s -50%
polyw1_unpack_88 LP64 bitwuzla ✅ 2s 3s -33%
LP64 z3* ✅ 3s 2s +50%
polyz_pack LP64 bitwuzla ✅ 4s 2s +100%
LP64 z3* ✅ 2s 1s +100%
polyz_unpack LP64 bitwuzla ✅ 5s 8s -38%
LP64 z3* ✅ 2s 2s +0%
polyz_unpack_17_native_aarch64 LP64 bitwuzla ✅ 3s 2s +50%
LP64 z3* ✅ 3s 3s +0%
polyz_unpack_17_native_riscv64 LP64 bitwuzla ✅ 4s - new
LP64 z3* ✅ 3s - new
polyz_unpack_19_native_aarch64 LP64 bitwuzla ✅ 3s 2s +50%
LP64 z3* ✅ 5s 3s +67%
polyz_unpack_19_native_riscv64 LP64 bitwuzla ✅ 1s - new
LP64 z3* ✅ 3s - new
polyz_unpack_c LP64 bitwuzla ✅ 3s 3s +0%
LP64 z3* ✅ 2s 4s -50%
polyz_unpack_native LP64 bitwuzla ✅ 25s 33s -24%
LP64 z3* ✅ 1s 1s +0%
polyz_unpack_native_x86_64 LP64 bitwuzla ✅ 12s 24s -50%
LP64 z3* ✅ 2s 3s -33%
power2round LP64 bitwuzla ✅ 2s 1s +100%
LP64 z3* ✅ 3s 1s +200%
reduce32 LP64 bitwuzla ✅ 2s 3s -33%
LP64 z3* ✅ 2s 3s -33%
rej_eta LP64 bitwuzla* ✅ 3s 2s +50%
LP64 z3_smt_only ✅ 2s 5s -60%
rej_eta_c LP64 bitwuzla* ✅ 3s 3s +0%
LP64 z3 ✅ 13s 21s -38%
rej_eta_native LP64 bitwuzla* ✅ 2s 2s +0%
LP64 z3_smt_only ✅ 11s 13s -15%
rej_uniform LP64 bitwuzla ✅ 2s 2s +0%
LP64 z3* ✅ 8s 11s -27%
rej_uniform_c LP64 bitwuzla ✅ 2s 2s +0%
LP64 z3* ✅ 13s 18s -28%
rej_uniform_eta_native_aarch64 LP64 bitwuzla* ✅ 2s 2s +0%
LP64 z3_smt_only ✅ 2s 3s -33%
rej_uniform_eta_native_riscv64 LP64 bitwuzla* ✅ 3s - new
LP64 z3_smt_only ✅ 2s - new
rej_uniform_eta_native_x86_64 LP64 bitwuzla ✅ 4s 1s +300%
LP64 z3_smt_only* ✅ 2s 2s +0%
rej_uniform_native LP64 bitwuzla* ✅ 4s 5s -20%
LP64 z3_smt_only ✅ 9s 12s -25%
rej_uniform_native_aarch64 LP64 bitwuzla* ✅ 2s 3s -33%
LP64 z3_smt_only ✅ 2s 3s -33%
rej_uniform_native_riscv64 LP64 bitwuzla* ✅ 3s - new
LP64 z3_smt_only ✅ 2s - new
rej_uniform_native_x86_64 LP64 bitwuzla ✅ 5s 6s -17%
LP64 z3_smt_only* ✅ 9s 12s -25%
shake128_absorb LP64 cvc5_arrays_exp ✅ 1s 2s -50%
LP64 z3* ✅ 2s 1s +100%
shake128_finalize LP64 cvc5_arrays_exp ✅ 1s 2s -50%
LP64 z3* ✅ 2s 2s +0%
shake128_init LP64 bitwuzla ✅ 1s 3s -67%
LP64 z3* ✅ 2s 3s -33%
shake128_release LP64 bitwuzla ✅ 1s 2s -50%
LP64 z3* ✅ 4s 2s +100%
shake128_squeeze LP64 bitwuzla* ✅ 3s 4s -25%
LP64 cvc5_arrays_exp ✅ 3s 1s +200%
shake128x4_absorb_once LP64 bitwuzla* ✅ 2s 3s -33%
LP64 z3_smt_only ✅ 3s 3s +0%
shake128x4_squeezeblocks LP64 bitwuzla* ✅ 1s 2s -50%
LP64 z3 ✅ 3s 2s +50%
shake256 LP64 bitwuzla ✅ 1s 3s -67%
LP64 z3* ✅ 2s 2s +0%
shake256_absorb LP64 bitwuzla ✅ 2s 1s +100%
LP64 z3* ✅ 1s 1s +0%
shake256_finalize LP64 cvc5_arrays_exp ✅ 1s 1s +0%
LP64 z3* ✅ 2s 1s +100%
shake256_init LP64 cvc5_arrays_exp ✅ 2s 3s -33%
LP64 z3* ✅ 2s 4s -50%
shake256_release LP64 bitwuzla ✅ 3s 1s +200%
LP64 z3* ✅ 3s 3s +0%
shake256_squeeze LP64 bitwuzla* ✅ 2s 3s -33%
LP64 z3 ✅ 2s 1s +100%
shake256x4_absorb_once LP64 bitwuzla* ✅ 2s 2s +0%
LP64 z3 ✅ 2s 1s +100%
shake256x4_squeezeblocks LP64 bitwuzla* ✅ 2s 2s +0%
LP64 z3_smt_only ✅ 2s 2s +0%
sig_unpack_hints LP64 bitwuzla ✅ 1376s 1791s -23%
LP64 z3* ✅ 18s 25s -28%
sign_keypair LP64 cadical ✅ 427s 571s -25%
LP64 z3* ✅ 4s 5s -20%
sign_keypair_internal LP64 cadical ✅ 177s 196s -10%
LP64 z3_no_bv_extract* ✅ 18s 20s -10%
sign_pk_from_sk LP64 z3_no_bv_extract* ✅ 34s 42s -19%
sign_signature LP64 bitwuzla ✅ 4s 2s +100%
LP64 z3* ✅ 6s 4s +50%
sign_signature_extmu LP64 cadical ✅ 28s 44s -36%
LP64 z3* ✅ 4s 3s +33%
sign_signature_internal LP64 z3_no_bv_extract* ✅ 168s 206s -18%
sign_signature_pre_hash_internal LP64 bitwuzla ✅ 3s 6s -50%
LP64 z3* ✅ 7s 4s +75%
sign_signature_pre_hash_shake256 LP64 cadical ✅ 18s 18s +0%
LP64 z3* ✅ 5s 5s +0%
sign_verify LP64 bitwuzla ✅ 4s 2s +100%
LP64 z3* ✅ 4s 4s +0%
sign_verify_extmu LP64 bitwuzla ✅ 2s 3s -33%
LP64 z3* ✅ 2s 3s -33%
sign_verify_internal LP64 z3_no_bv_extract* ✅ 427s 548s -22%
sign_verify_pre_hash_internal LP64 bitwuzla ✅ 6s 3s +100%
LP64 z3* ✅ 2s 3s -33%
sign_verify_pre_hash_shake256 LP64 bitwuzla ✅ 4s 4s +0%
LP64 z3* ✅ 2s 2s +0%
sk_s1hat_get_poly LP64 bitwuzla ✅ 37s 47s -21%
LP64 z3* ✅ 3s 4s -25%
sk_s2hat_get_poly LP64 bitwuzla ✅ 30s 34s -12%
LP64 z3* ✅ 2s 2s +0%
sk_t0hat_get_poly LP64 bitwuzla ✅ 31s 34s -9%
LP64 z3* ✅ 2s 2s +0%
sys_check_capability LP64 cvc5_arrays_exp ✅ 2s 2s +0%
LP64 z3* ✅ 4s 2s +100%
unpack_pk_t1 LP64 bitwuzla ✅ 11s 15s -27%
LP64 z3* ✅ 2s 2s +0%
unpack_sk LP64 cadical ✅ 45s 54s -17%
LP64 z3* ✅ 3s 2s +50%
unpack_sk_s1hat LP64 cvc5_mbqi_enum ✅ 88s 97s -9%
LP64 z3* ✅ 2s 3s -33%
unpack_sk_s2hat LP64 cvc5_mbqi_enum ✅ 152s 172s -12%
LP64 z3* ✅ 2s 5s -60%
unpack_sk_t0hat LP64 cadical ✅ 82s 92s -11%
LP64 z3* ✅ 3s 1s +200%
use_hint LP64 bitwuzla ✅ 4s 2s +100%
LP64 z3* ✅ 2s 2s +0%
yvec_get_poly LP64 bitwuzla ✅ 34s 38s -11%
LP64 z3* ✅ 2s 2s +0%
yvec_init LP64 bitwuzla ✅ 9s 10s -10%
LP64 z3* ✅ 3s 2s +50%

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Arm Cortex-M55 (NUCLEO-N657X0-Q) benchmarks (opt)

Details
Benchmark suite Current: 370ae03 Previous: e71e3d6 Ratio
ML-DSA-44 keypair 2134310 cycles 2134310 cycles 1
ML-DSA-44 sign 17791748 cycles 17791748 cycles 1
ML-DSA-44 verify 2398890 cycles 2398890 cycles 1
ML-DSA-65 keypair 3732866 cycles 3732866 cycles 1
ML-DSA-65 sign 15034558 cycles 15034558 cycles 1
ML-DSA-65 verify 4012806 cycles 4012806 cycles 1
ML-DSA-87 keypair 6516715 cycles 6516715 cycles 1
ML-DSA-87 sign 25055900 cycles 25055900 cycles 1
ML-DSA-87 verify 6865674 cycles 6865674 cycles 1

This comment was automatically generated by workflow using github-action-benchmark.

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Arm Cortex-M55 (NUCLEO-N657X0-Q) benchmarks (no-opt)

Details
Benchmark suite Current: 370ae03 Previous: e71e3d6 Ratio
ML-DSA-44 keypair 2332104 cycles 2332104 cycles 1
ML-DSA-44 sign 17791726 cycles 17791726 cycles 1
ML-DSA-44 verify 2398861 cycles 2398861 cycles 1
ML-DSA-65 keypair 4028005 cycles 4028005 cycles 1
ML-DSA-65 sign 15034565 cycles 15034565 cycles 1
ML-DSA-65 verify 4012799 cycles 4012799 cycles 1
ML-DSA-87 keypair 6896513 cycles 6896513 cycles 1
ML-DSA-87 sign 25049115 cycles 25049115 cycles 1
ML-DSA-87 verify 6864412 cycles 6864412 cycles 1

This comment was automatically generated by workflow using github-action-benchmark.

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Arm Cortex-A55 (Snapdragon 888) benchmarks (opt)

Details
Benchmark suite Current: 370ae03 Previous: e71e3d6 Ratio
ML-DSA-44 keypair 272965 cycles 273741 cycles 1.00
ML-DSA-44 sign 811216 cycles 822404 cycles 0.99
ML-DSA-44 verify 273467 cycles 274741 cycles 1.00
ML-DSA-65 keypair 471531 cycles 469001 cycles 1.01
ML-DSA-65 sign 1370985 cycles 1352196 cycles 1.01
ML-DSA-65 verify 452221 cycles 452931 cycles 1.00
ML-DSA-87 keypair 808433 cycles 800378 cycles 1.01
ML-DSA-87 sign 1872809 cycles 1811532 cycles 1.03
ML-DSA-87 verify 785502 cycles 781818 cycles 1.00

This comment was automatically generated by workflow using github-action-benchmark.

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Performance Alert ⚠️

Possible performance regression was detected for benchmark 'Arm Cortex-A55 (Snapdragon 888) benchmarks (opt)'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 1.03.

Benchmark suite Current: 370ae03 Previous: e71e3d6 Ratio
ML-DSA-87 sign 1872809 cycles 1811532 cycles 1.03

This comment was automatically generated by workflow using github-action-benchmark.

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Arm Cortex-A55 (Snapdragon 888) benchmarks (no-opt)

Details
Benchmark suite Current: 370ae03 Previous: e71e3d6 Ratio
ML-DSA-44 keypair 461327 cycles 460938 cycles 1.00
ML-DSA-44 sign 2122799 cycles 2122600 cycles 1.00
ML-DSA-44 verify 550994 cycles 550652 cycles 1.00
ML-DSA-65 keypair 774344 cycles 775084 cycles 1.00
ML-DSA-65 sign 3477018 cycles 3471143 cycles 1.00
ML-DSA-65 verify 858406 cycles 856583 cycles 1.00
ML-DSA-87 keypair 1255343 cycles 1249262 cycles 1.00
ML-DSA-87 sign 4319805 cycles 4344809 cycles 0.99
ML-DSA-87 verify 1378914 cycles 1371027 cycles 1.01

This comment was automatically generated by workflow using github-action-benchmark.

@oqs-bot

oqs-bot commented Nov 6, 2026

Copy link
Copy Markdown
Contributor

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

* default.

Full Results (461 configurations)
Proof DM Solver Status Current Previous Change
**TOTAL** - - ✅ 1374s 1307s +5.1%
caddq LP64 bitwuzla ✅ 4s 2s +100%
LP64 z3* ✅ 2s 3s -33%
compute_pack_t0_t1 LP64 z3_no_bv_extract* ✅ 24s 26s -8%
decompose LP64 bitwuzla ✅ 2s 3s -33%
LP64 z3* ✅ 4s 2s +100%
fqmul LP64 bitwuzla* ✅ 25s 25s +0%
LP64 z3_smt_only ✅ 20s 18s +11%
fqscale LP64 bitwuzla* ✅ 3s 2s +50%
LP64 z3 ✅ 2s 3s -33%
intt_native_aarch64 LP64 bitwuzla ✅ 22s 19s +16%
LP64 z3* ✅ 2s 3s -33%
intt_native_riscv64 LP64 bitwuzla ✅ 43s - new
LP64 z3* ✅ 2s - new
intt_native_rv32im_fastmul ILP32 z3* ✅ 3s 2s +50%
LP64 cvc5_mbqi_enum ✅ 8s 7s +14%
LP64 z3 ✅ 2s 2s +0%
intt_native_rv32im_slowmul ILP32 z3* ✅ 4s 2s +100%
LP64 cvc5_mbqi_enum ✅ 8s 8s +0%
LP64 z3 ✅ 1s 5s -80%
intt_native_x86_64 LP64 bitwuzla ✅ 17s 18s -6%
LP64 z3* ✅ 1s 2s -50%
keccak_absorb LP64 cvc5_arrays_exp ✅ 3s 6s -50%
LP64 z3* ✅ 6s 6s +0%
keccak_absorb_once_x4 LP64 bitwuzla* ✅ 5s 5s +0%
LP64 cvc5_arrays_exp ✅ 6s 8s -25%
keccak_f1600_x1_native_aarch64 LP64 bitwuzla* ✅ 1s 1s +0%
LP64 z3_no_bv_extract ✅ 1s 3s -67%
keccak_f1600_x1_native_aarch64_v84a LP64 bitwuzla* ✅ 2s 3s -33%
LP64 cvc5_arrays_exp ✅ 2s 2s +0%
keccak_f1600_x1_native_riscv64 LP64 bitwuzla* ✅ 1s - new
LP64 z3_no_bv_extract ✅ 1s - new
keccak_f1600_x4_native_aarch64_v84a LP64 bitwuzla* ✅ 4s 2s +100%
LP64 z3 ✅ 1s 1s +0%
keccak_f1600_x4_native_aarch64_v8a_scalar_hybrid LP64 bitwuzla* ✅ 2s 1s +100%
LP64 z3_smt_only ✅ 2s 1s +100%
keccak_f1600_x4_native_aarch64_v8a_v84a_scalar_hybrid LP64 bitwuzla* ✅ 1s 3s -67%
LP64 z3_smt_only ✅ 1s 1s +0%
keccak_f1600_x4_native_avx2 LP64 bitwuzla* ✅ 3s 3s +0%
LP64 cvc5_arrays_exp ✅ 3s 1s +200%
keccak_finalize LP64 cvc5_arrays_exp ✅ 2s 1s +100%
LP64 z3* ✅ 2s 3s -33%
keccak_init LP64 bitwuzla ✅ 2s 2s +0%
LP64 z3* ✅ 2s 2s +0%
keccak_squeeze LP64 bitwuzla* ✅ 2s 3s -33%
LP64 z3 ✅ 2s 2s +0%
keccak_squeezeblocks_x4 LP64 bitwuzla* ✅ 3s 4s -25%
LP64 z3 ✅ 3s 1s +200%
keccakf1600_extract_bytes (big endian) LP64 cvc5_arrays_exp ✅ 1s 1s +0%
LP64 z3* ✅ 1s 2s -50%
keccakf1600_permute LP64 bitwuzla ✅ 2s 2s +0%
LP64 z3* ✅ 2s 2s +0%
keccakf1600_permute_native LP64 bitwuzla ✅ 2s 2s +0%
LP64 z3* ✅ 1s 2s -50%
keccakf1600_xor_bytes LP64 bitwuzla* ✅ 1s 2s -50%
LP64 cvc5_arrays_exp ✅ 1s 3s -67%
keccakf1600_xor_bytes (big endian) LP64 bitwuzla* ✅ 2s 1s +100%
LP64 z3_smt_only ✅ 2s 1s +100%
keccakf1600x4_extract_bytes LP64 bitwuzla* ✅ 1s 1s +0%
LP64 z3 ✅ 2s 2s +0%
keccakf1600x4_extract_bytes_native LP64 bitwuzla* ✅ 3s 1s +200%
LP64 z3 ✅ 2s 2s +0%
keccakf1600x4_permute LP64 cvc5_arrays_exp ✅ 2s 4s -50%
LP64 z3* ✅ 2s 2s +0%
keccakf1600x4_permute_native LP64 cvc5_arrays_exp ✅ 13s 11s +18%
LP64 z3* ✅ 13s 12s +8%
keccakf1600x4_xor_bytes LP64 bitwuzla* ✅ 3s 2s +50%
LP64 cvc5_arrays_exp ✅ 2s 4s -50%
keccakf1600x4_xor_bytes_native LP64 bitwuzla* ✅ 3s 3s +0%
LP64 z3_no_bv_extract ✅ 1s 3s -67%
make_hint LP64 cvc5_arrays_exp ✅ 2s 1s +100%
LP64 z3* ✅ 1s 2s -50%
mld_attempt_signature_generation LP64 z3_no_bv_extract* ✅ 157s 157s +0%
mld_check_pct LP64 bitwuzla ✅ 7s 6s +17%
LP64 z3* ✅ 8s 7s +14%
mld_compute_pack_z LP64 cadical ✅ 41s 37s +11%
LP64 z3_no_bv_extract* ✅ 2s 3s -33%
mld_ct_abs_i32 ILP32 bitwuzla ✅ 3s 3s +0%
ILP32 cvc5_arrays_exp ✅ 2s 2s +0%
ILP32 z3 ✅ 3s 1s +200%
LP64 bitwuzla ✅ 2s 2s +0%
LP64 cvc5_arrays_exp ✅ 2s 2s +0%
LP64 z3* ✅ 3s 1s +200%
mld_ct_cmask_neg_i32 LP64 cvc5_arrays_exp ✅ 1s 1s +0%
LP64 z3* ✅ 3s 2s +50%
mld_ct_cmask_nonzero_u32 LP64 cvc5_arrays_exp ✅ 1s 1s +0%
LP64 z3* ✅ 2s 4s -50%
mld_ct_cmask_nonzero_u8 LP64 bitwuzla ✅ 2s 5s -60%
LP64 z3* ✅ 2s 3s -33%
mld_ct_get_optblocker_i64 LP64 bitwuzla ✅ 2s 1s +100%
LP64 z3* ✅ 1s 2s -50%
mld_ct_get_optblocker_u32 LP64 bitwuzla ✅ 3s 3s +0%
LP64 z3* ✅ 2s 1s +100%
mld_ct_get_optblocker_u8 LP64 bitwuzla* ✅ 2s 2s +0%
LP64 z3_smt_only ✅ 2s 2s +0%
mld_ct_memcmp LP64 bitwuzla* ✅ 1s 1s +0%
LP64 z3_no_bv_extract ✅ 47s 46s +2%
mld_ct_sel_int32 LP64 bitwuzla ✅ 3s 2s +50%
LP64 z3* ✅ 3s 2s +50%
mld_h LP64 bitwuzla ✅ 3s 3s +0%
LP64 z3* ✅ 5s 2s +150%
mld_invntt_layer LP64 bitwuzla* ✅ 67s 60s +12%
LP64 z3_smt_only ✅ 73s 74s -1%
mld_keccakf1600_extract_bytes LP64 bitwuzla ✅ 1s 1s +0%
LP64 z3* ✅ 1s 2s -50%
mld_keccakf1600_permute_c LP64 cvc5_arrays_exp ✅ 4s 4s +0%
LP64 z3* ✅ 5s 3s +67%
mld_keccakf1600x4_extract_bytes_c LP64 cvc5_arrays_exp ✅ 1s 2s -50%
LP64 z3* ✅ 2s 2s +0%
mld_keccakf1600x4_xor_bytes_c LP64 bitwuzla ✅ 1s 2s -50%
LP64 z3* ✅ 2s 4s -50%
mld_ntt_butterfly_block LP64 bitwuzla* ✅ 12s 13s -8%
LP64 z3_no_bv_extract ✅ 150s 183s -18%
mld_ntt_layer LP64 bitwuzla* ✅ 22s 27s -19%
LP64 z3_no_bv_extract ✅ 2s 1s +100%
mld_polymat_expand_entry LP64 bitwuzla ✅ 5s 1s +400%
LP64 z3* ✅ 4s 2s +100%
mld_prepare_domain_separation_prefix LP64 bitwuzla ✅ 3s 3s +0%
LP64 z3* ✅ 1s 2s -50%
mld_sample_pack_s1_s2 LP64 cadical ✅ 72s 73s -1%
LP64 z3* ✅ 5s 6s -17%
mld_sample_pack_s1_s2_serial LP64 cvc5_mbqi_enum ✅ 540s 539s +0%
LP64 z3* ✅ 4s 4s +0%
mld_sign_attempt LP64 cvc5_arrays_exp ✅ 2s 2s +0%
LP64 z3* ✅ 3s 2s +50%
mld_sign_finish LP64 bitwuzla ✅ 3s 3s +0%
LP64 z3* ✅ 2s 2s +0%
mld_sign_hook_resume LP64 bitwuzla ✅ 3s 2s +50%
LP64 z3* ✅ 2s 2s +0%
mld_value_barrier_i64 LP64 bitwuzla ✅ 2s 4s -50%
LP64 z3* ✅ 3s 2s +50%
mld_value_barrier_u32 LP64 bitwuzla ✅ 1s 3s -67%
LP64 z3* ✅ 2s 3s -33%
mld_value_barrier_u8 LP64 cvc5_arrays_exp ✅ 2s 1s +100%
LP64 z3* ✅ 2s 2s +0%
montgomery_reduce LP64 cvc5_arrays_exp ✅ 2s 3s -33%
LP64 z3* ✅ 3s 2s +50%
ntt_native_aarch64 LP64 bitwuzla ✅ 19s 19s +0%
LP64 z3* ✅ 3s 4s -25%
ntt_native_riscv64 LP64 bitwuzla ✅ 46s - new
LP64 z3* ✅ 2s - new
ntt_native_rv32im_fastmul ILP32 z3* ✅ 1s 2s -50%
LP64 cvc5_mbqi_enum ✅ 7s 6s +17%
LP64 z3 ✅ 3s 2s +50%
ntt_native_rv32im_slowmul ILP32 z3* ✅ 3s 4s -25%
LP64 cvc5_mbqi_enum ✅ 4s 6s -33%
LP64 z3 ✅ 4s 1s +300%
ntt_native_x86_64 LP64 bitwuzla ✅ 19s 18s +6%
LP64 z3* ✅ 4s 3s +33%
nttunpack_native_x86_64 LP64 bitwuzla ✅ 157s 162s -3%
LP64 z3* ✅ 4s 1s +300%
pack_sig_c LP64 cvc5_arrays_exp ✅ 3s 1s +200%
LP64 z3* ✅ 2s 3s -33%
pack_sig_h LP64 bitwuzla ✅ 6s 3s +100%
LP64 z3_no_bv_extract* ✅ 3s 3s +0%
pack_sig_z LP64 bitwuzla ✅ 3s 1s +200%
LP64 z3* ✅ 2s 1s +100%
pack_sk_rho_key_tr LP64 bitwuzla ✅ 5s 2s +150%
LP64 z3* ✅ 2s 3s -33%
pointwise_acc_native_aarch64 LP64 cadical ✅ 87s 89s -2%
LP64 z3_smt_only* ✅ 5s 4s +25%
pointwise_acc_native_riscv64 LP64 cadical ✅ 97s - new
LP64 z3_smt_only* ✅ 2s - new
pointwise_acc_native_x86_64 LP64 cadical ✅ 87s 95s -8%
LP64 z3_smt_only* ✅ 3s 4s -25%
pointwise_native_aarch64 LP64 bitwuzla ✅ 20s 21s -5%
LP64 z3* ✅ 2s 1s +100%
pointwise_native_riscv64 LP64 bitwuzla ✅ 2s - new
LP64 z3* ✅ 4s - new
pointwise_native_rv32im_fastmul ILP32 z3* ✅ 2s 2s +0%
LP64 cvc5_mbqi_enum ✅ 10s 7s +43%
LP64 z3 ✅ 3s 1s +200%
pointwise_native_rv32im_slowmul ILP32 z3* ✅ 2s 1s +100%
LP64 cvc5_mbqi_enum ✅ 7s 9s -22%
LP64 z3 ✅ 3s 3s +0%
pointwise_native_x86_64 LP64 bitwuzla ✅ 20s 22s -9%
LP64 z3* ✅ 2s 3s -33%
poly_add LP64 cadical ✅ 46s 47s -2%
LP64 z3* ✅ 10s 10s +0%
poly_caddq LP64 bitwuzla ✅ 2s 4s -50%
LP64 z3* ✅ 2s 1s +100%
poly_caddq_c LP64 bitwuzla ✅ 16s 19s -16%
LP64 z3* ✅ 4s 2s +100%
poly_caddq_native LP64 bitwuzla ✅ 105s 109s -4%
LP64 z3* ✅ 4s 1s +300%
poly_caddq_native_aarch64 LP64 cvc5_mbqi_enum ✅ 36s 36s +0%
LP64 z3* ✅ 2s 4s -50%
poly_caddq_native_riscv64 LP64 cvc5_mbqi_enum ✅ 25s - new
LP64 z3* ✅ 3s - new
poly_caddq_native_x86_64 LP64 bitwuzla ✅ 119s 120s -1%
LP64 z3* ✅ 3s 1s +200%
poly_challenge LP64 bitwuzla ✅ 30s 33s -9%
LP64 z3* ✅ 14s 11s +27%
poly_chknorm LP64 bitwuzla ✅ 3s 4s -25%
LP64 z3* ✅ 2s 3s -33%
poly_chknorm_c LP64 bitwuzla ✅ 9s 10s -10%
LP64 z3* ✅ 6s 7s -14%
poly_chknorm_native LP64 bitwuzla ✅ 6s 7s -14%
LP64 z3* ✅ 4s 3s +33%
poly_chknorm_native_aarch64 LP64 bitwuzla ✅ 2s 3s -33%
LP64 z3* ✅ 2s 2s +0%
poly_chknorm_native_riscv64 LP64 bitwuzla ✅ 2s - new
LP64 z3* ✅ 1s - new
poly_chknorm_native_x86_64 LP64 bitwuzla ✅ 1s 2s -50%
LP64 z3* ✅ 2s 3s -33%
poly_decompose LP64 bitwuzla ✅ 5s 6s -17%
LP64 z3* ✅ 3s 2s +50%
poly_decompose_32_native_aarch64 LP64 cadical ✅ 10s 7s +43%
LP64 z3* ✅ 2s 3s -33%
poly_decompose_32_native_riscv64 LP64 cadical ✅ 7s - new
LP64 z3* ✅ 2s - new
poly_decompose_88_native_aarch64 LP64 bitwuzla ✅ 2s 3s -33%
LP64 z3* ✅ 1s 1s +0%
poly_decompose_88_native_riscv64 LP64 bitwuzla ✅ 2s - new
LP64 z3* ✅ 3s - new
poly_decompose_c LP64 cvc5_mbqi_enum ✅ 225s 194s +16%
LP64 z3* ✅ 2s 2s +0%
poly_decompose_native LP64 cadical ✅ 15s 13s +15%
LP64 z3* ✅ 3s 2s +50%
poly_decompose_native_x86_64 LP64 cadical ✅ 11s 11s +0%
LP64 z3* ✅ 1s 2s -50%
poly_invntt_tomont LP64 bitwuzla ✅ 4s 5s -20%
LP64 z3* ✅ 3s 1s +200%
poly_invntt_tomont_c LP64 bitwuzla ✅ 149s 152s -2%
LP64 z3_smt_only* ✅ 5s 5s +0%
poly_invntt_tomont_native LP64 bitwuzla ✅ 43s 43s +0%
LP64 z3* ✅ 4s 2s +100%
poly_ntt LP64 bitwuzla ✅ 5s 5s +0%
LP64 z3* ✅ 3s 2s +50%
poly_ntt_c LP64 bitwuzla ✅ 47s 43s +9%
LP64 z3_smt_only* ✅ 11s 10s +10%
poly_ntt_native LP64 bitwuzla ✅ 27s 25s +8%
LP64 z3* ✅ 3s 2s +50%
poly_permute_bitrev_to_custom_optional LP64 bitwuzla ✅ 2s 4s -50%
LP64 z3* ✅ 3s 2s +50%
poly_permute_bitrev_to_custom_optional_native LP64 bitwuzla ✅ 3s 2s +50%
LP64 z3* ✅ 2s 2s +0%
poly_pointwise_montgomery LP64 bitwuzla ✅ 9s 12s -25%
LP64 z3* ✅ 2s 3s -33%
poly_pointwise_montgomery_c LP64 bitwuzla ✅ 185s 184s +1%
LP64 z3* ✅ 37s 37s +0%
poly_pointwise_montgomery_native LP64 cvc5_mbqi_enum ✅ 52s 57s -9%
LP64 z3* ✅ 3s 3s +0%
poly_power2round LP64 bitwuzla ✅ 246s 253s -3%
LP64 z3* ✅ 2s 1s +100%
poly_reduce LP64 bitwuzla ✅ 7s 6s +17%
LP64 z3* ✅ 2s 2s +0%
poly_shiftl LP64 bitwuzla ✅ 11s 12s -8%
LP64 z3* ✅ 2s 3s -33%
poly_sub LP64 bitwuzla ✅ 13s 13s +0%
LP64 z3* ✅ 2s 2s +0%
poly_uniform LP64 bitwuzla ✅ 175s 176s -1%
LP64 z3* ✅ 2s 4s -50%
poly_uniform_4x LP64 cadical ✅ 5s 2s +150%
LP64 z3* ✅ 3s 2s +50%
poly_uniform_eta LP64 bitwuzla ✅ 74s 76s -3%
LP64 z3* ✅ 3s 2s +50%
poly_uniform_eta_4x LP64 cadical ✅ 61s 62s -2%
LP64 z3* ✅ 7s 7s +0%
poly_uniform_gamma1 LP64 cadical ✅ 2s 2s +0%
LP64 z3* ✅ 3s 2s +50%
poly_uniform_gamma1_4x LP64 cadical ✅ 2s 2s +0%
LP64 z3* ✅ 4s 3s +33%
poly_use_hint LP64 cvc5_mbqi_enum ✅ 25s 22s +14%
LP64 z3* ✅ 2s 2s +0%
poly_use_hint_c LP64 cvc5_enum_inst ✅ 11s 9s +22%
LP64 z3* ✅ 4s 4s +0%
poly_use_hint_native LP64 cvc5_mbqi_enum ✅ 87s 93s -6%
LP64 z3* ✅ 2s 4s -50%
poly_use_hint_native_aarch64 LP64 bitwuzla ✅ 29s 29s +0%
LP64 z3* ✅ 2s 1s +100%
poly_use_hint_native_riscv64 LP64 bitwuzla ✅ 3s - new
LP64 z3* ✅ 2s - new
poly_use_hint_native_x86_64 LP64 bitwuzla ✅ 28s 28s +0%
LP64 z3* ✅ 4s 3s +33%
polyeta_pack LP64 bitwuzla ✅ 4s 3s +33%
LP64 z3* ✅ 3s 3s +0%
polyeta_unpack LP64 bitwuzla ✅ 2s 2s +0%
LP64 z3* ✅ 11s 8s +38%
polyt0_pack LP64 bitwuzla ✅ 5s 3s +67%
LP64 z3* ✅ 3s 3s +0%
polyt0_unpack LP64 bitwuzla ✅ 2s 3s -33%
LP64 z3* ✅ 7s 10s -30%
polyt1_pack LP64 bitwuzla ✅ 5s 4s +25%
LP64 z3* ✅ 2s 3s -33%
polyt1_unpack LP64 bitwuzla ✅ 2s 1s +100%
LP64 z3* ✅ 3s 4s -25%
polyvec_matrix_expand LP64 z3_no_bv_extract* ✅ 3s 3s +0%
polyvec_matrix_expand_serial LP64 z3* ✅ 6s 2s +200%
polyvec_matrix_pointwise_montgomery_row LP64 cadical ✅ 54s 45s +20%
LP64 z3_no_bv_extract* ✅ 5s 5s +0%
polyvec_matrix_pointwise_montgomery_yvec LP64 cadical ✅ 1256s 1272s -1%
LP64 z3* ✅ 102s 101s +1%
polyveck_caddq LP64 cadical ✅ 1189s 1199s -1%
LP64 z3* ✅ 2s 2s +0%
polyveck_decompose_pack_w1 LP64 cadical ✅ 197s 200s -2%
LP64 z3* ✅ 3s 6s -50%
polyveck_invntt_tomont LP64 cadical ✅ 305s 309s -1%
LP64 z3* ✅ 5s 4s +25%
polyveck_ntt LP64 cadical ✅ 2s 1s +100%
LP64 z3* ✅ 2s 3s -33%
polyveck_reduce LP64 cadical ✅ 250s 257s -3%
LP64 z3* ✅ 3s 2s +50%
polyveck_unpack_eta LP64 cvc5_mbqi_enum ✅ 1s 2s -50%
LP64 z3* ✅ 4s 2s +100%
polyveck_unpack_eta_chknorm LP64 cvc5_mbqi_enum ✅ 19s 18s +6%
LP64 z3* ✅ 2s 1s +100%
polyvecl_chknorm LP64 cadical ✅ 136s 137s -1%
LP64 z3* ✅ 3s 5s -40%
polyvecl_ntt LP64 cadical ✅ 184s 187s -2%
LP64 z3* ✅ 3s 3s +0%
polyvecl_pointwise_acc_montgomery LP64 cvc5_mbqi_enum ✅ 2s 3s -33%
LP64 z3_smt_only* ✅ 2s 3s -33%
polyvecl_pointwise_acc_montgomery_c LP64 cadical ✅ 1s 3s -67%
LP64 z3_smt_only* ✅ 1s 3s -67%
polyvecl_pointwise_acc_montgomery_native LP64 cvc5_mbqi_enum ✅ 1s 2s -50%
LP64 z3_smt_only* ✅ 1s 2s -50%
polyvecl_uniform_gamma1 LP64 cvc5_mbqi_enum ✅ 4s 1s +300%
LP64 z3* ✅ 1s 1s +0%
polyvecl_uniform_gamma1_serial LP64 cvc5_mbqi_enum ✅ 3s 2s +50%
LP64 z3* ✅ 3s 3s +0%
polyvecl_unpack_eta LP64 cvc5_mbqi_enum ✅ 46s 49s -6%
LP64 z3* ✅ 2s 1s +100%
polyvecl_unpack_z LP64 cvc5_mbqi_enum ✅ 46s 46s +0%
LP64 z3* ✅ 1s 1s +0%
polyw1_pack LP64 bitwuzla ✅ 2s 4s -50%
LP64 z3* ✅ 4s 2s +100%
polyw1_pack_32 LP64 bitwuzla ✅ 1s 3s -67%
LP64 z3* ✅ 1s 2s -50%
polyw1_pack_88 LP64 bitwuzla ✅ 2s 4s -50%
LP64 z3* ✅ 4s 4s +0%
polyw1_unpack LP64 bitwuzla ✅ 3s 1s +200%
LP64 z3* ✅ 3s 2s +50%
polyw1_unpack_32 LP64 bitwuzla ✅ 3s 4s -25%
LP64 z3* ✅ 3s 3s +0%
polyw1_unpack_88 LP64 bitwuzla ✅ 2s 1s +100%
LP64 z3* ✅ 4s 2s +100%
polyz_pack LP64 bitwuzla ✅ 2s 2s +0%
LP64 z3* ✅ 2s 1s +100%
polyz_unpack LP64 bitwuzla ✅ 7s 6s +17%
LP64 z3* ✅ 2s 3s -33%
polyz_unpack_17_native_aarch64 LP64 bitwuzla ✅ 2s 4s -50%
LP64 z3* ✅ 3s 4s -25%
polyz_unpack_17_native_riscv64 LP64 bitwuzla ✅ 2s - new
LP64 z3* ✅ 4s - new
polyz_unpack_19_native_aarch64 LP64 bitwuzla ✅ 3s 2s +50%
LP64 z3* ✅ 1s 2s -50%
polyz_unpack_19_native_riscv64 LP64 bitwuzla ✅ 4s - new
LP64 z3* ✅ 2s - new
polyz_unpack_c LP64 bitwuzla ✅ 2s 1s +100%
LP64 z3* ✅ 3s 3s +0%
polyz_unpack_native LP64 bitwuzla ✅ 24s 24s +0%
LP64 z3* ✅ 4s 2s +100%
polyz_unpack_native_x86_64 LP64 bitwuzla ✅ 16s 14s +14%
LP64 z3* ✅ 3s 3s +0%
power2round LP64 bitwuzla ✅ 1s 2s -50%
LP64 z3* ✅ 3s 3s +0%
reduce32 LP64 bitwuzla ✅ 3s 2s +50%
LP64 z3* ✅ 3s 3s +0%
rej_eta LP64 bitwuzla* ✅ 2s 2s +0%
LP64 z3_smt_only ✅ 2s 3s -33%
rej_eta_c LP64 bitwuzla* ✅ 3s 1s +200%
LP64 z3 ✅ 12s 12s +0%
rej_eta_native LP64 bitwuzla* ✅ 3s 1s +200%
LP64 z3_smt_only ✅ 16s 16s +0%
rej_uniform LP64 bitwuzla ✅ 2s 3s -33%
LP64 z3* ✅ 7s 9s -22%
rej_uniform_c LP64 bitwuzla ✅ 2s 2s +0%
LP64 z3* ✅ 8s 7s +14%
rej_uniform_eta_native_aarch64 LP64 bitwuzla* ✅ 2s 3s -33%
LP64 z3_smt_only ✅ 1s 3s -67%
rej_uniform_eta_native_riscv64 LP64 bitwuzla* ✅ 5s - new
LP64 z3_smt_only ✅ 2s - new
rej_uniform_eta_native_x86_64 LP64 bitwuzla ✅ 2s 4s -50%
LP64 z3_smt_only* ✅ 2s 2s +0%
rej_uniform_native LP64 bitwuzla* ✅ 1s 4s -75%
LP64 z3_smt_only ✅ 10s 10s +0%
rej_uniform_native_aarch64 LP64 bitwuzla* ✅ 2s 2s +0%
LP64 z3_smt_only ✅ 2s 1s +100%
rej_uniform_native_riscv64 LP64 bitwuzla* ✅ 3s - new
LP64 z3_smt_only ✅ 2s - new
rej_uniform_native_x86_64 LP64 bitwuzla ✅ 3s 4s -25%
LP64 z3_smt_only* ✅ 7s 9s -22%
shake128_absorb LP64 cvc5_arrays_exp ✅ 5s 2s +150%
LP64 z3* ✅ 4s 1s +300%
shake128_finalize LP64 cvc5_arrays_exp ✅ 3s 2s +50%
LP64 z3* ✅ 2s 2s +0%
shake128_init LP64 bitwuzla ✅ 3s 2s +50%
LP64 z3* ✅ 2s 3s -33%
shake128_release LP64 bitwuzla ✅ 4s 2s +100%
LP64 z3* ✅ 2s 2s +0%
shake128_squeeze LP64 bitwuzla* ✅ 2s 2s +0%
LP64 cvc5_arrays_exp ✅ 1s 1s +0%
shake128x4_absorb_once LP64 bitwuzla* ✅ 3s 2s +50%
LP64 z3_smt_only ✅ 3s 1s +200%
shake128x4_squeezeblocks LP64 bitwuzla* ✅ 2s 2s +0%
LP64 z3 ✅ 1s 2s -50%
shake256 LP64 bitwuzla ✅ 2s 3s -33%
LP64 z3* ✅ 4s 1s +300%
shake256_absorb LP64 bitwuzla ✅ 2s 3s -33%
LP64 z3* ✅ 3s 2s +50%
shake256_finalize LP64 cvc5_arrays_exp ✅ 3s 4s -25%
LP64 z3* ✅ 4s 2s +100%
shake256_init LP64 cvc5_arrays_exp ✅ 3s 2s +50%
LP64 z3* ✅ 3s 2s +50%
shake256_release LP64 bitwuzla ✅ 2s 2s +0%
LP64 z3* ✅ 1s 2s -50%
shake256_squeeze LP64 bitwuzla* ✅ 2s 2s +0%
LP64 z3 ✅ 2s 2s +0%
shake256x4_absorb_once LP64 bitwuzla* ✅ 2s 3s -33%
LP64 z3 ✅ 2s 3s -33%
shake256x4_squeezeblocks LP64 bitwuzla* ✅ 1s 2s -50%
LP64 z3_smt_only ✅ 1s 3s -67%
sig_unpack_hints LP64 bitwuzla ✅ 24s 22s +9%
LP64 z3* ✅ 33s 37s -11%
sign_keypair LP64 cadical ✅ 513s 533s -4%
LP64 z3* ✅ 7s 6s +17%
sign_keypair_internal LP64 cadical ✅ 214s 217s -1%
LP64 z3_no_bv_extract* ✅ 18s 18s +0%
sign_pk_from_sk LP64 z3_no_bv_extract* ✅ 27s 25s +8%
sign_signature LP64 bitwuzla ✅ 5s 5s +0%
LP64 z3* ✅ 3s 3s +0%
sign_signature_extmu LP64 cadical ✅ 70s 54s +30%
LP64 z3* ✅ 2s 3s -33%
sign_signature_internal LP64 z3_no_bv_extract* ✅ 14s 13s +8%
sign_signature_pre_hash_internal LP64 bitwuzla ✅ 3s 5s -40%
LP64 z3* ✅ 2s 2s +0%
sign_signature_pre_hash_shake256 LP64 cadical ✅ 25s 23s +9%
LP64 z3* ✅ 5s 5s +0%
sign_verify LP64 bitwuzla ✅ 3s 2s +50%
LP64 z3* ✅ 4s 1s +300%
sign_verify_extmu LP64 bitwuzla ✅ 2s 3s -33%
LP64 z3* ✅ 4s 4s +0%
sign_verify_internal LP64 z3_no_bv_extract* ✅ 191s 189s +1%
sign_verify_pre_hash_internal LP64 bitwuzla ✅ 5s 3s +67%
LP64 z3* ✅ 4s 2s +100%
sign_verify_pre_hash_shake256 LP64 bitwuzla ✅ 2s 3s -33%
LP64 z3* ✅ 4s 6s -33%
sk_s1hat_get_poly LP64 bitwuzla ✅ 2s 4s -50%
LP64 z3* ✅ 2s 3s -33%
sk_s2hat_get_poly LP64 bitwuzla ✅ 3s 1s +200%
LP64 z3* ✅ 1s 1s +0%
sk_t0hat_get_poly LP64 bitwuzla ✅ 3s 3s +0%
LP64 z3* ✅ 1s 3s -67%
sys_check_capability LP64 cvc5_arrays_exp ✅ 2s 2s +0%
LP64 z3* ✅ 4s 3s +33%
unpack_pk_t1 LP64 bitwuzla ✅ 12s 13s -8%
LP64 z3* ✅ 4s 3s +33%
unpack_sk LP64 cadical ✅ 2s 2s +0%
LP64 z3* ✅ 2s 1s +100%
unpack_sk_s1hat LP64 cvc5_mbqi_enum ✅ 1s 2s -50%
LP64 z3* ✅ 1s 3s -67%
unpack_sk_s2hat LP64 cvc5_mbqi_enum ✅ 3s 2s +50%
LP64 z3* ✅ 4s 2s +100%
unpack_sk_t0hat LP64 cadical ✅ 2s 2s +0%
LP64 z3* ✅ 1s 1s +0%
use_hint LP64 bitwuzla ✅ 1s 2s -50%
LP64 z3* ✅ 2s 2s +0%
yvec_get_poly LP64 bitwuzla ✅ 6s 6s +0%
LP64 z3* ✅ 2s 4s -50%
yvec_init LP64 bitwuzla ✅ 2s 2s +0%
LP64 z3* ✅ 2s 2s +0%

@oqs-bot

oqs-bot commented Nov 6, 2026

Copy link
Copy Markdown
Contributor

CBMC Results (ML-DSA-87)

* default.

Full Results (461 configurations)
Proof DM Solver Status Current Previous Change
**TOTAL** - - ✅ 3522s 3521s +0.0%
caddq LP64 bitwuzla ✅ 2s 2s +0%
LP64 z3* ✅ 4s 2s +100%
compute_pack_t0_t1 LP64 z3_no_bv_extract* ✅ 173s 180s -4%
decompose LP64 bitwuzla ✅ 1s 4s -75%
LP64 z3* ✅ 1s 4s -75%
fqmul LP64 bitwuzla* ✅ 23s 24s -4%
LP64 z3_smt_only ✅ 20s 21s -5%
fqscale LP64 bitwuzla* ✅ 2s 2s +0%
LP64 z3 ✅ 1s 2s -50%
intt_native_aarch64 LP64 bitwuzla ✅ 22s 24s -8%
LP64 z3* ✅ 1s 4s -75%
intt_native_riscv64 LP64 bitwuzla ✅ 40s - new
LP64 z3* ✅ 2s - new
intt_native_rv32im_fastmul ILP32 z3* ✅ 2s 3s -33%
LP64 cvc5_mbqi_enum ✅ 8s 8s +0%
LP64 z3 ✅ 4s 2s +100%
intt_native_rv32im_slowmul ILP32 z3* ✅ 2s 2s +0%
LP64 cvc5_mbqi_enum ✅ 8s 8s +0%
LP64 z3 ✅ 2s 2s +0%
intt_native_x86_64 LP64 bitwuzla ✅ 17s 16s +6%
LP64 z3* ✅ 5s 4s +25%
keccak_absorb LP64 cvc5_arrays_exp ✅ 1s 1s +0%
LP64 z3* ✅ 6s 5s +20%
keccak_absorb_once_x4 LP64 bitwuzla* ✅ 5s 6s -17%
LP64 cvc5_arrays_exp ✅ 7s 9s -22%
keccak_f1600_x1_native_aarch64 LP64 bitwuzla* ✅ 2s 2s +0%
LP64 z3_no_bv_extract ✅ 1s 2s -50%
keccak_f1600_x1_native_aarch64_v84a LP64 bitwuzla* ✅ 4s 2s +100%
LP64 cvc5_arrays_exp ✅ 2s 1s +100%
keccak_f1600_x1_native_riscv64 LP64 bitwuzla* ✅ 1s - new
LP64 z3_no_bv_extract ✅ 3s - new
keccak_f1600_x4_native_aarch64_v84a LP64 bitwuzla* ✅ 3s 3s +0%
LP64 z3 ✅ 1s 1s +0%
keccak_f1600_x4_native_aarch64_v8a_scalar_hybrid LP64 bitwuzla* ✅ 3s 2s +50%
LP64 z3_smt_only ✅ 2s 3s -33%
keccak_f1600_x4_native_aarch64_v8a_v84a_scalar_hybrid LP64 bitwuzla* ✅ 1s 3s -67%
LP64 z3_smt_only ✅ 4s 2s +100%
keccak_f1600_x4_native_avx2 LP64 bitwuzla* ✅ 3s 3s +0%
LP64 cvc5_arrays_exp ✅ 2s 2s +0%
keccak_finalize LP64 cvc5_arrays_exp ✅ 1s 2s -50%
LP64 z3* ✅ 1s 2s -50%
keccak_init LP64 bitwuzla ✅ 1s 2s -50%
LP64 z3* ✅ 4s 1s +300%
keccak_squeeze LP64 bitwuzla* ✅ 3s 2s +50%
LP64 z3 ✅ 3s 1s +200%
keccak_squeezeblocks_x4 LP64 bitwuzla* ✅ 2s 2s +0%
LP64 z3 ✅ 2s 1s +100%
keccakf1600_extract_bytes (big endian) LP64 cvc5_arrays_exp ✅ 1s 1s +0%
LP64 z3* ✅ 2s 2s +0%
keccakf1600_permute LP64 bitwuzla ✅ 2s 1s +100%
LP64 z3* ✅ 2s 2s +0%
keccakf1600_permute_native LP64 bitwuzla ✅ 1s 2s -50%
LP64 z3* ✅ 1s 2s -50%
keccakf1600_xor_bytes LP64 bitwuzla* ✅ 2s 1s +100%
LP64 cvc5_arrays_exp ✅ 1s 3s -67%
keccakf1600_xor_bytes (big endian) LP64 bitwuzla* ✅ 4s 3s +33%
LP64 z3_smt_only ✅ 2s 3s -33%
keccakf1600x4_extract_bytes LP64 bitwuzla* ✅ 2s 2s +0%
LP64 z3 ✅ 2s 4s -50%
keccakf1600x4_extract_bytes_native LP64 bitwuzla* ✅ 2s 3s -33%
LP64 z3 ✅ 2s 4s -50%
keccakf1600x4_permute LP64 cvc5_arrays_exp ✅ 2s 2s +0%
LP64 z3* ✅ 3s 2s +50%
keccakf1600x4_permute_native LP64 cvc5_arrays_exp ✅ 13s 15s -13%
LP64 z3* ✅ 12s 14s -14%
keccakf1600x4_xor_bytes LP64 bitwuzla* ✅ 2s 3s -33%
LP64 cvc5_arrays_exp ✅ 3s 2s +50%
keccakf1600x4_xor_bytes_native LP64 bitwuzla* ✅ 1s 2s -50%
LP64 z3_no_bv_extract ✅ 4s 1s +300%
make_hint LP64 cvc5_arrays_exp ✅ 2s 2s +0%
LP64 z3* ✅ 2s 2s +0%
mld_attempt_signature_generation LP64 z3_no_bv_extract* ✅ 258s 263s -2%
mld_check_pct LP64 bitwuzla ✅ 4s 7s -43%
LP64 z3* ✅ 5s 7s -29%
mld_compute_pack_z LP64 cadical ✅ 82s 84s -2%
LP64 z3_no_bv_extract* ✅ 4s 7s -43%
mld_ct_abs_i32 ILP32 bitwuzla ✅ 2s 1s +100%
ILP32 cvc5_arrays_exp ✅ 2s 4s -50%
ILP32 z3 ✅ 2s 4s -50%
LP64 bitwuzla ✅ 3s 1s +200%
LP64 cvc5_arrays_exp ✅ 1s 3s -67%
LP64 z3* ✅ 4s 1s +300%
mld_ct_cmask_neg_i32 LP64 cvc5_arrays_exp ✅ 1s 2s -50%
LP64 z3* ✅ 1s 2s -50%
mld_ct_cmask_nonzero_u32 LP64 cvc5_arrays_exp ✅ 1s 2s -50%
LP64 z3* ✅ 2s 2s +0%
mld_ct_cmask_nonzero_u8 LP64 bitwuzla ✅ 2s 2s +0%
LP64 z3* ✅ 2s 1s +100%
mld_ct_get_optblocker_i64 LP64 bitwuzla ✅ 2s 1s +100%
LP64 z3* ✅ 2s 2s +0%
mld_ct_get_optblocker_u32 LP64 bitwuzla ✅ 1s 1s +0%
LP64 z3* ✅ 2s 2s +0%
mld_ct_get_optblocker_u8 LP64 bitwuzla* ✅ 1s 1s +0%
LP64 z3_smt_only ✅ 2s 1s +100%
mld_ct_memcmp LP64 bitwuzla* ✅ 1s 1s +0%
LP64 z3_no_bv_extract ✅ 46s 47s -2%
mld_ct_sel_int32 LP64 bitwuzla ✅ 2s 1s +100%
LP64 z3* ✅ 1s 1s +0%
mld_h LP64 bitwuzla ✅ 3s 3s +0%
LP64 z3* ✅ 1s 3s -67%
mld_invntt_layer LP64 bitwuzla* ✅ 65s 64s +2%
LP64 z3_smt_only ✅ 84s 85s -1%
mld_keccakf1600_extract_bytes LP64 bitwuzla ✅ 2s 3s -33%
LP64 z3* ✅ 4s 2s +100%
mld_keccakf1600_permute_c LP64 cvc5_arrays_exp ✅ 4s 5s -20%
LP64 z3* ✅ 5s 6s -17%
mld_keccakf1600x4_extract_bytes_c LP64 cvc5_arrays_exp ✅ 1s 1s +0%
LP64 z3* ✅ 2s 2s +0%
mld_keccakf1600x4_xor_bytes_c LP64 bitwuzla ✅ 1s 3s -67%
LP64 z3* ✅ 3s 2s +50%
mld_ntt_butterfly_block LP64 bitwuzla* ✅ 12s 14s -14%
LP64 z3_no_bv_extract ✅ 61s 57s +7%
mld_ntt_layer LP64 bitwuzla* ✅ 22s 24s -8%
LP64 z3_no_bv_extract ✅ 3s 3s +0%
mld_polymat_expand_entry LP64 bitwuzla ✅ 4s 5s -20%
LP64 z3* ✅ 2s 3s -33%
mld_prepare_domain_separation_prefix LP64 bitwuzla ✅ 3s 2s +50%
LP64 z3* ✅ 1s 2s -50%
mld_sample_pack_s1_s2 LP64 cadical ✅ 72s 71s +1%
LP64 z3* ✅ 6s 5s +20%
mld_sample_pack_s1_s2_serial LP64 cvc5_mbqi_enum ✅ 547s 541s +1%
LP64 z3* ✅ 4s 4s +0%
mld_sign_attempt LP64 cvc5_arrays_exp ✅ 3s 3s +0%
LP64 z3* ✅ 1s 1s +0%
mld_sign_finish LP64 bitwuzla ✅ 2s 2s +0%
LP64 z3* ✅ 3s 4s -25%
mld_sign_hook_resume LP64 bitwuzla ✅ 2s 3s -33%
LP64 z3* ✅ 2s 4s -50%
mld_value_barrier_i64 LP64 bitwuzla ✅ 1s 4s -75%
LP64 z3* ✅ 4s 3s +33%
mld_value_barrier_u32 LP64 bitwuzla ✅ 2s 4s -50%
LP64 z3* ✅ 2s 3s -33%
mld_value_barrier_u8 LP64 cvc5_arrays_exp ✅ 2s 1s +100%
LP64 z3* ✅ 3s 4s -25%
montgomery_reduce LP64 cvc5_arrays_exp ✅ 3s 4s -25%
LP64 z3* ✅ 3s 1s +200%
ntt_native_aarch64 LP64 bitwuzla ✅ 19s 21s -10%
LP64 z3* ✅ 2s 4s -50%
ntt_native_riscv64 LP64 bitwuzla ✅ 45s - new
LP64 z3* ✅ 2s - new
ntt_native_rv32im_fastmul ILP32 z3* ✅ 4s 4s +0%
LP64 cvc5_mbqi_enum ✅ 7s 6s +17%
LP64 z3 ✅ 1s 2s -50%
ntt_native_rv32im_slowmul ILP32 z3* ✅ 2s 2s +0%
LP64 cvc5_mbqi_enum ✅ 8s 7s +14%
LP64 z3 ✅ 2s 2s +0%
ntt_native_x86_64 LP64 bitwuzla ✅ 18s 19s -5%
LP64 z3* ✅ 2s 5s -60%
nttunpack_native_x86_64 LP64 bitwuzla ✅ 178s 173s +3%
LP64 z3* ✅ 3s 3s +0%
pack_sig_c LP64 cvc5_arrays_exp ✅ 5s 2s +150%
LP64 z3* ✅ 1s 3s -67%
pack_sig_h LP64 bitwuzla ✅ 3s 6s -50%
LP64 z3_no_bv_extract* ✅ 1s 3s -67%
pack_sig_z LP64 bitwuzla ✅ 1s 1s +0%
LP64 z3* ✅ 1s 1s +0%
pack_sk_rho_key_tr LP64 bitwuzla ✅ 1s 3s -67%
LP64 z3* ✅ 4s 5s -20%
pointwise_acc_native_aarch64 LP64 cadical ✅ 89s 87s +2%
LP64 z3_smt_only* ✅ 3s 6s -50%
pointwise_acc_native_riscv64 LP64 cadical ✅ 92s - new
LP64 z3_smt_only* ✅ 4s - new
pointwise_acc_native_x86_64 LP64 cadical ✅ 91s 87s +5%
LP64 z3_smt_only* ✅ 5s 5s +0%
pointwise_native_aarch64 LP64 bitwuzla ✅ 20s 20s +0%
LP64 z3* ✅ 2s 3s -33%
pointwise_native_riscv64 LP64 bitwuzla ✅ 2s - new
LP64 z3* ✅ 3s - new
pointwise_native_rv32im_fastmul ILP32 z3* ✅ 3s 2s +50%
LP64 cvc5_mbqi_enum ✅ 8s 7s +14%
LP64 z3 ✅ 2s 1s +100%
pointwise_native_rv32im_slowmul ILP32 z3* ✅ 2s 3s -33%
LP64 cvc5_mbqi_enum ✅ 8s 8s +0%
LP64 z3 ✅ 4s 3s +33%
pointwise_native_x86_64 LP64 bitwuzla ✅ 22s 22s +0%
LP64 z3* ✅ 1s 1s +0%
poly_add LP64 cadical ✅ 48s 46s +4%
LP64 z3* ✅ 12s 11s +9%
poly_caddq LP64 bitwuzla ✅ 6s 2s +200%
LP64 z3* ✅ 2s 2s +0%
poly_caddq_c LP64 bitwuzla ✅ 19s 18s +6%
LP64 z3* ✅ 6s 4s +50%
poly_caddq_native LP64 bitwuzla ✅ 105s 106s -1%
LP64 z3* ✅ 2s 4s -50%
poly_caddq_native_aarch64 LP64 cvc5_mbqi_enum ✅ 37s 34s +9%
LP64 z3* ✅ 3s 2s +50%
poly_caddq_native_riscv64 LP64 cvc5_mbqi_enum ✅ 25s - new
LP64 z3* ✅ 2s - new
poly_caddq_native_x86_64 LP64 bitwuzla ✅ 110s 110s +0%
LP64 z3* ✅ 3s 3s +0%
poly_challenge LP64 bitwuzla ✅ 33s 33s +0%
LP64 z3* ✅ 13s 12s +8%
poly_chknorm LP64 bitwuzla ✅ 2s 3s -33%
LP64 z3* ✅ 2s 2s +0%
poly_chknorm_c LP64 bitwuzla ✅ 8s 9s -11%
LP64 z3* ✅ 6s 8s -25%
poly_chknorm_native LP64 bitwuzla ✅ 6s 7s -14%
LP64 z3* ✅ 4s 2s +100%
poly_chknorm_native_aarch64 LP64 bitwuzla ✅ 2s 2s +0%
LP64 z3* ✅ 2s 2s +0%
poly_chknorm_native_riscv64 LP64 bitwuzla ✅ 3s - new
LP64 z3* ✅ 3s - new
poly_chknorm_native_x86_64 LP64 bitwuzla ✅ 1s 4s -75%
LP64 z3* ✅ 1s 3s -67%
poly_decompose LP64 bitwuzla ✅ 6s 3s +100%
LP64 z3* ✅ 2s 2s +0%
poly_decompose_32_native_aarch64 LP64 cadical ✅ 8s 9s -11%
LP64 z3* ✅ 5s 2s +150%
poly_decompose_32_native_riscv64 LP64 cadical ✅ 8s - new
LP64 z3* ✅ 3s - new
poly_decompose_88_native_aarch64 LP64 bitwuzla ✅ 3s 3s +0%
LP64 z3* ✅ 2s 2s +0%
poly_decompose_88_native_riscv64 LP64 bitwuzla ✅ 2s - new
LP64 z3* ✅ 3s - new
poly_decompose_c LP64 cvc5_mbqi_enum ✅ 215s 227s -5%
LP64 z3* ✅ 5s 4s +25%
poly_decompose_native LP64 cadical ✅ 16s 13s +23%
LP64 z3* ✅ 2s 6s -67%
poly_decompose_native_x86_64 LP64 cadical ✅ 9s 10s -10%
LP64 z3* ✅ 2s 2s +0%
poly_invntt_tomont LP64 bitwuzla ✅ 3s 6s -50%
LP64 z3* ✅ 1s 4s -75%
poly_invntt_tomont_c LP64 bitwuzla ✅ 128s 151s -15%
LP64 z3_smt_only* ✅ 2s 5s -60%
poly_invntt_tomont_native LP64 bitwuzla ✅ 43s 41s +5%
LP64 z3* ✅ 3s 2s +50%
poly_ntt LP64 bitwuzla ✅ 5s 5s +0%
LP64 z3* ✅ 1s 2s -50%
poly_ntt_c LP64 bitwuzla ✅ 44s 49s -10%
LP64 z3_smt_only* ✅ 8s 10s -20%
poly_ntt_native LP64 bitwuzla ✅ 24s 23s +4%
LP64 z3* ✅ 1s 1s +0%
poly_permute_bitrev_to_custom_optional LP64 bitwuzla ✅ 2s 3s -33%
LP64 z3* ✅ 2s 3s -33%
poly_permute_bitrev_to_custom_optional_native LP64 bitwuzla ✅ 2s 4s -50%
LP64 z3* ✅ 3s 3s +0%
poly_pointwise_montgomery LP64 bitwuzla ✅ 9s 9s +0%
LP64 z3* ✅ 3s 3s +0%
poly_pointwise_montgomery_c LP64 bitwuzla ✅ 183s 186s -2%
LP64 z3* ✅ 64s 61s +5%
poly_pointwise_montgomery_native LP64 cvc5_mbqi_enum ✅ 55s 52s +6%
LP64 z3* ✅ 2s 2s +0%
poly_power2round LP64 bitwuzla ✅ 298s 263s +13%
LP64 z3* ✅ 2s 5s -60%
poly_reduce LP64 bitwuzla ✅ 11s 6s +83%
LP64 z3* ✅ 4s 2s +100%
poly_shiftl LP64 bitwuzla ✅ 11s 15s -27%
LP64 z3* ✅ 3s 2s +50%
poly_sub LP64 bitwuzla ✅ 14s 14s +0%
LP64 z3* ✅ 2s 2s +0%
poly_uniform LP64 bitwuzla ✅ 175s 177s -1%
LP64 z3* ✅ 2s 3s -33%
poly_uniform_4x LP64 cadical ✅ 63s 59s +7%
LP64 z3* ✅ 7s 9s -22%
poly_uniform_eta LP64 bitwuzla ✅ 75s 76s -1%
LP64 z3* ✅ 2s 3s -33%
poly_uniform_eta_4x LP64 cadical ✅ 63s 62s +2%
LP64 z3* ✅ 11s 8s +38%
poly_uniform_gamma1 LP64 cadical ✅ 2s 2s +0%
LP64 z3* ✅ 2s 1s +100%
poly_uniform_gamma1_4x LP64 cadical ✅ 11s 11s +0%
LP64 z3* ✅ 2s 6s -67%
poly_use_hint LP64 cvc5_mbqi_enum ✅ 23s 22s +5%
LP64 z3* ✅ 2s 2s +0%
poly_use_hint_c LP64 cvc5_enum_inst ✅ 11s 11s +0%
LP64 z3* ✅ 5s 4s +25%
poly_use_hint_native LP64 cvc5_mbqi_enum ✅ 94s 90s +4%
LP64 z3* ✅ 1s 1s +0%
poly_use_hint_native_aarch64 LP64 bitwuzla ✅ 28s 29s -3%
LP64 z3* ✅ 2s 2s +0%
poly_use_hint_native_riscv64 LP64 bitwuzla ✅ 2s - new
LP64 z3* ✅ 2s - new
poly_use_hint_native_x86_64 LP64 bitwuzla ✅ 26s 28s -7%
LP64 z3* ✅ 2s 2s +0%
polyeta_pack LP64 bitwuzla ✅ 9s 5s +80%
LP64 z3* ✅ 2s 3s -33%
polyeta_unpack LP64 bitwuzla ✅ 2s 2s +0%
LP64 z3* ✅ 8s 8s +0%
polyt0_pack LP64 bitwuzla ✅ 3s 3s +0%
LP64 z3* ✅ 1s 3s -67%
polyt0_unpack LP64 bitwuzla ✅ 4s 2s +100%
LP64 z3* ✅ 10s 9s +11%
polyt1_pack LP64 bitwuzla ✅ 2s 3s -33%
LP64 z3* ✅ 2s 3s -33%
polyt1_unpack LP64 bitwuzla ✅ 4s 5s -20%
LP64 z3* ✅ 4s 5s -20%
polyvec_matrix_expand LP64 z3_no_bv_extract* ✅ 81s 81s +0%
polyvec_matrix_expand_serial LP64 z3* ✅ 24s 28s -14%
polyvec_matrix_pointwise_montgomery_row LP64 cadical ✅ 590s 582s +1%
LP64 z3_no_bv_extract* ✅ 1s 2s -50%
polyvec_matrix_pointwise_montgomery_yvec LP64 cadical ✅ 772s 756s +2%
LP64 z3* ✅ 4s 6s -33%
polyveck_caddq LP64 cadical ✅ 1204s 1195s +1%
LP64 z3* ✅ 2s 4s -50%
polyveck_decompose_pack_w1 LP64 cadical ✅ 207s 199s +4%
LP64 z3* ✅ 5s 4s +25%
polyveck_invntt_tomont LP64 cadical ✅ 308s 305s +1%
LP64 z3* ✅ 1s 2s -50%
polyveck_ntt LP64 cadical ✅ 1074s 1100s -2%
LP64 z3* ✅ 3s 2s +50%
polyveck_reduce LP64 cadical ✅ 4s 1s +300%
LP64 z3* ✅ 3s 2s +50%
polyveck_unpack_eta LP64 cvc5_mbqi_enum ✅ 54s 55s -2%
LP64 z3* ✅ 2s 2s +0%
polyveck_unpack_eta_chknorm LP64 cvc5_mbqi_enum ✅ 18s 18s +0%
LP64 z3* ✅ 4s 3s +33%
polyvecl_chknorm LP64 cadical ✅ 156s 135s +16%
LP64 z3* ✅ 3s 6s -50%
polyvecl_ntt LP64 cadical ✅ 194s 182s +7%
LP64 z3* ✅ 3s 3s +0%
polyvecl_pointwise_acc_montgomery LP64 cvc5_mbqi_enum ✅ 14s 15s -7%
LP64 z3_smt_only* ✅ 2s 2s +0%
polyvecl_pointwise_acc_montgomery_c LP64 cadical ✅ 152s 155s -2%
LP64 z3_smt_only* ✅ 1031s 1021s +1%
polyvecl_pointwise_acc_montgomery_native LP64 cvc5_mbqi_enum ✅ 167s 172s -3%
LP64 z3_smt_only* ✅ 2s 3s -33%
polyvecl_uniform_gamma1 LP64 cvc5_mbqi_enum ✅ 79s 78s +1%
LP64 z3* ✅ 6s 3s +100%
polyvecl_uniform_gamma1_serial LP64 cvc5_mbqi_enum ✅ 48s 46s +4%
LP64 z3* ✅ 4s 3s +33%
polyvecl_unpack_eta LP64 cvc5_mbqi_enum ✅ 46s 44s +5%
LP64 z3* ✅ 3s 1s +200%
polyvecl_unpack_z LP64 cvc5_mbqi_enum ✅ 48s 46s +4%
LP64 z3* ✅ 3s 4s -25%
polyw1_pack LP64 bitwuzla ✅ 2s 2s +0%
LP64 z3* ✅ 2s 3s -33%
polyw1_pack_32 LP64 bitwuzla ✅ 2s 3s -33%
LP64 z3* ✅ 2s 1s +100%
polyw1_pack_88 LP64 bitwuzla ✅ 2s 3s -33%
LP64 z3* ✅ 3s 1s +200%
polyw1_unpack LP64 bitwuzla ✅ 1s 2s -50%
LP64 z3* ✅ 3s 2s +50%
polyw1_unpack_32 LP64 bitwuzla ✅ 3s 2s +50%
LP64 z3* ✅ 4s 2s +100%
polyw1_unpack_88 LP64 bitwuzla ✅ 2s 2s +0%
LP64 z3* ✅ 1s 2s -50%
polyz_pack LP64 bitwuzla ✅ 4s 2s +100%
LP64 z3* ✅ 3s 2s +50%
polyz_unpack LP64 bitwuzla ✅ 6s 6s +0%
LP64 z3* ✅ 4s 3s +33%
polyz_unpack_17_native_aarch64 LP64 bitwuzla ✅ 4s 2s +100%
LP64 z3* ✅ 2s 4s -50%
polyz_unpack_17_native_riscv64 LP64 bitwuzla ✅ 3s - new
LP64 z3* ✅ 1s - new
polyz_unpack_19_native_aarch64 LP64 bitwuzla ✅ 3s 3s +0%
LP64 z3* ✅ 1s 2s -50%
polyz_unpack_19_native_riscv64 LP64 bitwuzla ✅ 1s - new
LP64 z3* ✅ 3s - new
polyz_unpack_c LP64 bitwuzla ✅ 2s 1s +100%
LP64 z3* ✅ 7s 9s -22%
polyz_unpack_native LP64 bitwuzla ✅ 25s 22s +14%
LP64 z3* ✅ 1s 2s -50%
polyz_unpack_native_x86_64 LP64 bitwuzla ✅ 14s 16s -12%
LP64 z3* ✅ 1s 4s -75%
power2round LP64 bitwuzla ✅ 2s 1s +100%
LP64 z3* ✅ 4s 3s +33%
reduce32 LP64 bitwuzla ✅ 3s 3s +0%
LP64 z3* ✅ 3s 3s +0%
rej_eta LP64 bitwuzla* ✅ 1s 2s -50%
LP64 z3_smt_only ✅ 2s 3s -33%
rej_eta_c LP64 bitwuzla* ✅ 2s 2s +0%
LP64 z3 ✅ 15s 16s -6%
rej_eta_native LP64 bitwuzla* ✅ 2s 2s +0%
LP64 z3_smt_only ✅ 15s 15s +0%
rej_uniform LP64 bitwuzla ✅ 1s 2s -50%
LP64 z3* ✅ 9s 9s +0%
rej_uniform_c LP64 bitwuzla ✅ 1s 1s +0%
LP64 z3* ✅ 12s 13s -8%
rej_uniform_eta_native_aarch64 LP64 bitwuzla* ✅ 3s 3s +0%
LP64 z3_smt_only ✅ 2s 3s -33%
rej_uniform_eta_native_riscv64 LP64 bitwuzla* ✅ 4s - new
LP64 z3_smt_only ✅ 3s - new
rej_uniform_eta_native_x86_64 LP64 bitwuzla ✅ 1s 4s -75%
LP64 z3_smt_only* ✅ 4s 2s +100%
rej_uniform_native LP64 bitwuzla* ✅ 4s 5s -20%
LP64 z3_smt_only ✅ 9s 11s -18%
rej_uniform_native_aarch64 LP64 bitwuzla* ✅ 3s 1s +200%
LP64 z3_smt_only ✅ 2s 3s -33%
rej_uniform_native_riscv64 LP64 bitwuzla* ✅ 2s - new
LP64 z3_smt_only ✅ 2s - new
rej_uniform_native_x86_64 LP64 bitwuzla ✅ 4s 3s +33%
LP64 z3_smt_only* ✅ 11s 10s +10%
shake128_absorb LP64 cvc5_arrays_exp ✅ 2s 2s +0%
LP64 z3* ✅ 2s 3s -33%
shake128_finalize LP64 cvc5_arrays_exp ✅ 2s 2s +0%
LP64 z3* ✅ 1s 3s -67%
shake128_init LP64 bitwuzla ✅ 2s 1s +100%
LP64 z3* ✅ 3s 3s +0%
shake128_release LP64 bitwuzla ✅ 3s 2s +50%
LP64 z3* ✅ 3s 2s +50%
shake128_squeeze LP64 bitwuzla* ✅ 1s 2s -50%
LP64 cvc5_arrays_exp ✅ 2s 2s +0%
shake128x4_absorb_once LP64 bitwuzla* ✅ 3s 2s +50%
LP64 z3_smt_only ✅ 2s 2s +0%
shake128x4_squeezeblocks LP64 bitwuzla* ✅ 2s 2s +0%
LP64 z3 ✅ 2s 1s +100%
shake256 LP64 bitwuzla ✅ 2s 1s +100%
LP64 z3* ✅ 2s 1s +100%
shake256_absorb LP64 bitwuzla ✅ 3s 2s +50%
LP64 z3* ✅ 2s 2s +0%
shake256_finalize LP64 cvc5_arrays_exp ✅ 2s 2s +0%
LP64 z3* ✅ 3s 3s +0%
shake256_init LP64 cvc5_arrays_exp ✅ 1s 2s -50%
LP64 z3* ✅ 1s 2s -50%
shake256_release LP64 bitwuzla ✅ 1s 4s -75%
LP64 z3* ✅ 2s 2s +0%
shake256_squeeze LP64 bitwuzla* ✅ 1s 2s -50%
LP64 z3 ✅ 2s 3s -33%
shake256x4_absorb_once LP64 bitwuzla* ✅ 1s 3s -67%
LP64 z3 ✅ 2s 1s +100%
shake256x4_squeezeblocks LP64 bitwuzla* ✅ 2s 3s -33%
LP64 z3_smt_only ✅ 1s 2s -50%
sig_unpack_hints LP64 bitwuzla ✅ 25s 22s +14%
LP64 z3* ✅ 17s 14s +21%
sign_keypair LP64 cadical ✅ 592s 515s +15%
LP64 z3* ✅ 6s 4s +50%
sign_keypair_internal LP64 cadical ✅ 240s 214s +12%
LP64 z3_no_bv_extract* ✅ 25s 25s +0%
sign_pk_from_sk LP64 z3_no_bv_extract* ✅ 27s 28s -4%
sign_signature LP64 bitwuzla ✅ 4s 4s +0%
LP64 z3* ✅ 2s 3s -33%
sign_signature_extmu LP64 cadical ✅ 57s 50s +14%
LP64 z3* ✅ 3s 4s -25%
sign_signature_internal LP64 z3_no_bv_extract* ✅ 248s 242s +2%
sign_signature_pre_hash_internal LP64 bitwuzla ✅ 3s 5s -40%
LP64 z3* ✅ 5s 2s +150%
sign_signature_pre_hash_shake256 LP64 cadical ✅ 22s 22s +0%
LP64 z3* ✅ 7s 5s +40%
sign_verify LP64 bitwuzla ✅ 2s 4s -50%
LP64 z3* ✅ 5s 3s +67%
sign_verify_extmu LP64 bitwuzla ✅ 3s 5s -40%
LP64 z3* ✅ 3s 3s +0%
sign_verify_internal LP64 z3_no_bv_extract* ✅ 809s 798s +1%
sign_verify_pre_hash_internal LP64 bitwuzla ✅ 3s 4s -25%
LP64 z3* ✅ 2s 5s -60%
sign_verify_pre_hash_shake256 LP64 bitwuzla ✅ 2s 3s -33%
LP64 z3* ✅ 4s 6s -33%
sk_s1hat_get_poly LP64 bitwuzla ✅ 33s 31s +6%
LP64 z3* ✅ 4s 2s +100%
sk_s2hat_get_poly LP64 bitwuzla ✅ 34s 32s +6%
LP64 z3* ✅ 2s 4s -50%
sk_t0hat_get_poly LP64 bitwuzla ✅ 32s 33s -3%
LP64 z3* ✅ 2s 2s +0%
sys_check_capability LP64 cvc5_arrays_exp ✅ 2s 6s -67%
LP64 z3* ✅ 2s 3s -33%
unpack_pk_t1 LP64 bitwuzla ✅ 12s 11s +9%
LP64 z3* ✅ 2s 2s +0%
unpack_sk LP64 cadical ✅ 64s 64s +0%
LP64 z3* ✅ 3s 4s -25%
unpack_sk_s1hat LP64 cvc5_mbqi_enum ✅ 86s 87s -1%
LP64 z3* ✅ 3s 2s +50%
unpack_sk_s2hat LP64 cvc5_mbqi_enum ✅ 307s 299s +3%
LP64 z3* ✅ 1s 2s -50%
unpack_sk_t0hat LP64 cadical ✅ 112s 115s -3%
LP64 z3* ✅ 2s 4s -50%
use_hint LP64 bitwuzla ✅ 2s 3s -33%
LP64 z3* ✅ 3s 2s +50%
yvec_get_poly LP64 bitwuzla ✅ 38s 35s +9%
LP64 z3* ✅ 2s 2s +0%
yvec_init LP64 bitwuzla ✅ 16s 16s +0%
LP64 z3* ✅ 1s 2s -50%

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants