Test results for amd64, freshwrap,big, crypto_kem/mceliece8192128f
[Page version: 20260116 15:36:10]
Measurements for amd64, freshwrap,big, crypto_kem
Test results for amd64, freshwrap,big, crypto_kem
Test results for crypto_kem/mceliece8192128f
Computer: freshwrap,big
Microarchitecture: amd64; Raptor Cove (b06a2-40)
Architecture: amd64
CPU ID: GenuineIntel-000b06a2-40-bfebfbff
SUPERCOP version: 20251222
Operation: crypto_kem
Primitive: mceliece8192128f
| Time | Object size | Test size | Implementation | Compiler | Benchmark date | SUPERCOP version |
| 389633 | 158103 0 0 | 204636 844 1832 | avx | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260111 | 20251222 |
| 439538 | 149675 0 0 | 194940 788 1800 | avx | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260111 | 20251222 |
| 440285 | 136973 0 0 | 183492 844 1832 | avx | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260111 | 20251222 |
| 462988 | 97271 0 0 | 140094 828 1832 | avx | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260111 | 20251222 |
| 464782 | 102717 0 0 | 146044 788 1800 | avx | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260111 | 20251222 |
| 466676 | 101644 0 0 | 144172 836 1768 | avx | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260111 | 20251222 |
| 539113 | 140039 0 0 | 191572 828 1832 | sse | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260111 | 20251222 |
| 545527 | 123032 0 0 | 174556 828 1832 | sse | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260111 | 20251222 |
| 548423 | 190519 0 0 | 242420 788 1800 | sse | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260111 | 20251222 |
| 573128 | 86106 0 0 | 134998 820 1832 | sse | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260111 | 20251222 |
| 581157 | 98588 0 0 | 148468 788 1800 | sse | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260111 | 20251222 |
| 635876 | 92723 0 0 | 140348 828 1768 | sse | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260111 | 20251222 |
| 799521 | 99578 0 0 | 142852 788 1800 | avx | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260111 | 20251222 |
| 808830 | 92916 0 0 | 134315 780 1768 | avx | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260111 | 20251222 |
| 1182043 | 103870 0 0 | 158116 788 1800 | vec | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260111 | 20251222 |
| 1755387 | 60472 0 0 | 112428 836 1768 | vec | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260111 | 20251222 |
| 1781251 | 92448 0 0 | 148364 828 1832 | vec | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260111 | 20251222 |
| 1791012 | 96990 0 0 | 154812 828 1768 | vec | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260111 | 20251222 |
| 1812701 | 108931 0 0 | 162940 828 1832 | vec | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260111 | 20251222 |
| 2049105 | 66404 0 0 | 118892 788 1800 | vec | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260111 | 20251222 |
| 2171397 | 58815 0 0 | 110894 828 1832 | vec | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260111 | 20251222 |
| 2536376 | 51499 0 0 | 102355 780 1768 | vec | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260111 | 20251222 |
| 2759490 | 62768 0 0 | 115220 788 1800 | vec | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260111 | 20251222 |
| 122410241 | 89253 0 0 | 138868 788 1800 | sse | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260111 | 20251222 |
| 122436047 | 83283 0 0 | 131171 780 1768 | sse | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260111 | 20251222 |
| 315886743 | 46894 0 0 | 94182 836 1768 | ref | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260111 | 20251222 |
| 317529973 | 48955 0 0 | 94124 828 1832 | ref | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260111 | 20251222 |
| 317826369 | 29757 0 0 | 75084 828 1832 | ref | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260111 | 20251222 |
| 340984179 | 15511 0 0 | 57064 828 1832 | ref | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260111 | 20251222 |
| 386281992 | 17875 0 0 | 59726 796 1800 | ref | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260111 | 20251222 |
| 407951171 | 11645 0 0 | 51469 788 1768 | ref | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260111 | 20251222 |
| 411533891 | 15567 0 0 | 57036 788 1800 | ref | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260111 | 20251222 |
| 419245112 | 36473 0 0 | 80254 796 1800 | ref | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260111 | 20251222 |
| 422322134 | 15259 0 0 | 56148 828 1768 | ref | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260111 | 20251222 |
Compiler output
bm.c: bm.c:82:37: warning: AVX vector return of type 'vec256' (aka '__m256i') without 'avx' enabled changes the ABI [-Wpsabi]
bm.c: 82 | for (i = 13; i < 16; i++) buf[i] = vec256_setzero();
bm.c: | ^
bm.c: bm.c:84:15: warning: AVX vector return of type 'vec256' (aka '__m256i') without 'avx' enabled changes the ABI [-Wpsabi]
bm.c: 84 | mask[0][0] = vec256_set1_16b(0x5555);
bm.c: | ^
bm.c: bm.c:85:15: warning: AVX vector return of type 'vec256' (aka '__m256i') without 'avx' enabled changes the ABI [-Wpsabi]
bm.c: 85 | mask[0][1] = vec256_set1_16b(0xAAAA);
bm.c: | ^
bm.c: bm.c:86:15: warning: AVX vector return of type 'vec256' (aka '__m256i') without 'avx' enabled changes the ABI [-Wpsabi]
bm.c: 86 | mask[1][0] = vec256_set1_16b(0x3333);
bm.c: | ^
bm.c: bm.c:87:15: warning: AVX vector return of type 'vec256' (aka '__m256i') without 'avx' enabled changes the ABI [-Wpsabi]
bm.c: 87 | mask[1][1] = vec256_set1_16b(0xCCCC);
bm.c: | ^
bm.c: bm.c:88:15: warning: AVX vector return of type 'vec256' (aka '__m256i') without 'avx' enabled changes the ABI [-Wpsabi]
bm.c: 88 | mask[2][0] = vec256_set1_16b(0x0F0F);
bm.c: | ^
bm.c: bm.c:89:15: warning: AVX vector return of type 'vec256' (aka '__m256i') without 'avx' enabled changes the ABI [-Wpsabi]
bm.c: 89 | mask[2][1] = vec256_set1_16b(0xF0F0);
bm.c: | ^
bm.c: bm.c:90:15: warning: AVX vector return of type 'vec256' (aka '__m256i') without 'avx' enabled changes the ABI [-Wpsabi]
bm.c: 90 | mask[3][0] = vec256_set1_16b(0x00FF);
bm.c: | ^
bm.c: bm.c:91:15: warning: AVX vector return of type 'vec256' (aka '__m256i') without 'avx' enabled changes the ABI [-Wpsabi]
bm.c: ...
Number of similar (implementation,compiler) pairs: 1, namely:
| Implementation | Compiler |
| avx | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_19.1.7_(3+b1)) |
Compiler output
decrypt.c: In file included from decrypt.c:10:
decrypt.c: In file included from ./vec128_gf.h:11:
decrypt.c: ./vec128.h:38:9: error: always_inline function '_mm_testz_si128' requires target feature 'sse4.1', but would be inlined into function 'vec128_testz' that is compiled without support for 'sse4.1'
decrypt.c: 38 | return _mm_testz_si128(a, a);
decrypt.c: | ^
decrypt.c: 1 error generated.
Number of similar (implementation,compiler) pairs: 1, namely:
| Implementation | Compiler |
| sse | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_19.1.7_(3+b1)) |
TIMECOP error (can be valgrind bug)
error 132
Process terminating with default action of signal 4 (SIGILL)
Illegal opcode at address 0x11687D
at 0x...: weight (decrypt.c:91)
by 0x...: crypto_kem_mceliece8192128f_avx_constbranchindex_decrypt (decrypt.c:199)
by 0x...: crypto_kem_mceliece8192128f_avx_constbranchindex_operation_dec (kem_dec.c:38)
by 0x...: test (try.c:160)
by 0x...: main (try-anything.c:345)
Illegal instruction
Number of similar (implementation,compiler) pairs: 1, namely:
| Implementation | Compiler |
| avx | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_19.1.7_(3+b1)) |
TIMECOP error (can be valgrind bug)
error 132
Process terminating with default action of signal 4 (SIGILL)
Illegal opcode at address 0x118511
at 0x...: weight (decrypt.c:91)
by 0x...: crypto_kem_mceliece8192128f_avx_constbranchindex_decrypt (decrypt.c:199)
by 0x...: crypto_kem_mceliece8192128f_avx_constbranchindex_operation_dec (kem_dec.c:38)
by 0x...: test (try.c:160)
by 0x...: main (try-anything.c:345)
Illegal instruction
Number of similar (implementation,compiler) pairs: 1, namely:
| Implementation | Compiler |
| avx | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_19.1.7_(3+b1)) |
TIMECOP error (can be valgrind bug)
error 132
Process terminating with default action of signal 4 (SIGILL)
Illegal opcode at address 0x111028
at 0x...: weight (decrypt.c:91)
by 0x...: crypto_kem_mceliece8192128f_avx_constbranchindex_decrypt (decrypt.c:199)
by 0x...: crypto_kem_mceliece8192128f_avx_constbranchindex_operation_dec (kem_dec.c:38)
by 0x...: test (try.c:160)
by 0x...: main (try-anything.c:345)
Illegal instruction
Number of similar (implementation,compiler) pairs: 1, namely:
| Implementation | Compiler |
| avx | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_19.1.7_(3+b1)) |
TIMECOP error (can be valgrind bug)
error 132
Process terminating with default action of signal 4 (SIGILL)
Illegal opcode at address 0x10CC24
at 0x...: crypto_kem_mceliece8192128f_ref_constbranchindex_bitrev (util.c:67)
by 0x...: crypto_kem_mceliece8192128f_ref_constbranchindex_pk_gen (pk_gen.c:145)
by 0x...: crypto_kem_mceliece8192128f_ref_constbranchindex_operation_keypair (kem_keypair.c:74)
by 0x...: crypto_kem_mceliece8192128f_ref_constbranchindex_keypair (wrap_keypair.c:10)
by 0x...: test (try.c:126)
by 0x...: main (try-anything.c:345)
Illegal instruction
Number of similar (implementation,compiler) pairs: 1, namely:
| Implementation | Compiler |
| ref | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_19.1.7_(3+b1)) |
TIMECOP error (can be valgrind bug)
error 132
Process terminating with default action of signal 4 (SIGILL)
Illegal opcode at address 0x10D3A4
at 0x...: crypto_kem_mceliece8192128f_ref_constbranchindex_bitrev (util.c:67)
by 0x...: crypto_kem_mceliece8192128f_ref_constbranchindex_pk_gen (pk_gen.c:145)
by 0x...: crypto_kem_mceliece8192128f_ref_constbranchindex_operation_keypair (kem_keypair.c:74)
by 0x...: crypto_kem_mceliece8192128f_ref_constbranchindex_keypair (wrap_keypair.c:10)
by 0x...: test (try.c:126)
by 0x...: main (try-anything.c:345)
Illegal instruction
Number of similar (implementation,compiler) pairs: 1, namely:
| Implementation | Compiler |
| ref | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_19.1.7_(3+b1)) |
TIMECOP error (can be valgrind bug)
error 132
Process terminating with default action of signal 4 (SIGILL)
Illegal opcode at address 0x10B9C4
at 0x...: crypto_kem_mceliece8192128f_ref_constbranchindex_bitrev (util.c:67)
by 0x...: crypto_kem_mceliece8192128f_ref_constbranchindex_pk_gen (pk_gen.c:145)
by 0x...: crypto_kem_mceliece8192128f_ref_constbranchindex_operation_keypair (kem_keypair.c:74)
by 0x...: crypto_kem_mceliece8192128f_ref_constbranchindex_keypair (wrap_keypair.c:10)
by 0x...: test (try.c:126)
by 0x...: main (try-anything.c:345)
Illegal instruction
Number of similar (implementation,compiler) pairs: 1, namely:
| Implementation | Compiler |
| ref | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_19.1.7_(3+b1)) |
TIMECOP error (can be valgrind bug)
error 132
Process terminating with default action of signal 4 (SIGILL)
Illegal opcode at address 0x10B949
at 0x...: crypto_kem_mceliece8192128f_ref_constbranchindex_bitrev (util.c:67)
by 0x...: crypto_kem_mceliece8192128f_ref_constbranchindex_pk_gen (pk_gen.c:145)
by 0x...: crypto_kem_mceliece8192128f_ref_constbranchindex_operation_keypair (kem_keypair.c:74)
by 0x...: crypto_kem_mceliece8192128f_ref_constbranchindex_keypair (wrap_keypair.c:10)
by 0x...: test (try.c:126)
by 0x...: main (try-anything.c:345)
Illegal instruction
Number of similar (implementation,compiler) pairs: 1, namely:
| Implementation | Compiler |
| ref | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_19.1.7_(3+b1)) |
TIMECOP error (can be valgrind bug)
error 132
Process terminating with default action of signal 4 (SIGILL)
Illegal opcode at address 0x115A58
at 0x...: weight (decrypt.c:88)
by 0x...: crypto_kem_mceliece8192128f_sse_constbranchindex_decrypt (decrypt.c:160)
by 0x...: crypto_kem_mceliece8192128f_sse_constbranchindex_operation_dec (kem_dec.c:38)
by 0x...: test (try.c:160)
by 0x...: main (try-anything.c:345)
Illegal instruction
Number of similar (implementation,compiler) pairs: 1, namely:
| Implementation | Compiler |
| sse | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_19.1.7_(3+b1)) |
TIMECOP error (can be valgrind bug)
error 132
Process terminating with default action of signal 4 (SIGILL)
Illegal opcode at address 0x117418
at 0x...: weight (decrypt.c:88)
by 0x...: crypto_kem_mceliece8192128f_sse_constbranchindex_decrypt (decrypt.c:160)
by 0x...: crypto_kem_mceliece8192128f_sse_constbranchindex_operation_dec (kem_dec.c:38)
by 0x...: test (try.c:160)
by 0x...: main (try-anything.c:345)
Illegal instruction
Number of similar (implementation,compiler) pairs: 1, namely:
| Implementation | Compiler |
| sse | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_19.1.7_(3+b1)) |
TIMECOP error (can be valgrind bug)
error 132
Process terminating with default action of signal 4 (SIGILL)
Illegal opcode at address 0x11096A
at 0x...: weight (decrypt.c:88)
by 0x...: crypto_kem_mceliece8192128f_sse_constbranchindex_decrypt (decrypt.c:160)
by 0x...: crypto_kem_mceliece8192128f_sse_constbranchindex_operation_dec (kem_dec.c:38)
by 0x...: test (try.c:160)
by 0x...: main (try-anything.c:345)
Illegal instruction
Number of similar (implementation,compiler) pairs: 1, namely:
| Implementation | Compiler |
| sse | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_19.1.7_(3+b1)) |
TIMECOP error (can be valgrind bug)
error 132
Process terminating with default action of signal 4 (SIGILL)
Illegal opcode at address 0x10AB8F
at 0x...: main (try-anything.c:369)
Illegal instruction
Number of similar (implementation,compiler) pairs: 1, namely:
| Implementation | Compiler |
| vec | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_19.1.7_(3+b1)) |
TIMECOP error (can be valgrind bug)
error 132
Process terminating with default action of signal 4 (SIGILL)
Illegal opcode at address 0x10AB9F
at 0x...: main (try-anything.c:369)
Illegal instruction
Number of similar (implementation,compiler) pairs: 1, namely:
| Implementation | Compiler |
| vec | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_19.1.7_(3+b1)) |
TIMECOP error (can be valgrind bug)
error 132
Process terminating with default action of signal 4 (SIGILL)
Illegal opcode at address 0x10A455
at 0x...: main (try-anything.c:369)
Illegal instruction
Number of similar (implementation,compiler) pairs: 1, namely:
| Implementation | Compiler |
| vec | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_19.1.7_(3+b1)) |
Passed TIMECOP
TIMECOP iterations: 1
Number of similar (implementation,compiler) pairs: 21, namely:
| Implementation | Compiler |
| avx | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_19.1.7_(3+b1)) |
| avx | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.0) |
| avx | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.0) |
| avx | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.0) |
| avx | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.0) |
| ref | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_19.1.7_(3+b1)) |
| ref | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.0) |
| ref | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.0) |
| ref | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.0) |
| ref | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.0) |
| sse | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_19.1.7_(3+b1)) |
| sse | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.0) |
| sse | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.0) |
| sse | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.0) |
| sse | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.0) |
| vec | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_19.1.7_(3+b1)) |
| vec | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_19.1.7_(3+b1)) |
| vec | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.0) |
| vec | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.0) |
| vec | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.0) |
| vec | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.0) |