Benchmark
incremental/QF_ABVFP/20210211-Vector/Railway_C/39d43e60.smt2
These benchmarks were generated using VectorCAST's [1] automated test-case
generation capability, an industrial symbolic execution engine targeted towards
generating high-coverage test-suites for safety-critical C and C++.
While VectorCAST can target multiple SMT solvers via a generic Python API, it
does not support generating SMTLIB2 files directly. Consequently, these
benchmarks were obtained using Z3's [2] 'smtlib2_log' [3] facility to capture
all interactions between VectorCAST and the SMT solver, including all push/pop
commands.
The input to the test-case generator was:
* A *C* file,
* which came from project from the *Railway* market
[1] https://www.vector.com/int/en/products/products-a-z/software/vectorcast
[2] Leonardo de Moura, Nikolaj Bjorner (2008), "Z3: An Efficient SMT Solver".
In: Proceedings of TACAS 2008.
[3] Z3 4.8.7 release notes:
https://raw.githubusercontent.com/Z3Prover/z3/master/RELEASE_NOTES
| Benchmark |
| Size | 221203 |
| Compressed Size | 5654 |
| License |
Creative Commons Attribution 4.0 International
(CC-BY-4.0)
|
| Category | industrial |
| First Occurrence | 2021-07-18 |
| Generated By | Andrew V. Jones (andrew.jones@vector.com) |
| Generated On | 2021-02-11 00:00:00 |
| Generator | VectorCAST 2020sp6, ATG 2.0c-pre |
| Dolmen OK | 1 |
| strict Dolmen OK | 1 |
| check-sat calls | 32 |
| Status | unknown |
| Inferred Status | None |
| Size | 2135 |
| Compressed Size | 1117 |
| Max. Term Depth | 9 |
| Asserts | 1 |
| Declared Functions | 0 |
| Declared Constants | 1 |
| Declared Sorts | 0 |
| Defined Functions | 0 |
| Defined Recursive Functions | 0 |
| Defined Sorts | 0 |
| Constants | 0 |
| Declared Datatypes | 0 |
Symbols
and | 1 |
distinct | 2 |
let | 3 |
extract | 1 |
bvnot | 1 |
bvadd | 1 |
zero_extend | 1 |
select | 4 |
store | 6 |
| | | | | |
| Status | unknown |
| Inferred Status | None |
| Size | 3573 |
| Compressed Size | 1262 |
| Max. Term Depth | 10 |
| Asserts | 2 |
| Declared Functions | 0 |
| Declared Constants | 1 |
| Declared Sorts | 0 |
| Defined Functions | 0 |
| Defined Recursive Functions | 0 |
| Defined Sorts | 0 |
| Constants | 0 |
| Declared Datatypes | 0 |
Symbols
ite | 1 |
and | 2 |
distinct | 5 |
let | 7 |
extract | 3 |
bvnot | 3 |
bvadd | 4 |
bvult | 1 |
zero_extend | 3 |
select | 18 |
store | 20 |
| |
| Status | unknown |
| Inferred Status | None |
| Size | 5598 |
| Compressed Size | 1405 |
| Max. Term Depth | 14 |
| Asserts | 3 |
| Declared Functions | 0 |
| Declared Constants | 1 |
| Declared Sorts | 0 |
| Defined Functions | 0 |
| Defined Recursive Functions | 0 |
| Defined Sorts | 0 |
| Constants | 0 |
| Declared Datatypes | 0 |
Symbols
ite | 3 |
and | 3 |
distinct | 8 |
let | 15 |
extract | 4 |
bvnot | 5 |
bvadd | 10 |
bvult | 3 |
zero_extend | 5 |
select | 38 |
store | 40 |
| |
| Status | unknown |
| Inferred Status | None |
| Size | 7989 |
| Compressed Size | 1539 |
| Max. Term Depth | 17 |
| Asserts | 4 |
| Declared Functions | 0 |
| Declared Constants | 1 |
| Declared Sorts | 0 |
| Defined Functions | 0 |
| Defined Recursive Functions | 0 |
| Defined Sorts | 0 |
| Constants | 0 |
| Declared Datatypes | 0 |
Symbols
ite | 6 |
and | 4 |
distinct | 11 |
let | 25 |
extract | 5 |
bvnot | 6 |
bvadd | 19 |
bvult | 6 |
zero_extend | 7 |
select | 64 |
store | 62 |
| |
| Status | unknown |
| Inferred Status | None |
| Size | 10902 |
| Compressed Size | 1703 |
| Max. Term Depth | 19 |
| Asserts | 5 |
| Declared Functions | 0 |
| Declared Constants | 2 |
| Declared Sorts | 0 |
| Defined Functions | 0 |
| Defined Recursive Functions | 0 |
| Defined Sorts | 0 |
| Constants | 0 |
| Declared Datatypes | 0 |
Symbols
ite | 10 |
and | 5 |
= | 1 |
distinct | 14 |
let | 37 |
extract | 6 |
bvnot | 7 |
bvadd | 31 |
bvult | 10 |
zero_extend | 9 |
select | 98 |
store | 86 |
to_fp | 1 |
| | | | | |
| Status | unknown |
| Inferred Status | None |
| Size | 14227 |
| Compressed Size | 1797 |
| Max. Term Depth | 21 |
| Asserts | 6 |
| Declared Functions | 0 |
| Declared Constants | 3 |
| Declared Sorts | 0 |
| Defined Functions | 0 |
| Defined Recursive Functions | 0 |
| Defined Sorts | 0 |
| Constants | 0 |
| Declared Datatypes | 0 |
Symbols
ite | 15 |
and | 6 |
= | 2 |
distinct | 17 |
let | 51 |
extract | 7 |
bvnot | 8 |
bvadd | 46 |
bvult | 15 |
zero_extend | 11 |
select | 140 |
store | 112 |
to_fp | 2 |
| | | | | |
| Status | unknown |
| Inferred Status | None |
| Size | 17964 |
| Compressed Size | 1907 |
| Max. Term Depth | 23 |
| Asserts | 7 |
| Declared Functions | 0 |
| Declared Constants | 4 |
| Declared Sorts | 0 |
| Defined Functions | 0 |
| Defined Recursive Functions | 0 |
| Defined Sorts | 0 |
| Constants | 0 |
| Declared Datatypes | 0 |
Symbols
ite | 21 |
and | 7 |
= | 3 |
distinct | 20 |
let | 67 |
extract | 8 |
bvnot | 9 |
bvadd | 64 |
bvult | 21 |
zero_extend | 13 |
select | 190 |
store | 140 |
to_fp | 3 |
| | | | | |
| Status | unknown |
| Inferred Status | None |
| Size | 22113 |
| Compressed Size | 2028 |
| Max. Term Depth | 25 |
| Asserts | 8 |
| Declared Functions | 0 |
| Declared Constants | 5 |
| Declared Sorts | 0 |
| Defined Functions | 0 |
| Defined Recursive Functions | 0 |
| Defined Sorts | 0 |
| Constants | 0 |
| Declared Datatypes | 0 |
Symbols
ite | 28 |
and | 8 |
= | 4 |
distinct | 23 |
let | 85 |
extract | 9 |
bvnot | 10 |
bvadd | 85 |
bvult | 28 |
zero_extend | 15 |
select | 248 |
store | 170 |
to_fp | 4 |
| | | | | |
| Status | unknown |
| Inferred Status | None |
| Size | 26674 |
| Compressed Size | 2134 |
| Max. Term Depth | 27 |
| Asserts | 9 |
| Declared Functions | 0 |
| Declared Constants | 6 |
| Declared Sorts | 0 |
| Defined Functions | 0 |
| Defined Recursive Functions | 0 |
| Defined Sorts | 0 |
| Constants | 0 |
| Declared Datatypes | 0 |
Symbols
ite | 36 |
and | 9 |
= | 5 |
distinct | 26 |
let | 105 |
extract | 10 |
bvnot | 11 |
bvadd | 109 |
bvult | 36 |
zero_extend | 17 |
select | 314 |
store | 202 |
to_fp | 5 |
| | | | | |
| Status | unknown |
| Inferred Status | None |
| Size | 31537 |
| Compressed Size | 2265 |
| Max. Term Depth | 29 |
| Asserts | 10 |
| Declared Functions | 0 |
| Declared Constants | 6 |
| Declared Sorts | 0 |
| Defined Functions | 0 |
| Defined Recursive Functions | 0 |
| Defined Sorts | 0 |
| Constants | 0 |
| Declared Datatypes | 0 |
Symbols
ite | 45 |
and | 10 |
= | 5 |
distinct | 29 |
let | 127 |
extract | 11 |
bvnot | 12 |
bvadd | 136 |
bvult | 45 |
zero_extend | 19 |
select | 388 |
store | 236 |
to_fp | 5 |
| | | | | |
| Status | unknown |
| Inferred Status | None |
| Size | 36812 |
| Compressed Size | 2325 |
| Max. Term Depth | 31 |
| Asserts | 11 |
| Declared Functions | 0 |
| Declared Constants | 6 |
| Declared Sorts | 0 |
| Defined Functions | 0 |
| Defined Recursive Functions | 0 |
| Defined Sorts | 0 |
| Constants | 0 |
| Declared Datatypes | 0 |
Symbols
ite | 55 |
and | 11 |
= | 5 |
distinct | 32 |
let | 151 |
extract | 12 |
bvnot | 13 |
bvadd | 166 |
bvult | 55 |
zero_extend | 21 |
select | 470 |
store | 272 |
to_fp | 5 |
| | | | | |
| Status | unknown |
| Inferred Status | None |
| Size | 42618 |
| Compressed Size | 2434 |
| Max. Term Depth | 32 |
| Asserts | 12 |
| Declared Functions | 0 |
| Declared Constants | 6 |
| Declared Sorts | 0 |
| Defined Functions | 0 |
| Defined Recursive Functions | 0 |
| Defined Sorts | 0 |
| Constants | 0 |
| Declared Datatypes | 0 |
Symbols
ite | 66 |
and | 12 |
= | 5 |
distinct | 35 |
let | 177 |
extract | 13 |
bvnot | 15 |
bvadd | 199 |
bvult | 66 |
zero_extend | 23 |
select | 564 |
store | 311 |
to_fp | 5 |
| | | | | |
| Status | unknown |
| Inferred Status | None |
| Size | 48796 |
| Compressed Size | 2495 |
| Max. Term Depth | 35 |
| Asserts | 13 |
| Declared Functions | 0 |
| Declared Constants | 6 |
| Declared Sorts | 0 |
| Defined Functions | 0 |
| Defined Recursive Functions | 0 |
| Defined Sorts | 0 |
| Constants | 0 |
| Declared Datatypes | 0 |
Symbols
ite | 78 |
and | 13 |
= | 5 |
distinct | 38 |
let | 205 |
extract | 14 |
bvnot | 16 |
bvadd | 235 |
bvult | 78 |
zero_extend | 25 |
select | 664 |
store | 352 |
to_fp | 5 |
| | | | | |
| Status | unknown |
| Inferred Status | None |
| Size | 55400 |
| Compressed Size | 2579 |
| Max. Term Depth | 37 |
| Asserts | 14 |
| Declared Functions | 0 |
| Declared Constants | 6 |
| Declared Sorts | 0 |
| Defined Functions | 0 |
| Defined Recursive Functions | 0 |
| Defined Sorts | 0 |
| Constants | 0 |
| Declared Datatypes | 0 |
Symbols
ite | 91 |
and | 14 |
= | 5 |
distinct | 41 |
let | 235 |
extract | 15 |
bvnot | 17 |
bvadd | 274 |
bvult | 91 |
zero_extend | 28 |
select | 772 |
store | 395 |
to_fp | 5 |
| | | | | |
| Status | unknown |
| Inferred Status | None |
| Size | 62416 |
| Compressed Size | 2641 |
| Max. Term Depth | 39 |
| Asserts | 15 |
| Declared Functions | 0 |
| Declared Constants | 6 |
| Declared Sorts | 0 |
| Defined Functions | 0 |
| Defined Recursive Functions | 0 |
| Defined Sorts | 0 |
| Constants | 0 |
| Declared Datatypes | 0 |
Symbols
ite | 105 |
and | 15 |
= | 5 |
distinct | 44 |
let | 267 |
extract | 16 |
bvnot | 18 |
bvadd | 316 |
bvult | 105 |
zero_extend | 31 |
select | 888 |
store | 440 |
to_fp | 5 |
| | | | | |
| Status | unknown |
| Inferred Status | None |
| Size | 69858 |
| Compressed Size | 2706 |
| Max. Term Depth | 41 |
| Asserts | 16 |
| Declared Functions | 0 |
| Declared Constants | 6 |
| Declared Sorts | 0 |
| Defined Functions | 0 |
| Defined Recursive Functions | 0 |
| Defined Sorts | 0 |
| Constants | 0 |
| Declared Datatypes | 0 |
Symbols
ite | 120 |
and | 16 |
= | 5 |
distinct | 47 |
let | 301 |
extract | 17 |
bvnot | 19 |
bvadd | 361 |
bvult | 120 |
zero_extend | 35 |
select | 1012 |
store | 487 |
to_fp | 5 |
| | | | | |
| Status | unknown |
| Inferred Status | None |
| Size | 77726 |
| Compressed Size | 2778 |
| Max. Term Depth | 43 |
| Asserts | 17 |
| Declared Functions | 0 |
| Declared Constants | 6 |
| Declared Sorts | 0 |
| Defined Functions | 0 |
| Defined Recursive Functions | 0 |
| Defined Sorts | 0 |
| Constants | 0 |
| Declared Datatypes | 0 |
Symbols
ite | 136 |
and | 17 |
= | 5 |
distinct | 50 |
let | 337 |
extract | 18 |
bvnot | 20 |
bvadd | 409 |
bvult | 136 |
zero_extend | 40 |
select | 1144 |
store | 536 |
to_fp | 5 |
| | | | | |
| Status | unknown |
| Inferred Status | None |
| Size | 86020 |
| Compressed Size | 2833 |
| Max. Term Depth | 45 |
| Asserts | 18 |
| Declared Functions | 0 |
| Declared Constants | 6 |
| Declared Sorts | 0 |
| Defined Functions | 0 |
| Defined Recursive Functions | 0 |
| Defined Sorts | 0 |
| Constants | 0 |
| Declared Datatypes | 0 |
Symbols
ite | 153 |
and | 18 |
= | 5 |
distinct | 53 |
let | 375 |
extract | 19 |
bvnot | 21 |
bvadd | 460 |
bvult | 153 |
zero_extend | 46 |
select | 1284 |
store | 587 |
to_fp | 5 |
| | | | | |
| Status | unknown |
| Inferred Status | None |
| Size | 94740 |
| Compressed Size | 2892 |
| Max. Term Depth | 47 |
| Asserts | 19 |
| Declared Functions | 0 |
| Declared Constants | 6 |
| Declared Sorts | 0 |
| Defined Functions | 0 |
| Defined Recursive Functions | 0 |
| Defined Sorts | 0 |
| Constants | 0 |
| Declared Datatypes | 0 |
Symbols
ite | 171 |
and | 19 |
= | 5 |
distinct | 56 |
let | 415 |
extract | 20 |
bvnot | 22 |
bvadd | 514 |
bvult | 171 |
zero_extend | 53 |
select | 1432 |
store | 640 |
to_fp | 5 |
| | | | | |
| Status | unknown |
| Inferred Status | None |
| Size | 103886 |
| Compressed Size | 2966 |
| Max. Term Depth | 49 |
| Asserts | 20 |
| Declared Functions | 0 |
| Declared Constants | 6 |
| Declared Sorts | 0 |
| Defined Functions | 0 |
| Defined Recursive Functions | 0 |
| Defined Sorts | 0 |
| Constants | 0 |
| Declared Datatypes | 0 |
Symbols
ite | 190 |
and | 20 |
= | 5 |
distinct | 59 |
let | 457 |
extract | 21 |
bvnot | 23 |
bvadd | 571 |
bvult | 190 |
zero_extend | 61 |
select | 1588 |
store | 695 |
to_fp | 5 |
| | | | | |
| Status | unknown |
| Inferred Status | None |
| Size | 113568 |
| Compressed Size | 3270 |
| Max. Term Depth | 51 |
| Asserts | 21 |
| Declared Functions | 0 |
| Declared Constants | 7 |
| Declared Sorts | 0 |
| Defined Functions | 0 |
| Defined Recursive Functions | 0 |
| Defined Sorts | 0 |
| Constants | 0 |
| Declared Datatypes | 0 |
Symbols
ite | 210 |
and | 21 |
= | 6 |
distinct | 62 |
let | 501 |
extract | 22 |
bvnot | 24 |
bvadd | 631 |
bvult | 210 |
zero_extend | 70 |
select | 1752 |
store | 752 |
to_fp | 6 |
| | | | | |
| Status | unknown |
| Inferred Status | None |
| Size | 123662 |
| Compressed Size | 3361 |
| Max. Term Depth | 53 |
| Asserts | 22 |
| Declared Functions | 0 |
| Declared Constants | 8 |
| Declared Sorts | 0 |
| Defined Functions | 0 |
| Defined Recursive Functions | 0 |
| Defined Sorts | 0 |
| Constants | 0 |
| Declared Datatypes | 0 |
Symbols
ite | 231 |
and | 22 |
= | 7 |
distinct | 65 |
let | 547 |
extract | 23 |
bvnot | 25 |
bvadd | 694 |
bvult | 231 |
zero_extend | 79 |
select | 1924 |
store | 811 |
to_fp | 7 |
| | | | | |
| Status | unknown |
| Inferred Status | None |
| Size | 134058 |
| Compressed Size | 3485 |
| Max. Term Depth | 55 |
| Asserts | 23 |
| Declared Functions | 0 |
| Declared Constants | 8 |
| Declared Sorts | 0 |
| Defined Functions | 0 |
| Defined Recursive Functions | 0 |
| Defined Sorts | 0 |
| Constants | 0 |
| Declared Datatypes | 0 |
Symbols
ite | 253 |
and | 23 |
= | 7 |
distinct | 68 |
let | 595 |
extract | 24 |
bvnot | 26 |
bvadd | 760 |
bvult | 253 |
zero_extend | 88 |
select | 2104 |
store | 872 |
to_fp | 7 |
| | | | | |
| Status | unknown |
| Inferred Status | None |
| Size | 144881 |
| Compressed Size | 3552 |
| Max. Term Depth | 57 |
| Asserts | 24 |
| Declared Functions | 0 |
| Declared Constants | 8 |
| Declared Sorts | 0 |
| Defined Functions | 0 |
| Defined Recursive Functions | 0 |
| Defined Sorts | 0 |
| Constants | 0 |
| Declared Datatypes | 0 |
Symbols
ite | 276 |
and | 24 |
= | 7 |
distinct | 71 |
let | 645 |
extract | 25 |
bvnot | 27 |
bvadd | 829 |
bvult | 276 |
zero_extend | 98 |
select | 2292 |
store | 935 |
to_fp | 7 |
| | | | | |
| Status | unknown |
| Inferred Status | None |
| Size | 156131 |
| Compressed Size | 3642 |
| Max. Term Depth | 59 |
| Asserts | 25 |
| Declared Functions | 0 |
| Declared Constants | 8 |
| Declared Sorts | 0 |
| Defined Functions | 0 |
| Defined Recursive Functions | 0 |
| Defined Sorts | 0 |
| Constants | 0 |
| Declared Datatypes | 0 |
Symbols
ite | 300 |
and | 25 |
= | 7 |
distinct | 74 |
let | 697 |
extract | 26 |
bvnot | 28 |
bvadd | 901 |
bvult | 300 |
zero_extend | 109 |
select | 2488 |
store | 1000 |
to_fp | 7 |
| | | | | |
| Status | unknown |
| Inferred Status | None |
| Size | 167808 |
| Compressed Size | 3691 |
| Max. Term Depth | 61 |
| Asserts | 26 |
| Declared Functions | 0 |
| Declared Constants | 8 |
| Declared Sorts | 0 |
| Defined Functions | 0 |
| Defined Recursive Functions | 0 |
| Defined Sorts | 0 |
| Constants | 0 |
| Declared Datatypes | 0 |
Symbols
ite | 325 |
and | 26 |
= | 7 |
distinct | 77 |
let | 751 |
extract | 27 |
bvnot | 29 |
bvadd | 976 |
bvult | 325 |
zero_extend | 121 |
select | 2692 |
store | 1067 |
to_fp | 7 |
| | | | | |
| Status | unknown |
| Inferred Status | None |
| Size | 168035 |
| Compressed Size | 3751 |
| Max. Term Depth | 61 |
| Asserts | 27 |
| Declared Functions | 0 |
| Declared Constants | 9 |
| Declared Sorts | 0 |
| Defined Functions | 0 |
| Defined Recursive Functions | 0 |
| Defined Sorts | 0 |
| Constants | 0 |
| Declared Datatypes | 0 |
Symbols
ite | 326 |
and | 26 |
= | 8 |
distinct | 78 |
let | 751 |
extract | 27 |
bvnot | 29 |
bvadd | 976 |
bvult | 325 |
zero_extend | 122 |
select | 2692 |
store | 1067 |
to_fp | 7 |
| | | | | |
| Status | unknown |
| Inferred Status | None |
| Size | 180416 |
| Compressed Size | 4686 |
| Max. Term Depth | 62 |
| Asserts | 28 |
| Declared Functions | 0 |
| Declared Constants | 10 |
| Declared Sorts | 0 |
| Defined Functions | 0 |
| Defined Recursive Functions | 0 |
| Defined Sorts | 0 |
| Constants | 0 |
| Declared Datatypes | 0 |
Symbols
ite | 353 |
and | 27 |
= | 8 |
distinct | 79 |
let | 807 |
extract | 28 |
bvnot | 30 |
bvadd | 1056 |
bvult | 351 |
bvule | 1 |
zero_extend | 134 |
select | 2903 |
store | 1138 |
to_fp | 7 |
| | | |
| Status | unknown |
| Inferred Status | None |
| Size | 193733 |
| Compressed Size | 4888 |
| Max. Term Depth | 66 |
| Asserts | 29 |
| Declared Functions | 0 |
| Declared Constants | 10 |
| Declared Sorts | 0 |
| Defined Functions | 0 |
| Defined Recursive Functions | 0 |
| Defined Sorts | 0 |
| Constants | 0 |
| Declared Datatypes | 0 |
Symbols
ite | 381 |
and | 28 |
= | 8 |
distinct | 83 |
let | 867 |
extract | 31 |
bvnot | 33 |
bvadd | 1148 |
bvult | 378 |
bvule | 3 |
zero_extend | 148 |
select | 3123 |
store | 1210 |
to_fp | 7 |
| | | |
| Status | unknown |
| Inferred Status | None |
| Size | 207615 |
| Compressed Size | 5031 |
| Max. Term Depth | 70 |
| Asserts | 30 |
| Declared Functions | 0 |
| Declared Constants | 10 |
| Declared Sorts | 0 |
| Defined Functions | 0 |
| Defined Recursive Functions | 0 |
| Defined Sorts | 0 |
| Constants | 0 |
| Declared Datatypes | 0 |
Symbols
ite | 410 |
and | 29 |
= | 8 |
distinct | 87 |
let | 931 |
extract | 34 |
bvnot | 36 |
bvadd | 1248 |
bvult | 406 |
bvule | 5 |
zero_extend | 162 |
select | 3348 |
store | 1283 |
to_fp | 7 |
| | | |
| Status | unknown |
| Inferred Status | None |
| Size | 220901 |
| Compressed Size | 5514 |
| Max. Term Depth | 70 |
| Asserts | 31 |
| Declared Functions | 0 |
| Declared Constants | 10 |
| Declared Sorts | 0 |
| Defined Functions | 0 |
| Defined Recursive Functions | 0 |
| Defined Sorts | 0 |
| Constants | 0 |
| Declared Datatypes | 0 |
Symbols
ite | 439 |
not | 1 |
and | 30 |
= | 8 |
distinct | 88 |
let | 995 |
extract | 34 |
bvnot | 36 |
bvadd | 1343 |
bvult | 434 |
bvule | 6 |
zero_extend | 172 |
select | 3569 |
store | 1356 |
to_fp | 7 |
| |
| Status | unknown |
| Inferred Status | None |
| Size | 207655 |
| Compressed Size | 5035 |
| Max. Term Depth | 70 |
| Asserts | 30 |
| Declared Functions | 0 |
| Declared Constants | 10 |
| Declared Sorts | 0 |
| Defined Functions | 0 |
| Defined Recursive Functions | 0 |
| Defined Sorts | 0 |
| Constants | 0 |
| Declared Datatypes | 0 |
Symbols
ite | 410 |
and | 29 |
= | 8 |
distinct | 87 |
let | 931 |
extract | 34 |
bvnot | 36 |
bvadd | 1248 |
bvult | 406 |
bvule | 5 |
zero_extend | 162 |
select | 3348 |
store | 1283 |
to_fp | 7 |
| | | |